[go: up one dir, main page]

CN1833399B - Ryan Doll block cipher device and its encryption/decryption method - Google Patents

Ryan Doll block cipher device and its encryption/decryption method Download PDF

Info

Publication number
CN1833399B
CN1833399B CN2004800224469A CN200480022446A CN1833399B CN 1833399 B CN1833399 B CN 1833399B CN 2004800224469 A CN2004800224469 A CN 2004800224469A CN 200480022446 A CN200480022446 A CN 200480022446A CN 1833399 B CN1833399 B CN 1833399B
Authority
CN
China
Prior art keywords
bit
round
bit data
input
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2004800224469A
Other languages
Chinese (zh)
Other versions
CN1833399A (en
Inventor
李允京
朴永秀
金荣世
李尚佑
全星翼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Priority claimed from PCT/KR2004/001296 external-priority patent/WO2004112309A1/en
Publication of CN1833399A publication Critical patent/CN1833399A/en
Application granted granted Critical
Publication of CN1833399B publication Critical patent/CN1833399B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

公开了包括操作单元的rijndael块密码装置及其加密/解密方法,其为加密/解密rijndael块密码高效地执行回合操作。rijndael块密码装置安装在移动终端如蜂窝电话和PDA或智能卡中,该移动终端要求高速度和小尺寸的密码处理器,并且可以高速地加密和解密要求安全性的重要数据,并且关于从128比特输入数据分割的高64比特和低64比特执行回合操作。因此,该密码装置可以减少加密/解密rijndael块密码要求的时间和装置的大小。

Figure 200480022446

Disclosed are a rijndael block cipher apparatus including an operation unit and an encryption/decryption method thereof, which efficiently perform round operations for encryption/decryption of the rijndael block cipher. The rijndael block cipher device is installed in mobile terminals such as cellular phones and PDAs or smart cards, which require high-speed and small-sized cryptographic processors, and can encrypt and decrypt important data requiring security at high speed, and about from 128 bits The upper 64 bits and lower 64 bits of the input data split perform round operations. Therefore, the cryptographic device can reduce the time required to encrypt/decrypt the rijndael block cipher and the size of the device.

Figure 200480022446

Description

瑞恩多尔块密码装置及其加密/解密方法 Ryan Doll block cipher device and its encryption/decryption method

技术领域technical field

本发明一般涉及瑞恩多尔(rijndael)块密码(cipher)装置及其加密/解密方法,尤其涉及安装在蜂窝电话、PDA、智能卡等中并且能够高速加密和解密要求安全的重要数据的rijndael块密码装置及其加密/解密方法。The present invention generally relates to a rijndael block cipher (cipher) device and an encryption/decryption method thereof, and more particularly to a rijndael block installed in a cellular phone, a PDA, a smart card, etc. and capable of high-speed encryption and decryption of important data requiring security A cryptographic device and an encryption/decryption method thereof.

背景技术Background technique

Rijndael算法是由比利时加密开发者Joan Daemen和Vincent Rijmen开发的一种对称密钥加密算法,然后由美国NIST(国家标准与技术机构)在2000年10月或其前后选择作为新的AES(高级加密标准)。The Rijndael algorithm is a symmetric key encryption algorithm developed by Belgian encryption developers Joan Daemen and Vincent Rijmen, and then selected by the US NIST (National Institute of Standards and Technology) as the new AES (Advanced Encryption) in or around October 2000 standard).

rijndael算法支持SPN(代替-置换网络)结构的可变块长度,并且使得能够关于各块长度使用128比特、192比特和256比特密钥。The rijndael algorithm supports variable block lengths of the SPN (Substitution-Permutation Network) structure, and enables the use of 128-bit, 192-bit, and 256-bit keys with respect to each block length.

rijndael算法中回合(round)的数由密钥长度确定,并且在使用128比特块的情况下,关于128比特、192比特和256比特密钥分别推荐使用10、12和14回合。The number of rounds in the rijndael algorithm is determined by the key length, and where 128-bit blocks are used, 10, 12, and 14 rounds are recommended for 128-bit, 192-bit, and 256-bit keys, respectively.

最近已知,即使使用128比特密钥,rijndael算法也不产生安全问题,因此,对使用具有128比特长度的密钥的rijndael算法的硬件实现的研究已经在进行中。It has recently been known that the rijndael algorithm does not pose a security problem even if a key of 128 bits is used, and therefore, research on hardware implementation of the rijndael algorithm using a key having a length of 128 bits has been underway.

因为rijndael算法通过重复回合操作加密/解密用于rijndael块加密/解密的数据,并且特别为支持SPN结构的可变块长度而提供,rijndael块密码的加密过程不同于其解密过程。通常,用于rijndael块密码的加密过程的回合操作包含四个变换:置换(substitution)、行移位(shift_row)、混合列(mixcolumn)和加回合密钥(add-round-key),而用于解密过程的回合操作包含四个变换:反行移位、反置换、加回合密钥和反混合列。根据执行这些变换的方法,用于rijndael块密码的回合操作需要的时间和要使用的硬件资源不同,而进一步执行变换的方法对rijndael密码处理器的性能至关重要。因此,重要的是降低实现回合操作要求的硬件资源的数量和执行回合操作要求的时间。Because the rijndael algorithm encrypts/decrypts data used for rijndael block encryption/decryption by repeated round operations, and is specially provided to support variable block lengths of the SPN structure, the encryption process of the rijndael block cipher is different from its decryption process. Usually, the round operation for the encryption process of the rijndael block cipher contains four transformations: substitution (substitution), row shift (shift_row), mix column (mixcolumn) and add round key (add-round-key), and use The round operation in the decryption process consists of four transformations: inverse row shift, inverse permutation, addition of round key and unmix column. Depending on the method of performing these transformations, round operations for the rijndael block cipher require different times and hardware resources to be used, and the method of further performing transformations is critical to the performance of the rijndael cipher processor. Therefore, it is important to reduce the amount of hardware resources required to implement round operations and the time required to perform round operations.

发明内容Contents of the invention

因此,申请人已经开发了包括操作单元的rijndael块密码装置及其加密/解密方法,该操作单元有效地执行用于加密/解密rijndael块密码的回合操作。Accordingly, the applicant has developed a rijndael block cipher device and an encryption/decryption method including an operation unit that efficiently performs round operations for encrypting/decrypting the rijndael block cipher.

本发明的目的是解决现有技术中涉及的问题并提供一种rijndael块密码装置及其加密/解密方法,该装置安装在移动终端如蜂窝电话以及PDA或智能卡中,它要求高速率和小尺寸的密码处理器,并且它能够高速加密和解密要求安全性的重要数据。The object of the present invention is to solve the problems involved in the prior art and provide a rijndael block cipher device and its encryption/decryption method, which is installed in mobile terminals such as cellular phones and PDAs or smart cards, which require high speed and small size cryptography processor, and it is capable of high-speed encryption and decryption of important data requiring security.

为了实现上述目的,根据本发明实施例的rijndael块密码装置包含:回合操作单元,用于将128比特输入密钥转换为用于加密或解密的128比特回合密钥,并且从输入加密或解密操作开始信号和模式信号之后输入回合操作开始信号、回合数信号和比特选择信号用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特时,根据模式信号的值存储128比特回合密钥,通过将128比特输入数据分割为高64比特和低64比特,并且通过分别对分割的高64比特和低64比特执行包含行移位、置换、混合列和加回合密钥变换的回合操作,来加密128比特输入数据,并且通过将128比特输入数据分割为高64比特和低64比特,并且通过分别对分割的高64比特和低64比特执行包含反行移位、反置换、加回合密钥和反列混合变换的回合操作,来解密128比特输入数据;回合操作控制单元,用于从输入加密或解密操作开始信号和模式信号时,通过将用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特的比特选择信号、回合操作开始信号和回合数信号发送到回合操作单元,控制回合操作单元的回合操作;64比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的高64比特输入数据的中间加密或解密数据;以及128比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的低64比特输入数据的中间加密或解密数据作为它的低64比特,并且存储作为上一次回合操作的结果产生并存储在64比特数据寄存器中的加密或解密数据作为它的高64比特数据。In order to achieve the above object, the rijndael block cipher device according to the embodiment of the present invention includes: a round operation unit for converting a 128-bit input key into a 128-bit round key for encryption or decryption, and performing an encryption or decryption operation from the input After the start signal and the mode signal, input the round operation start signal, the round number signal and the bit selection signal to divide the 128-bit input data into upper 64 bits and lower 64 bits and select the upper or lower 64 bits, according to the value storage of the mode signal 128-bit round key, by splitting 128-bit input data into upper 64 bits and lower 64 bits, and by performing row shifting, permutation, mixing columns and adding round keys on the split upper 64 bits and lower 64 bits, respectively The round operation of transformation, to encrypt 128-bit input data, and by dividing the 128-bit input data into high 64 bits and low 64 bits, and performing anti-row shift, inverse The round operation of permutation, adding round key and anti-column mixed transformation to decrypt 128-bit input data; the round operation control unit is used to input the 128-bit input data from the input encryption or decryption operation start signal and mode signal The data is divided into high 64 bits and low 64 bits and the bit selection signal of high or low 64 bits, the round operation start signal and the round number signal are sent to the round operation unit to control the round operation of the round operation unit; the 64-bit data register is used intermediate encryption or decryption data for storing the upper 64 bits of input data generated during each round operation performed by the round operation unit; and a 128-bit data register for storing the lower 64 bits generated during each round operation performed by the round operation unit The intermediate encrypted or decrypted data of the 64-bit input data is taken as its lower 64 bits, and the encrypted or decrypted data generated as a result of the previous round operation and stored in the 64-bit data register is stored as its upper 64 bits.

为了实现上述目的,根据本发明第一个实施例的rijndael块加密方法包含以下步骤:如果通过总线输入加密或解密操作开始信号和模式信号之后,从回合操作控制单元输入四时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;如果从回合操作控制单元输入四时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节移位,并且通过第一个复用器输出字节移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的置换,输出置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储置换的高64比特数据;当回合操作开始信号的第二个时钟变为‘1’时,列混合/反列混合变换单元执行通过第一个解复用器的加密输出端输出并存储在64比特数据寄存器中的高64比特数据的列混合,输出列混合变换的高64比特数据到第二个解复用器,并且在64比特数据寄存器中存储列混合变换的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节移位,并且通过第一个复用器输出字节移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的置换,输出置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储置换的低64比特数据;当回合操作开始信号的第三个时钟变为‘1’时,加回合密钥变换单元将通过第二个解复用器的加密输出端输出并存储在64比特数据寄存器中的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且在128比特数据寄存器的高64比特中存储相加的高64比特数据,并且列混合/反列混合变换单元同时执行通过第一个解复用器的加密输出端输出并存储在128比特数据寄存器中的低64比特数据的列混合,输出列混合变换的低64比特数据到第二个解复用器,并且在128比特数据寄存器的低64比特中存储列混合变换的低64比特数据;以及当回合操作开始信号的第四个时钟变为‘1’时,加回合密钥变换单元将通过第二个解复用器的加密输出端输出并存储在128比特数据寄存器中的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据。In order to achieve the above object, the rijndael block encryption method according to the first embodiment of the present invention includes the following steps: after inputting the encryption or decryption operation start signal and the mode signal through the bus, input the four-clock round operation start signal and the round operation start signal from the round operation control unit The round number signal, then according to the value of the mode signal input through the bus when the first clock from the round operation start signal becomes '1', the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit The round key is used for encryption, and the 128-bit round key is stored in the internal 128-bit round key register; if the four-clock round operation start signal and the bit selection signal are input from the round operation control unit, then when the first clock becomes When '1', the row shift/inverse row shift transformation unit performs the byte shift of the high 64-bit data of the 128-bit input data input through the bus, and outputs the byte-shifted high byte through the first multiplexer 64-bit data, and the permutation/reverse permutation transformation unit continuously performs the permutation of the upper 64-bit data, outputs the permuted high-64-bit data to the first demultiplexer, and stores the permuted high-64 bits in the 64-bit data register Data; when the second clock of the round operation start signal becomes '1', the column mixing/inverse column mixing conversion unit performs the encryption output output through the first demultiplexer and stored in the 64-bit data register Column mixing of the high 64-bit data, output the high 64-bit data of the column mixing transformation to the second demultiplexer, and store the high 64-bit data of the column mixing transformation in the 64-bit data register, row shift/reverse row shift The bit transformation unit simultaneously performs the byte shift of the lower 64-bit data of the 128-bit input data input through the bus, and outputs the byte-shifted lower 64-bit data through the first multiplexer, and the replacement/reverse replacement conversion unit Continuously perform the replacement of the lower 64-bit data, output the replaced lower 64-bit data to the first demultiplexer, and store the replaced lower 64-bit data in the lower 64 bits of the 128-bit data register; when the round operation starts signal When the third clock becomes '1', the adding round key transformation unit will add the high 64-bit data outputted by the encryption output terminal of the second demultiplexer and stored in the 64-bit data register to the round encryption The upper 64-bit round key generated by the key generation unit, and the added upper 64-bit data is stored in the upper 64 bits of the 128-bit data register, and the column mixing/anti-column mixing transformation unit is simultaneously performed by the first demultiplexing The encrypted output terminal of the device outputs and stores the column mix of the lower 64-bit data in the 128-bit data register, outputs the lower 64-bit data converted by the column mix to the second demultiplexer, and stores the lower 64-bit data in the 128-bit data register The lower 64-bit data of the column mix transformation is stored in the bit; and when the fourth clock of the round operation start signal becomes '1', the addition round key transformation unit will output through the encryption output of the second demultiplexer and stored in the 128-bit data register The lower 64-bit data in the register is added to the lower 64-bit round key generated by the round key generation unit, and the added lower 64-bit data is stored in the lower 64 bits of the 128-bit data register.

为了实现上述目的,根据本发明第一个实施例的rijndael块解密方法包含以下步骤:如果通过总线输入加密或解密操作开始信号和模式信号之后,从回合操作控制单元输入四时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;如果从回合操作控制单元输入四时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的反字节移位,并且通过第一个复用器输出反字节移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的反置换,输出反置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储反置换的高64比特数据;当回合操作开始信号的第二个时钟变为‘1’时,加回合密钥变换单元将通过第一个解复用器的解密输出端输出并存储在64比特数据寄存器中的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,输出相加的高64比特数据到第三个解复用器,并且在64比特数据寄存器中存储相加的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的反置换,输出反置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储反置换的低64比特数据;当回合操作开始信号的第三个时钟变为‘1’时,列混合/反列混合变换单元执行通过第三个解复用器的解密输出端输出并存储在64比特数据寄存器中的高64比特数据的反列混合,通过第二个解复用器输出反列混合变换的高64比特数据,并且在128比特数据寄存器的高64比特中存储反列混合变换的高64比特数据,并且加回合密钥变换单元同时将通过第一个解复用器的解密输出端输出并存储在128比特数据寄存器中的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,通过第三个解复用器输出相加的低64比特数据,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据;以及当回合操作开始信号的第四个时钟变为‘1’时,列混合/反列混合变换单元执行通过第三个解复用器的解密输出端输出并存储在128比特数据寄存器中的低64比特数据的反列混合,通过第二个解复用器输出反列混合变换的低64比特数据,并且在128比特数据寄存器的低64比特中存储反列混合变换的低64比特数据。In order to achieve the above object, the rijndael block decryption method according to the first embodiment of the present invention includes the following steps: after inputting the encryption or decryption operation start signal and the mode signal through the bus, input the four-clock round operation start signal and the round operation start signal from the round operation control unit The round number signal, then according to the value of the mode signal input through the bus when the first clock from the round operation start signal becomes '1', the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit The round key is used for encryption, and the 128-bit round key is stored in the internal 128-bit round key register; if the four-clock round operation start signal and the bit selection signal are input from the round operation control unit, then when the first clock becomes When '1', the row shift/reverse row shift transformation unit performs the reverse byte shift of the upper 64-bit data of the 128-bit input data input through the bus, and outputs the reverse byte shift through the first multiplexer The upper 64-bit data of the upper 64 bits, and the permutation/inverse permutation transformation unit continuously performs the inverse permutation of the upper 64-bit data, outputs the upper 64-bit data of the inverse permutation to the first demultiplexer, and stores the inversion in the 64-bit data register Permuted high 64-bit data; when the second clock of the round operation start signal becomes '1', the addition round key conversion unit will output through the decryption output of the first demultiplexer and store in the 64-bit data The upper 64-bit data in the register is added to the upper 64-bit round key generated by the round key generation unit, and the added upper 64-bit data is output to the third demultiplexer, and stored in the 64-bit data register. The added high 64-bit data, the row shift/reverse row shift transformation unit simultaneously performs the byte reverse shift of the low 64-bit data of the 128-bit input data input through the bus, and outputs the byte through the first multiplexer The lower 64-bit data of the reverse shift, and the replacement/reverse replacement transformation unit continuously performs the reverse replacement of the lower 64-bit data, outputs the lower 64-bit data of the reverse replacement to the first demultiplexer, and in the 128-bit data register The lower 64 bits of the reverse permutation are stored in the lower 64 bits of the data; when the third clock of the round operation start signal becomes '1', the column mixing/anti-column mixing conversion unit performs decryption through the third demultiplexer The output terminal outputs and stores the high 64-bit data in the 64-bit data register, and outputs the high-order 64-bit data through the second demultiplexer, and the high-order 64-bit data in the 128-bit data register Store the high 64-bit data of anti-column mixed transformation, and add the round key transformation unit to add the low 64-bit data that is output by the decryption output terminal of the first demultiplexer and stored in the 128-bit data register to the The low 64-bit round key generated by the round key generation unit outputs the added low 64-bit data through the third demultiplexer, and stores the added low 64-bit data in the low 64 bits of the 128-bit data register ; and when the fourth clock of the round operation start signal becomes When '1', the column mixing/anti-column mixing transformation unit performs the anti-column mixing of the lower 64-bit data output through the decryption output terminal of the third demultiplexer and stored in the 128-bit data register. The multiplexer outputs the lower 64-bit data of the inverse-column mixing transformation, and stores the lower 64-bit data of the inverse-column mixing transformation in the lower 64 bits of the 128-bit data register.

为了实现上述目的,根据本发明第二个实施例的rijndael块加密方法包含以下步骤:如果通过总线输入加密或解密操作开始信号和模式信号之后,从回合操作控制单元输入三时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;如果从回合操作控制单元输入三时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节移位,并且通过第一个复用器输出字节移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的置换,输出置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储置换的高64比特数据;当回合操作开始信号的第二个时钟变为‘1’时,列混合/反列混合变换单元执行通过第一个解复用器的加密输出端输出并存储在64比特数据寄存器中的高64比特数据的列混合,并且输出列混合变换的高64比特数据到第二个解复用器,加回合密钥变换单元连续地将该高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且在64比特数据寄存器中存储相加的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节移位,并且通过第一个复用器输出字节移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的置换,输出置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储置换的低64比特数据;以及当回合操作开始信号的第三时钟变为‘1’时,将相加然后存储在64比特数据寄存器中的64比特数据存储在128比特数据寄存器的高64比特中,列混合/反列混合变换单元同时执行通过第一个解复用器的加密输出端输出并存储在128比特数据寄存器中的低64比特数据的列混合,并且输出列混合变换的低64比特数据到第二个解复用器,并且加回合密钥变换单元连续地将低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据。In order to achieve the above object, the rijndael block encryption method according to the second embodiment of the present invention includes the following steps: after inputting the encryption or decryption operation start signal and the mode signal through the bus, input the three-clock round operation start signal and the round operation start signal from the round operation control unit The round number signal, then according to the value of the mode signal input through the bus when the first clock from the round operation start signal becomes '1', the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit The round key is used for encryption, and the 128-bit round key is stored in the internal 128-bit round key register; if the three-clock round operation start signal and the bit selection signal are input from the round operation control unit, then when the first clock becomes When '1', the row shift/inverse row shift transformation unit performs the byte shift of the high 64-bit data of the 128-bit input data input through the bus, and outputs the byte-shifted high byte through the first multiplexer 64-bit data, and the permutation/reverse permutation transformation unit continuously performs the permutation of the upper 64-bit data, outputs the permuted high-64-bit data to the first demultiplexer, and stores the permuted high-64 bits in the 64-bit data register Data; when the second clock of the round operation start signal becomes '1', the column mixing/inverse column mixing conversion unit performs the encryption output output through the first demultiplexer and stored in the 64-bit data register The columns of the high 64-bit data are mixed, and the high 64-bit data of the output column mixing transformation is sent to the second demultiplexer, and the round key conversion unit is continuously added to the high 64-bit data generated by the round key generation unit The high 64-bit round key, and the added high 64-bit data is stored in the 64-bit data register, and the row shift/inverse row shift transformation unit simultaneously performs the conversion of the low 64-bit data of the 128-bit input data input through the bus The byte is shifted, and the byte-shifted low 64-bit data is output through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs permutation of the low 64-bit data, and outputs the permuted low 64-bit data to the first multiplexer A demultiplexer, and store the permuted lower 64-bit data in the lower 64 bits of the 128-bit data register; and when the third clock of the round operation start signal becomes '1', add and then store in 64 The 64-bit data in the bit data register is stored in the upper 64 bits of the 128-bit data register, and the column mixing/reversing column mixing transformation unit is simultaneously executed and output through the encrypted output of the first demultiplexer and stored in the 128-bit data register The columns of the lower 64-bit data are mixed, and the lower 64-bit data of the output column mixed transformation is sent to the second demultiplexer, and the adding round key conversion unit continuously adds the lower 64-bit data to the generated by the round key The lower 64-bit round key generated by the unit, and the added lower 64-bit data are stored in the lower 64 bits of the 128-bit data register.

为了实现上述目的,根据本发明第二个实施例的rijndael块解密方法包含以下步骤:如果通过总线输入加密或解密操作开始信号和模式信号之后,从回合操作控制单元输入三时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;如果从回合操作控制单元输入三时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的反字节移位,并且通过第一个复用器输出反字节移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的反置换,输出反置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储反置换的高64比特数据;当回合操作开始信号的第二个时钟变为‘1’时,加回合密钥变换单元将通过第一个解复用器的解密输出端输出并存储在64比特数据寄存器中的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且输出相加的高64比特数据到第三个解复用器,列混合/反列混合变换单元连续地执行相加的高64比特数据的反列混合,通过第二个解复用器输出反列混合变换的高64比特数据,并且在64比特数据寄存器中存储反列混合变换的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的反置换,输出反置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储反置换的低64比特数据;以及当回合操作开始信号的第三个时钟变为‘1’时,加回合密钥变换单元将通过第一个解复用器的解密输出端输出并存储在128比特数据寄存器中的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且输出相加的低64比特数据到第三个解复用器,列混合/反列混合变换单元连续地执行相加的低64比特数据的反列混合,通过第二个解复用器输出反列混合变换的低64比特数据,并且在128比特数据寄存器的低64比特中存储反列混合变换的低64比特数据,同时将存储在64比特数据寄存器中的高64比特数据存储在128比特数据寄存器的高64比特中。In order to achieve the above object, the rijndael block decryption method according to the second embodiment of the present invention includes the following steps: if the encryption or decryption operation start signal and the mode signal are input through the bus, input the three-clock round operation start signal and the round operation start signal from the round operation control unit The round number signal, then according to the value of the mode signal input through the bus when the first clock from the round operation start signal becomes '1', the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit The round key is used for encryption, and the 128-bit round key is stored in the internal 128-bit round key register; if the three-clock round operation start signal and the bit selection signal are input from the round operation control unit, then when the first clock becomes When '1', the row shift/reverse row shift transformation unit performs the reverse byte shift of the upper 64-bit data of the 128-bit input data input through the bus, and outputs the reverse byte shift through the first multiplexer The upper 64-bit data of the upper 64 bits, and the permutation/inverse permutation transformation unit continuously performs the inverse permutation of the upper 64-bit data, outputs the upper 64-bit data of the inverse permutation to the first demultiplexer, and stores the inversion in the 64-bit data register Permuted high 64-bit data; when the second clock of the round operation start signal becomes '1', the addition round key conversion unit will output through the decryption output of the first demultiplexer and store in the 64-bit data The upper 64-bit data in the register is added to the upper 64-bit round key generated by the round key generation unit, and the added upper 64-bit data is output to the third demultiplexer, column mixing/inverse column mixing transformation unit Continuously perform the anti-column mixing of the added upper 64-bit data, output the upper 64-bit data of the anti-column mixing transformation through the second demultiplexer, and store the upper 64 bits of the anti-column mixing transformation in the 64-bit data register The data, row shift/reverse row shift transformation unit simultaneously performs the byte reverse shift of the low 64-bit data of the 128-bit input data input through the bus, and outputs the low byte reverse shift through the first multiplexer 64-bit data, and the permutation/reverse permutation transformation unit continuously performs the reverse permutation of the lower 64-bit data, outputs the reverse permuted lower 64-bit data to the first demultiplexer, and in the lower 64 bits of the 128-bit data register Store the low 64-bit data of reverse permutation; and when the third clock of the round operation start signal becomes '1', the adding round key conversion unit will output through the decryption output of the first demultiplexer and store in The lower 64-bit data in the 128-bit data register is added to the lower 64-bit round key generated by the round key generation unit, and the added lower 64-bit data is output to the third demultiplexer, column mixing/reverse column The mixed transformation unit continuously performs the anti-column mixing of the added lower 64-bit data, outputs the lower 64-bit data of the anti-column mixed transformation through the second demultiplexer, and stores the reversed in the lower 64 bits of the 128-bit data register. The lower 64-bit data of the column mixed transformation, and will be stored in the 64-bit data register at the same time The upper 64 bits of data in the register are stored in the upper 64 bits of the 128-bit data register.

为了实现上述目的,根据本发明第三个实施例的rijndael块加密方法包含以下步骤:如果通过总线输入加密或解密操作开始信号和模式信号之后,从回合操作控制单元输入二时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;如果从回合操作控制单元输入二时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节移位,并且通过第一个复用器输出字节移位的高64比特数据,置换/反置换变换单元连续地执行高64比特数据的置换,输出置换的高64比特数据到第一个解复用器,并且通过第一个解复用器输出置换的高64比特数据,列混合/反列混合变换单元执行通过第一个解复用器的加密输出端输出的高64比特数据的列混合,并且输出列混合变换的高64比特数据到第二个解复用器,并且加回合密钥变换单元连续地将这个高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且在64比特数据寄存器中存储相加的高64比特数据;以及当回合操作开始信号的第二个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的低64比特数据的字节移位,并且通过第一个复用器输出字节移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的置换,并且输出置换的低64比特数据到第一个解复用器,列混合/反列混合变换单元连续地执行低64比特数据的列混合,并且输出列混合变换的低64比特数据到第二个解复用器,加回合密钥变换单元连续地将这个低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据,同时将存储在64比特数据寄存器中的高64比特数据存储在128比特数据寄存器的高64比特中。In order to achieve the above object, the rijndael block encryption method according to the third embodiment of the present invention includes the following steps: after inputting the encryption or decryption operation start signal and the mode signal through the bus, input the two-clock round operation start signal and the round operation start signal from the round operation control unit The round number signal, then according to the value of the mode signal input through the bus when the first clock from the round operation start signal becomes '1', the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit The round key is used for encryption, and the 128-bit round key is stored in the internal 128-bit round key register; if the two-clock round operation start signal and the bit selection signal are input from the round operation control unit, then when the first clock becomes When '1', the row shift/inverse row shift transformation unit performs the byte shift of the high 64-bit data of the 128-bit input data input through the bus, and outputs the byte-shifted high byte through the first multiplexer 64-bit data, the permutation/reverse permutation transformation unit continuously performs the permutation of the high 64-bit data, outputs the permuted high 64-bit data to the first demultiplexer, and outputs the permuted high 64 bits through the first demultiplexer bit data, the column mixing/anti-column mixing transformation unit performs column mixing of the upper 64-bit data output through the encrypted output terminal of the first demultiplexer, and outputs the upper 64-bit data of the column mixing transformation to the second demultiplexer user, and the adding round key conversion unit continuously adds this high 64-bit data to the high 64-bit round key generated by the round key generation unit, and stores the added high 64-bit data in the 64-bit data register ; and when the second clock of the round operation start signal becomes '1', the row shift/inverse row shift conversion unit performs byte shift of the lower 64-bit data of the 128-bit input data input through the bus, and Output byte-shifted lower 64-bit data through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs permutation of the lower 64-bit data, and outputs the permuted lower 64-bit data to the first demultiplexer The column mixing/anti-column mixing transformation unit continuously performs the column mixing of the low 64-bit data, and outputs the low 64-bit data of the column mixing transformation to the second demultiplexer, and the round key transformation unit continuously converts this The lower 64-bit data is added to the lower 64-bit round key generated by the round key generation unit, and the added lower 64-bit data is stored in the lower 64 bits of the 128-bit data register, and will be stored in the 64-bit data register at the same time The upper 64 bits of data are stored in the upper 64 bits of the 128-bit data register.

为了实现上述目的,根据本发明第二个实施例的rijndael块解密方法包含以下步骤:如果通过总线输入加密或解密操作开始信号和模式信号之后,从回合操作控制单元输入两时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;如果从回合操作控制单元输入两时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的反字节移位,并且通过第一个复用器输出反字节移位的高64比特数据,置换/反置换变换单元连续地执行高64比特数据的反置换,并且输出反置换的高64比特数据到第一个解复用器,加回合密钥变换单元连续地将通过第一个解复用器的解密输出端输出的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且输出相加的高64比特数据到第三个解复用器,并且列混合/反列混合变换单元连续地执行相加的高64比特数据的反列混合,通过第二个解复用器输出反列混合变换的高64比特数据,并且在64比特数据寄存器中存储反列混合变换的高64比特数据;以及当回合操作开始信号的第二个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的低64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的低64比特数据,置换/反置换变换单元连续地执行低64比特数据的反置换,并且输出反置换的低64比特数据到第一个解复用器,加回合密钥变换单元连续地将通过第一个解复用器的解密输出端输出的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且输出相加的低64比特数据到第三个解复用器,列混合/反列混合变换单元连续地执行相加的低64比特数据的反列混合,通过第二个解复用器输出反列混合变换的低64比特数据,并且在128比特数据寄存器的低64比特中存储反列混合变换的低64比特数据,同时将存储在64比特数据寄存器中的高64比特数据存储在128比特数据寄存器的高64比特中。In order to achieve the above object, the rijndael block decryption method according to the second embodiment of the present invention includes the following steps: after inputting the encryption or decryption operation start signal and the mode signal through the bus, input the two-clock round operation start signal and the round operation start signal from the round operation control unit The round number signal, then according to the value of the mode signal input through the bus when the first clock from the round operation start signal becomes '1', the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit The round key is used for encryption, and a 128-bit round key is stored in the internal 128-bit round key register; if a two-clock round operation start signal and a bit selection signal are input from the round operation control unit, then when the first clock becomes When '1', the row shift/reverse row shift transformation unit performs the reverse byte shift of the upper 64-bit data of the 128-bit input data input through the bus, and outputs the reverse byte shift through the first multiplexer The high 64-bit data of the high 64-bit data, the permutation/reverse permutation transformation unit continuously performs the reverse permutation of the high 64-bit data, and outputs the high 64-bit data of the reverse permutation to the first demultiplexer, and the round key transformation unit continuously converts The upper 64-bit data output by the decryption output of the first demultiplexer is added to the upper 64-bit round key generated by the round key generation unit, and the added upper 64-bit data is output to the third demultiplexer use device, and the column mixing/anti-column mixing transformation unit continuously performs the anti-column mixing of the added high 64-bit data, and outputs the high-order 64-bit data of the anti-column mixing transformation through the second demultiplexer, and in the 64-bit The data register stores the upper 64-bit data of the reverse-column mixed transformation; and when the second clock of the round operation start signal becomes '1', the row shift/reverse row shift transformation unit executes the 128-bit input through the bus The byte inverse shift of the low 64-bit data of the data, and the low 64-bit data of the byte inverse shift is output through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs the inverse permutation of the low 64-bit data, And output the low 64-bit data of anti-permutation to the first demultiplexer, add the round key conversion unit to continuously add the low 64-bit data output by the decryption output end of the first demultiplexer to the round encryption The low 64-bit round key generated by the key generation unit, and output the added low 64-bit data to the third demultiplexer, and the column mixing/reverse column mixing transformation unit continuously performs the reverse of the added low 64-bit data Column mixing, output the low 64-bit data of anti-column mixing transformation through the second demultiplexer, and store the low 64-bit data of anti-column mixing transformation in the low 64 bits of the 128-bit data register, and store the low 64-bit data in the 64-bit The upper 64 bits of data in the data register are stored in the upper 64 bits of the 128-bit data register.

附图说明Description of drawings

通过参考附图说明本发明的优选实施例,本发明的上述目的、其它特征和优点将变得更显然,在附图中:The above objects, other features and advantages of the present invention will become more apparent by illustrating preferred embodiments of the present invention with reference to the accompanying drawings, in which:

图1是说明根据本发明的rijndael块密码装置的构造的视图。FIG. 1 is a view illustrating the construction of a rijndael block cipher device according to the present invention.

图2是说明回合操作单元的构造的视图。FIG. 2 is a view illustrating the configuration of a turn operation unit.

图3是说明回合密钥产生单元的构造的视图。FIG. 3 is a view illustrating the configuration of a round key generation unit.

图4是说明根据本发明的加密rijndael块密码的方法的第一个时序图。FIG. 4 is a first sequence diagram illustrating a method of encrypting a rijndael block cipher according to the present invention.

图5是说明根据本发明的解密rijndael块密码的方法的第一个时序图。FIG. 5 is a first sequence diagram illustrating a method of decrypting a rijndael block cipher according to the present invention.

图6是说明根据本发明的加密rijndael块密码的方法的第二个时序图。FIG. 6 is a second sequence diagram illustrating a method of encrypting a rijndael block cipher according to the present invention.

图7是说明根据本发明的解密rijndael块密码的方法的第二个时序图。FIG. 7 is a second sequence diagram illustrating a method of decrypting a rijndael block cipher according to the present invention.

图8是说明根据本发明的加密rijndael块密码的方法的第三个时序图。FIG. 8 is a third sequence diagram illustrating a method of encrypting a rijndael block cipher according to the present invention.

图9是说明根据本发明的解密rijndael块密码的方法的第三个时序图。FIG. 9 is a third sequence diagram illustrating a method of decrypting a rijndael block cipher according to the present invention.

具体实施方式Detailed ways

现在,将参考附图详细说明根据本发明优选实施例的rijndael块密码装置及其加密/解密方法。Now, a rijndael block cipher device and an encryption/decryption method thereof according to preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

参考图1,根据本发明的rijndael块密码装置的主要意图在于:执行所有回合操作,用于以64比特为单位加密和解密用于rijndael块加密/解密的输入数据;以及执行回合操作的同时产生回合操作要求的回合密钥。Referring to FIG. 1, the main purpose of the rijndael block cipher device according to the present invention is to: perform all round operations for encrypting and decrypting input data for rijndael block encryption/decryption in units of 64 bits; and perform simultaneous generation of round operations The round key required by the round operation.

为了rijndael块加密/解密,从通过总线200输入加密或解密操作开始信号“开始”和模式信号之后,输入回合操作开始信号Round_start、回合数信号Round_number和比特选择信号sel用于将128比特输入数据分割为高64比特和低64比特并对每个回合操作选择高或低64比特时,回合操作单元100将128比特输入密钥转换为128比特回合密钥RK用于加密或解密,并且根据模式信号的值存储128比特回合密钥。For rijndael block encryption/decryption, after an encryption or decryption operation start signal "start" and a mode signal are input through the bus 200, a round operation start signal Round_start, a round number signal Round_number, and a bit selection signal sel are input for dividing 128-bit input data When the upper 64 bits and lower 64 bits are selected for each round operation, the round operation unit 100 converts the 128-bit input key into a 128-bit round key RK for encryption or decryption, and according to the mode signal The value stores the 128-bit round key.

如果模式信号的值指示‘0’,通过将128比特输入数据分割为高64比特和低64比特,并且关于分割的高64比特和低64比特分别执行包含行移位(shift_row)、置换、列混合和加回合密钥(add-round-key)的变换的回合操作,回合操作单元100加密128比特输入数据。If the value of the mode signal indicates '0', by dividing the 128-bit input data into upper 64 bits and lower 64 bits, and performing row shift (shift_row), permutation, column A round operation of mixing and adding round-key transformations, the round operation unit 100 encrypts 128-bit input data.

如果模式信号的值指示‘1’,通过将128比特输入数据分割为高64比特和低64比特,并且关于分割的高64比特和低64比特分别执行包含反行移位、反置换、加回合密钥和反列混合的变换的回合操作,回合操作单元100解密128比特输入数据。If the value of the mode signal indicates '1', by dividing the 128-bit input data into upper 64 bits and lower 64 bits, and performing a round including inverse row shift, inverse permutation, and addition on the upper 64 bits and lower 64 bits of the split, respectively A round operation of the transformation of the key and anticolumn mix, the round operation unit 100 decrypts 128-bit input data.

如果通过总线200输入加密或解密操作开始信号和模式信号,那么从输入加密或解密操作开始信号和模式信号时,通过向回合操作单元100发送回合操作开始信号Round_start、回合数信号Round_number和比特选择信号用于将128比特输入数据分割为高64比特和低64比特并对每个回合操作选择高或低64比特,回合操作控制单元300控制回合操作单元100的回合操作。If the encryption or decryption operation start signal and the mode signal are input through the bus 200, when the encryption or decryption operation start signal and the mode signal are input, the round operation start signal Round_start, the round number signal Round_number and the bit selection signal are sent to the round operation unit 100. For dividing 128-bit input data into upper 64 bits and lower 64 bits and selecting upper or lower 64 bits for each round operation, the round operation control unit 300 controls the round operation of the round operation unit 100 .

64比特数据寄存器400存储由回合操作单元100执行的每个回合操作期间产生的高64比特输入数据的中间加密或解密数据。The 64-bit data register 400 stores intermediate encrypted or decrypted data of upper 64-bit input data generated during each round operation performed by the round operation unit 100 .

128比特数据寄存器500存储由回合操作单元100执行的每个回合操作期间产生的低64比特输入数据的中间加密或解密数据作为它的低64比特,并且存储作为上一个回合操作的结果产生并存储在64比特数据寄存器400中的加密或解密数据作为它的高64比特。The 128-bit data register 500 stores the intermediate encrypted or decrypted data of the lower 64-bit input data generated during each round operation performed by the round operation unit 100 as its lower 64 bits, and stores the result generated and stored as the last round operation The encrypted or decrypted data in the 64-bit data register 400 as its upper 64 bits.

参考图2,如果从回合操作控制单300输入回合操作开始信号和回合数信号,那么回合操作单元100的回合密钥产生单元110根据通过总线200输入的模式信号的值将128比特输入密钥转换为128比特回合密钥RK,并且在内部128比特回合密钥寄存器中存储128比特回合密钥。2, if the round operation start signal and the round number signal are input from the round operation control unit 300, the round key generation unit 110 of the round operation unit 100 converts the 128-bit input key according to the value of the mode signal input through the bus 200. is the 128-bit round key RK and stores the 128-bit round key in the internal 128-bit round key register.

如果从回合操作控制单300输入回合操作开始信号和比特选择信号,那么回合操作单元100的行移位/反行移位变换单元120根据通过总线200输入的模式信号的值,执行从通过总线200输入的128比特输入数据分割的高64比特和低64比特的字节移位不同数,并且通过第一个复用器121输出字节移位的高64比特和低64比特,根据比特选择信号的值控制该复用器的输出。If the round operation start signal and the bit selection signal are input from the round operation control unit 300, then the row shift/inverse row shift conversion unit 120 of the round operation unit 100 performs the operation from the bus 200 according to the value of the mode signal input through the bus 200. The high 64 bits and low 64 bits of the byte shift of the input 128-bit input data division are different numbers, and the high 64 bits and low 64 bits of the byte shift are output through the first multiplexer 121, according to the bit selection signal The value of controls the output of this multiplexer.

回合操作单元100的置换/反置换变换单元130,使用相对一个字节输入提供一个字节输出的置换盒(S-盒)或反置换盒(SI-盒),执行从行移位/反行移位变换单元120输出的高64比特数据和低64比特数据的置换或反置换。The permutation/reverse permutation transformation unit 130 of the round operation unit 100 performs slave row shift/reverse row using a permutation box (S-box) or an inverse permutation box (SI-box) that provides one byte output with respect to one byte input The permutation or inverse permutation of the high 64-bit data and low 64-bit data output by the shift transformation unit 120 .

回合操作单元100的第一个解复用器(demultiplexer)140根据模式信号的值,通过它的加密输出端‘0’和它的解密输出端‘1’中任何一个输出从置换/反置换变换单元130输出的高64比特数据或低64比特数据。The first demultiplexer (demultiplexer) 140 of the round operation unit 100 converts from permutation/inverse permutation through any one of its encryption output '0' and its decryption output '1' according to the value of the mode signal. The upper 64-bit data or the lower 64-bit data output by the unit 130.

回合操作单元100的列混合/反列混合变换单元150,执行通过第一个解复用器140的加密输出端“0’输入的高64比特数据或低64比特数据的列混合,或者执行已经加回合密钥变换的高64比特数据或低64比特数据的反列混合。The column mixing/anti-column mixing transformation unit 150 of the round operation unit 100 performs the column mixing of the upper 64-bit data or the lower 64-bit data input through the encryption output terminal "0" of the first demultiplexer 140, or performs Add the inverse column mix of the upper 64-bit data or lower 64-bit data transformed by the round key.

回合操作单元100的第二个解复用器160根据模式信号的值,通过它的加密输出端‘0’和它的解密输出端‘1’中任何一个输出从列混合/反列混合变换单元150输出的高64比特数据或低64比特数据。The second demultiplexer 160 of the round operation unit 100 outputs from the column mixing/anti-column mixing transformation unit through any one of its encryption output terminal '0' and its decryption output terminal '1' according to the value of the mode signal 150 output high 64 bit data or low 64 bit data.

回合操作单元100的加回合密钥变换单元170将通过第一个解复用器140的解密输出端‘1’或第二个解复用器160的加密输出端‘0’输入的高64比特数据或低64比特数据加到从回合密钥产生单元110输出的用于加密或解密的128比特回合密钥RK。The addition round key transformation unit 170 of the round operation unit 100 converts the upper 64 bits input through the decryption output terminal '1' of the first demultiplexer 140 or the encryption output terminal '0' of the second demultiplexer 160 Data or lower 64-bit data is added to the 128-bit round key RK output from the round key generation unit 110 for encryption or decryption.

回合操作单元100的第三个解复用器180根据模式信号的值,通过它的加密输出端‘0’和它的解密输出端‘1’中任何一个输出从加回合密钥变换单元170输出的高64比特数据或低64比特数据。The third demultiplexer 180 of the round operation unit 100 outputs from the addition round key transformation unit 170 through any one of its encryption output '0' and its decryption output '1' according to the value of the mode signal The upper 64-bit data or the lower 64-bit data.

参考图3,回合密钥产生单元110的128比特预密钥寄存器111存储通过总线200输入的128比特输入密钥作为预密钥,用于将128比特输入密钥转换为用于加密或解密的128比特回合密钥RK,并且存储每个回合操作之后产生的128比特回合密钥RK作为预密钥,用于产生下一个回合操作中使用的回合密钥。Referring to Fig. 3, the 128-bit pre-key register 111 of the round key generation unit 110 stores the 128-bit input key inputted through the bus 200 as a pre-key, and is used to convert the 128-bit input key into a key for encryption or decryption. 128-bit round key RK, and store the 128-bit round key RK generated after each round operation as a pre-key for generating the round key used in the next round operation.

回合密钥产生单元110的128比特回合密钥寄存器111a为每个回合操作存储用于加密或解密的128比特回合密钥RK。在图3中,每个回合操作之后,要存储在128比特回合密钥寄存器111a中的128比特回合密钥RK被备份到128比特预密钥寄存器111,并且被用作下一个回合操作中的先前回合的回合密钥(即,预密钥)。The 128-bit round key register 111a of the round key generating unit 110 stores the 128-bit round key RK used for encryption or decryption for each round operation. In FIG. 3, after each round operation, the 128-bit round key RK to be stored in the 128-bit round key register 111a is backed up to the 128-bit pre-key register 111, and is used as the key in the next round operation. The round key (ie, pre-key) of the previous round.

回合密钥产生单元110的常数存储单元112存储常数值Rcon,该常数值根据由回合数信号指示的回合的阶(order)确定,该回合数信号从回合操作控制单元300输入。最好常数存储单元112包含ROM。The constant storage unit 112 of the round key generation unit 110 stores a constant value Rcon determined according to the order of the round indicated by the round number signal input from the round operation control unit 300 . Preferably, the constant storage unit 112 includes a ROM.

根据通过总线200输入的模式信号的值控制回合密钥产生单元110的第二个复用器113,并且选择并输出从128比特预密钥寄存器111和128比特回合密钥寄存器111a输入的用于加密或解密的32比特密钥中的任何一个。Control the second multiplexer 113 of the round key generating unit 110 according to the value of the mode signal input through the bus 200, and select and output the input data from the 128-bit pre-key register 111 and the 128-bit round key register 111a. Either of the 32-bit keys for encryption or decryption.

回合密钥产生单元110的移位器114对通过第二个复用器113输入的32比特密钥执行向左一个字节的循环移位。The shifter 114 of the round key generation unit 110 performs a cyclic shift to the left by one byte on the 32-bit key input through the second multiplexer 113 .

回合密钥产生单元110的置换变换单元115包含用于执行置换操作的置换盒(S-盒),并且对由移位器114移位的32比特密钥执行置换。The permutation transformation unit 115 of the round key generation unit 110 includes a permutation box (S-box) for performing a permutation operation, and performs permutation on the 32-bit key shifted by the shifter 114 .

回合密钥产生单元110的第一个XOR门116执行从置换变换单元115输出的32比特密钥的最高有效字节与存储在常数存储单元112中的常数值的XOR操作。The first XOR gate 116 of the round key generation unit 110 performs an XOR operation of the most significant byte of the 32-bit key output from the permutation transformation unit 115 and the constant value stored in the constant storage unit 112 .

回合密钥产生单元110的回合XOR操作单元117,通过使用通过将第一个XOR门116的输出比特加到除了置换变换单元115的最高有效字节的剩余24比特得到的32比特值、存储在128比特预密钥寄存器111中的先前回合的128比特回合密钥(即预密钥)、以及存储在128比特回合密钥寄存器111a中的新回合的128比特回合密钥RK,执行XOR操作,来为回合操作的每个回合,新产生要存储在128比特回合密钥寄存器111a中的用于加密或解密的128比特回合密钥RK。The round XOR operation unit 117 of the round key generation unit 110 stores in The 128-bit round key (i.e. pre-key) of the previous round in the 128-bit pre-key register 111 and the 128-bit round key RK of the new round stored in the 128-bit round key register 111a perform an XOR operation, For each round of the round operation, a 128-bit round key RK for encryption or decryption to be stored in the 128-bit round key register 111a is newly generated.

回合XOR操作单元117的第二个XOR门118通过执行下述两者的XOR操作,产生128比特回合密钥的最高有效32比特回合密钥RK0,用于新回合的加密或解密:通过将第一个XOR门116的输出比特加到除了置换变换单元115的最高有效字节的剩余24比特得到的32比特值;以及先前回合的128比特回合密钥的最高有效32比特回合密钥PK0。The second XOR gate 118 of the round XOR operation unit 117 generates the most effective 32-bit round key RK0 of the 128-bit round key by performing the XOR operation of the following two, for encryption or decryption of a new round: by The output bits of an XOR gate 116 are added to the 32-bit value obtained by permuting the remaining 24 bits of the most significant byte of the transformation unit 115; and the most significant 32-bit round key PK0 of the previous round's 128-bit round key.

回合XOR操作单元117的第三个XOR门118a通过执行下述两者的XOR操作,产生128比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥RK1,用于新回合的加密:新回合的128比特回合密钥的最高有效32比特(即第127个比特到第96个比特)回合密钥RK0,以及紧接先前回合的128比特回合密钥的最高有效32比特的32比特(即,第95个比特到第64个比特)回合密钥PK1。The third XOR gate 118a of the round XOR operation unit 117 generates the 32-bit (that is, the 95th bit to the 64th bit) round key RK1 of the 128-bit round key by performing the XOR operation of the following two, using Encryption for the new round: the most significant 32-bit (i.e., 127th to 96th) round key RK0 of the 128-bit round key of the new round, and the most significant A 32-bit (ie, 95th bit to 64th bit) round key PK1 of 32 bits.

回合XOR操作单元117的第三个XOR门118a通过执行下述两者的XOR操作,也产生128比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥RK1,用于新回合的解密:先前回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥PK0,以及紧接最高有效32比特的32比特(即,第95个比特到第64个比特)回合密钥PK1。The third XOR gate 118a of the round XOR operation unit 117 also generates a 32-bit (i.e., 95th bit to 64th bit) round key RK1 of a 128-bit round key by performing an XOR operation of the following two, For decryption of the new round: the most significant 32 bits (i.e., bits 127 to 96) of the round key PK0 of the 128-bit round key of the previous round, and the next 32 bits of the most significant 32 bits (i.e. , the 95th bit to the 64th bit) round key PK1.

根据通过总线200输入的模式信号的值控制回合XOR操作单元117的第三个复用器119,并且选择性地确定第三个XOR门118a的输入信号。The third multiplexer 119 of the round XOR operation unit 117 is controlled according to the value of the mode signal input through the bus 200, and selectively determines the input signal of the third XOR gate 118a.

回合XOR操作单元117的第四个XOR门118b通过执行下述两者的XOR操作,产生128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥RK2,用于新回合的加密:新回合的128比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥RK1,以及先前回合的128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥PK2。The fourth XOR gate 118b of the round XOR operation unit 117 generates the 32-bit (that is, the 63rd bit to the 32nd bit) round key RK2 of the 128-bit round key by performing the XOR operation of the following two, using Encryption for the new round: the 32-bit (i.e., 95th to 64th bits) round key RK1 of the 128-bit round key of the new round, and the 32 bits of the 128-bit round key of the previous round (i.e., 63rd bit to 32nd bit) round key PK2.

第四个XOR门118b通过执行下述两者的XOR操作,也产生128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥RK2,用于新回合的解密:先前回合的128比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥PK1,以及接下来的32比特(即,第63个比特到第32个比特)回合密钥PK2。The fourth XOR gate 118b also generates a 32-bit (i.e., 63rd bit to 32nd bit) round key RK2 of the 128-bit round key for decryption of the new round by performing the XOR operation of the two : the 32-bit (i.e., 95th bit to 64th bit) round key PK1 of the 128-bit round key of the previous round, and the next 32-bit (i.e., 63rd bit to 32nd bit) round key Key PK2.

根据通过总线200输入的模式信号的值控制回合XOR操作单元117的第四个复用器119a,并且选择性地确定第四个XOR门118b的输入信号。The fourth multiplexer 119a of the round XOR operation unit 117 is controlled according to the value of the mode signal input through the bus 200, and selectively determines the input signal of the fourth XOR gate 118b.

回合XOR操作单元117的第五个XOR门118c通过执行下述两者的XOR操作:新回合的128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥RK2,以及先前回合的128比特回合密钥的32比特(即,第31个比特到第0个比特)回合密钥PK3,产生128比特回合密钥的32比特(即,第31个比特到第0个比特)回合密钥RK3,用于新回合的加密。The fifth XOR gate 118c of the round XOR operation unit 117 performs the XOR operation of the following two: the 32-bit (i.e., the 63rd bit to the 32nd bit) round key RK2 of the 128-bit round key of the new round , and the 32-bit (i.e., 31st bit to 0th bit) round key PK3 of the 128-bit round key of the previous round, yielding the 32-bit (i.e., 31st bit to 0th bit) of the 128-bit round key bits) round key RK3, which is used for the encryption of the new round.

第五个XOR门118c通过执行下述两者的XOR操作:先前回合的128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥PK2,以及接下来的32比特(即,第31个比特到第0个比特)回合密钥PK3,也产生128比特回合密钥的32比特(即,第31个比特到第0个比特)回合密钥RK3,用于新回合的解密。The fifth XOR gate 118c operates by performing an XOR of the 32-bit (i.e., 63rd bit to 32nd bit) round key PK2 of the previous round's 128-bit round key, and the next 32-bit round key PK2. bit (i.e., bit 31 to bit 0) round key PK3, which also generates a 32-bit (i.e., bit 31 to bit 0) round key RK3 of the 128-bit round key for the new Round decryption.

根据通过总线200输入的模式信号的值控制回合XOR操作单元117的第五个复用器119b,并且选择性地确定第五个XOR门118c的输入信号。The fifth multiplexer 119b of the round XOR operation unit 117 is controlled according to the value of the mode signal input through the bus 200, and selectively determines the input signal of the fifth XOR gate 118c.

根据本发明如上构造的rijndael块密码装置执行加密和解密过程如下:The rijndael block cipher device constructed as above according to the present invention performs encryption and decryption process as follows:

首先,将参考图1和2说明rijndael块密码装置的加密和解密操作。First, the encryption and decryption operations of the rijndael block cipher device will be explained with reference to FIGS. 1 and 2 .

如果回合操作开始,那么当通过总线200输入初始的128比特输入密钥到回合密钥产生单元100时执行回合密钥产生过程,并且128比特输入数据输入到行移位/反行移位变换单元120。If the round operation starts, the round key generation process is performed when an initial 128-bit input key is input to the round key generation unit 100 through the bus 200, and the 128-bit input data is input to the row shift/inverse row shift conversion unit 120.

这时,如rijndael块密码算法中定义的,行移位/反行移位变换单元120执行不同字节数的移位/反移位。At this time, the row shift/reverse row shift transformation unit 120 performs shift/reverse shift of different byte numbers as defined in the rijndael block cipher algorithm.

如果回合操作控制单元300发送选择高64比特(sel=‘1’)的信号,那么行移位/反行移位变换单元120通过第一个复用器121输出高64比特,而如果回合操作控制单元300发送选择低64比特(sel=‘0’)的信号,那么行移位/反行移位变换单元120通过第一个复用器121输出低64比特。If the round operation control unit 300 sends a signal to select the upper 64 bits (sel='1'), then the row shift/inverse row shift conversion unit 120 outputs the upper 64 bits through the first multiplexer 121, and if the round operation The control unit 300 sends a signal to select the lower 64 bits (sel='0'), then the row shift/inverse row shift conversion unit 120 outputs the lower 64 bits through the first multiplexer 121 .

执行如上所述的字节行移位/反行移位操作之后,高或低64比特数据输入到置换/反置换变换单元130,并且由置换盒(S-盒)或反置换盒(SI-盒)执行数据的置换或反置换。这时,S-盒和SI-盒用作置换变换单元,如rijndael算法的规范中定义的,它相对一个字节输入输出一个字节输出。同样地,因为根据本发明提出的置换/反置换变换单元130一次只处理64比特数据就足够了,所以它只要求8个S-盒或者8个SI-盒。After performing the byte row shift/reverse row shift operation as described above, the high or low 64-bit data is input to the permutation/reverse permutation transformation unit 130, and is replaced by a permutation box (S-box) or an inverse permutation box (SI-box) box) performs permutation or inverse permutation of data. At this time, the S-box and SI-box serve as a permutation transformation unit, which outputs a byte output with respect to a byte input, as defined in the specification of the rijndael algorithm. Also, since it is sufficient for the permutation/inverse permutation transformation unit 130 proposed according to the present invention to process only 64 bits of data at a time, it requires only 8 S-boxes or 8 SI-boxes.

如果执行如上所述的置换/反置换操作之后通过总线200输入选择加密过程(模式=‘0’)的模式信号,那么高或低64比特数据通过第一个解复用器140的加密输出端‘0’输入到列混合/反列混合变换单元150,而如果通过总线200输入选择解密过程(模式=‘1’)的模式信号,那么高或低64比特数据通过第一个解复用器140的解密输出端‘1’通过列混合/反列混合变换单元150输入到加回合密钥变换单元170。If the mode signal for selecting the encryption process (mode='0') is input through the bus 200 after performing the permutation/inverse permutation operation as described above, then the high or low 64-bit data passes through the encrypted output of the first demultiplexer 140 '0' is input to the column mixing/inverse column mixing transformation unit 150, and if the mode signal for selecting the decryption process (mode='1') is input through the bus 200, then the high or low 64-bit data passes through the first demultiplexer The decryption output '1' of 140 is input to the addition round key transformation unit 170 through the column mix/inverse column mix transform unit 150 .

如果通过总线200输入选择加密过程(模式=‘0’)的模式信号,那么已经经过列混合/反列混合变换单元的64比特数据通过第二个解复用器160的加密输出端‘0’输入到加回合密钥变换单元170,而如果通过总线200输入选择解密过程(模式=‘1’)的模式信号,那么通过第二个解复用器160的解密输出端‘1’输出64比特数据作为回合操作的结果数据。If the mode signal that selects the encryption process (mode='0') is input through the bus 200, the 64-bit data that has passed through the column mixing/inverse column mixing transformation unit passes through the encryption output terminal '0' of the second demultiplexer 160 Input to the addition round key transformation unit 170, and if the mode signal for selecting the decryption process (mode='1') is input through the bus 200, then the 64 bits are output through the decryption output '1' of the second demultiplexer 160 The data is the result data of the round operation.

同样地,如果通过总线200输入选择加密过程(模式=‘0’)的模式信号,已经经过加回合密钥变换单元170的64比特数据通过第三个解复用器180的加密输出端‘0’作为回合操作的结果输出输出,而如果通过总线200输入选择解密过程(模式=‘1’)的模式信号,64比特数据通过第三个解复用器180的解密输出端‘1’输入到列混合/反列混合变换单元150。Similarly, if the mode signal for selecting the encryption process (mode='0') is input through the bus 200, the 64-bit data that has been added to the round key transformation unit 170 passes through the encryption output terminal '0 of the third demultiplexer 180 ' is output as a result of the round operation, and if the mode signal for selecting the decryption process (mode='1') is input through the bus 200, the 64-bit data is input through the decryption output '1' of the third demultiplexer 180 to Column blending/anti-column blending transformation unit 150 .

如上所述,因为本发明意图在于:通过共享加密过程和解密过程中共用的组成元件降低硬件资源的使用,所以各变换单元具有加密和解密的功能。As described above, since the present invention intends to reduce the use of hardware resources by sharing common constituent elements in the encryption process and the decryption process, each transformation unit has the functions of encryption and decryption.

同时,将参考图3说明根据本发明的rijndael块密码装置的加密和解密操作要求并由回合密钥产生单元100执行的用于加密或解密的回合密钥的产生。Meanwhile, generation of a round key for encryption or decryption required by encryption and decryption operations of the rijndael block cipher device according to the present invention and performed by the round key generation unit 100 will be described with reference to FIG. 3 .

如果从回合操作控制单元300输入4时钟或3时钟回合操作开始信号和回合数信号到回合操作单元100,那么回合操作开始。If a 4-clock or 3-clock round operation start signal and a round number signal are input from the round operation control unit 300 to the round operation unit 100, the round operation starts.

如果回合操作开始,那么回合密钥产生单元110使用存储在128比特预密钥寄存器111中的先前回合的128比特回合密钥(即,预密钥),开始产生新回合的回合密钥RK。If the round operation starts, the round key generating unit 110 starts generating the round key RK of a new round using the 128-bit round key (ie, pre-key) of the previous round stored in the 128-bit pre-key register 111 .

如果通过总线200输入选择加密(模式=‘0’)的模式信号,那么128比特预密钥寄存器111的先前回合的128比特回合密钥的最低有效32比特(PK3)通过第二个复用器113输入到移位器114。If a mode signal selecting encryption (mode = '0') is input via bus 200, the least significant 32 bits (PK3) of the previous round's 128-bit round key of the 128-bit pre-key register 111 are passed through the second multiplexer 113 is input to shifter 114.

相比之下,如果通过总线200输入选择解密(模式=‘1’)的模式信号,那么第五个XOR门118c执行先前回合的回合密钥的低64比特PK2和PK3的XOR操作,并且暂时存储XOR的32比特作为新回合密钥的最低有效32比特RK3。同时,这个值RK3通过第二个复用器113输入到移位器114。In contrast, if a mode signal that selects decryption (mode='1') is input through the bus 200, the fifth XOR gate 118c performs an XOR operation of the lower 64 bits PK2 and PK3 of the round key of the previous round, and temporarily Store the 32 bits of the XOR as the least significant 32 bits RK3 of the new round key. At the same time, this value RK3 is input to the shifter 114 via the second multiplexer 113 .

输入到移位器114的32比特密钥左移一个字节,然后由包括4个S-盒的置换变换单元115置换。The 32-bit key input to the shifter 114 is left-shifted by one byte, and then replaced by a permutation transformation unit 115 including 4 S-boxes.

如上所述,置换变换的32比特密钥的最高有效8比特密钥由第一个XOR门116与常数值Rcon异或(XOR),该常数值根据由从回合操作控制单元300输入的回合数信号指示的回合的阶确定。从第一个XOR门116输出的作为结果的8比特加到从置换变换单元115输出的剩余24比特,并且相加后的比特输入到回合XOR操作单元117的第二个XOR门118。As described above, the most significant 8-bit key of the permuted transformed 32-bit key is exclusive-ORed (XORed) by the first XOR gate 116 with a constant value Rcon according to the round number input from the round operation control unit 300 The order of the round indicated by the signal is determined. The resulting 8 bits output from the first XOR gate 116 are added to the remaining 24 bits output from the permutation transform unit 115 , and the added bits are input to the second XOR gate 118 of the round XOR operation unit 117 .

尤其通过限制其中有关回合数的常数值在回合密钥产生过程期间只与已经经过置换变换单元115的32比特数据的高8比特异或的部分,可以得到硬件尺寸减小的效果。为此,rijndael算法规范说明了这样的结构:通过填充24比特的‘0’到8比特常数值生成32比特有关回合数的常数值,然后执行32比特常数值和已经经过置换变换单元115的32比特值的XOR操作。Especially by limiting the portion in which the constant value about the round number is XORed only with the upper 8 bits of the 32-bit data that has passed through the permutation transformation unit 115 during the round key generation process, an effect of hardware size reduction can be obtained. For this reason, the rijndael algorithm specification has described such a structure: generate 32-bit constant value about the number of rounds by filling 24-bit '0' to 8-bit constant value, then perform 32-bit constant value and 32 that have passed through permutation transformation unit 115 XOR operation of bit values.

然后,第二个XOR门118执行下述两者的XOR操作:通过将从第一个XOR门116输出的作为结果的8比特与从置换变换单元115输出的剩余24比特相加得到的32比特,以及先前回合的回合密钥的最高有效32比特PK0,并且存储XOR操作的结果值作为新回合的最高有效32比特回合密钥RK0。Then, the second XOR gate 118 performs an XOR operation of the 32 bits obtained by adding the resulting 8 bits output from the first XOR gate 116 to the remaining 24 bits output from the permutation transform unit 115 , and the most significant 32-bit round key PK0 of the previous round, and store the result value of the XOR operation as the most significant 32-bit round key RK0 of the new round.

如上所述产生新回合的加密或解密要求的最高有效32比特回合密钥RK0之后,第三个XOR门118a在加密过程的情况下通过执行下述两者的XOR操作:新回合的最高有效32比特回合密钥RK0以及先前回合的高32比特(第95个比特到第64个比特)回合密钥PK1,产生新回合的接下来的32比特回合密钥RK1。在解密过程的情况下,第三个XOR门118a通过执行下述两者的XOR操作:先前回合的最高有效32比特回合密钥PK0,以及先前回合的接下来的高32比特回合密钥PK1,产生新回合的接下来的32比特回合密钥RK1。After generating the most significant 32-bit round key RK0 required for encryption or decryption of the new round as described above, the third XOR gate 118a, in the case of the encryption process, performs an XOR operation of the new round's most significant 32 bits Bit round key RK0 and the upper 32 bits (95th to 64th bits) round key PK1 of the previous round generate the next 32-bit round key RK1 of the new round. In the case of the decryption process, the third XOR gate 118a operates by performing the XOR operation of the most significant 32-bit round key PK0 of the previous round, and the next upper 32-bit round key PK1 of the previous round, The next 32-bit round key RK1 of the new round is generated.

此时,根据通过总线200输入并指示加密过程或解密过程的模式信号,第三个复用器119确定第三个XOR门118a的输入值。At this time, the third multiplexer 119 determines the input value of the third XOR gate 118a based on the mode signal input through the bus 200 and indicating the encryption process or the decryption process.

如上所述产生紧接新回合的最高有效32比特回合密钥RK0的32比特回合密钥RK1之后,由与第三个XOR门118a以相同方式操作的第四个XOR门118b和第五个XOR门118c产生接下来的32比特回合密钥RK2和最低有效32比特回合密钥RK3用于加密或解密。第四个复用器119a确定第四个XOR门118b的输入值,而第五个复用器119b确定第五个XOR门118c的输入值。After generating the 32-bit round key RK1 next to the most significant 32-bit round key RK0 of the new round as described above, the fourth XOR gate 118b and the fifth XOR gate 118b operated in the same manner as the third XOR gate 118a Gate 118c generates the next 32-bit round key RK2 and the least significant 32-bit round key RK3 for encryption or decryption. The fourth multiplexer 119a determines the input value of the fourth XOR gate 118b, and the fifth multiplexer 119b determines the input value of the fifth XOR gate 118c.

特别是,以32比特为单位产生新回合的128比特回合密钥要求的时间在加密过程的情况下对应于从回合操作控制单元300输入的回合操作开始信号的整个4时钟周期,而在解密过程的情况下对应于整个2时钟周期。In particular, the time required to generate a 128-bit round key for a new round in units of 32 bits corresponds to the entire 4 clock cycles of the round operation start signal input from the round operation control unit 300 in the case of the encryption process, while in the decryption process case corresponds to a full 2 clock cycles.

实际上,当加密回合操作开始信号的第一个时钟变为‘1’时,通过第二个XOR门118产生新回合的最高有效32比特回合密钥RK0,并且无论何时第二个、第三个和第四个时钟变为‘1’时,分别通过第三个XOR门118a、第四个XOR门118b和第五个XOR门118c产生新回合的32比特回合密钥RK1、RK2和RK3。同样地,当解密回合操作开始信号的第一个时钟变为‘1’时,通过第二个XOR门118产生新回合的最高有效32比特回合密钥PK0,而当第二个时钟变为‘1’时,通过第三个XOR门118a、第四个XOR门118b和第五个XOR门118c同时产生新回合的32比特回合密钥RK1、RK2和RK3。In fact, when the first clock of the encryption round operation start signal becomes '1', the most effective 32-bit round key RK0 of a new round is generated through the second XOR gate 118, and whenever the second, second When the third and fourth clocks become '1', the third XOR gate 118a, the fourth XOR gate 118b and the fifth XOR gate 118c generate new round 32-bit round keys RK1, RK2 and RK3 respectively . Likewise, when the first clock of the decryption round operation start signal becomes '1', the most significant 32-bit round key PK0 of a new round is generated through the second XOR gate 118, and when the second clock becomes '1' 1', the third XOR gate 118a, the fourth XOR gate 118b and the fifth XOR gate 118c simultaneously generate new round 32-bit round keys RK1, RK2 and RK3.

在从回合操作控制单元300输入3时钟回合操作开始信号到回合操作单元100的情况下,回合密钥产生单元110在2时钟周期期间产生加密回合密钥。In a case where a 3 clock round operation start signal is input from the round operation control unit 300 to the round operation unit 100, the round key generation unit 110 generates an encryption round key during 2 clock cycles.

此时,当回合操作开始信号的第一个时钟变为‘1’时,执行产生新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0的过程。At this time, when the first clock of the round operation start signal becomes '1', perform the most significant 32 bits (that is, the 127th bit to the 96th bit) round encryption of the 128-bit round key that generates a new round The process of key RK0.

如果回合操作开始信号的第二个时钟变为‘1’,那么通过执行下述两者的XOR操作:新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0以及紧接先前回合的128比特回合密钥的最高有效32比特的32比特回合密钥PK1,第三个XOR门118a产生128比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥RK1用于新回合的加密。If the second clock of the Round Operation Start signal goes '1', then by performing an XOR operation of: the most significant 32 bits (i.e., bits 127 through 96) of the new round's 128-bit Round Key bits) round key RK0 and the most significant 32-bit 32-bit round key PK1 of the previous round of 128-bit round key PK1, the third XOR gate 118a produces 32 bits of the 128-bit round key (i.e., 95 bits to 64th bits) the round key RK1 is used for the encryption of the new round.

同时,通过执行下述两者的XOR操作:结果值(RK0

Figure 200480022446910000210003_0
PK1)——该结果值由新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0和紧接先前回合的128比特回合密钥的最高有效32比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥PK1的第三个XOR门的XOR操作得到——以及先前回合的32比特(即,第63个比特到第32个比特)回合密钥PK2,第四个XOR门118b产生128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥RK2用于新回合的加密。At the same time, by performing an XOR operation of the following two: the resulting value (RK0
Figure 200480022446910000210003_0
PK1) - This result value consists of the most significant 32 bits (i.e., bits 127 to 96) of the round key RK0 of the new round's 128-bit round key and the value of the immediately preceding round's 128-bit round key The XOR operation of the third XOR gate of the round key PK1 yields the 32 bits (i.e., 95th to 64th bits) of the most significant 32-bit round key—and the 32 bits of the previous round (i.e., the 63rd bits to the 32nd bit) round key PK2, the fourth XOR gate 118b generates 32 bits (i.e., the 63rd bit to the 32nd bit) round key RK2 of the 128-bit round key for the new round encryption.

同时,通过执行下述两者的XOR操作:结果值(RK0

Figure 200480022446910000210003_1
PK1)——该结果值由已经由第三个XOR门118a异或的、新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0,与紧接先前回合的128比特回合密钥的最高有效32比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥PK1,进行第四个XOR门的XOR操作来得到——以及先前回合的32比特(即,第63个比特到第32个比特)回合密钥PK2,从而产生XOR操作的结果值(RK0
Figure 200480022446910000210003_2
PK1
Figure 200480022446910000210003_3
PK2),然后通过执行结果值(RK0
Figure 200480022446910000210003_4
PK1
Figure 200480022446910000210003_5
PK2)和先前回合的32比特(即,第31个比特到第0个比特)回合密钥PK3的XOR操作,第五个XOR门118c产生128比特回合密钥的32比特(即,第31个比特到第0个比特)回合密钥RK3用于新回合的加密。At the same time, by performing an XOR operation of the following two: the resulting value (RK0
Figure 200480022446910000210003_1
PK1) - This result value is formed by the most significant 32 bits (i.e., 127th bit to 96th bit) of the round key RK0 of the new round's 128-bit round key that has been XORed by the third XOR gate 118a , with the 32-bit (i.e., 95th to 64th bits) round key PK1 of the most significant 32-bit round key immediately preceding the 128-bit round key of the previous round, XORed by the fourth XOR gate to get - and the previous round's 32-bit (i.e., 63rd bit to 32nd bit) round key PK2, resulting in the resulting value of the XOR operation (RK0
Figure 200480022446910000210003_2
PK1
Figure 200480022446910000210003_3
PK2), and then pass the execution result value (RK0
Figure 200480022446910000210003_4
PK1
Figure 200480022446910000210003_5
PK2) and the 32 bits (i.e., the 31st bit to the 0th bit) round key PK3 of the previous round of XOR operation, the fifth XOR gate 118c produces 32 bits (i.e., the 31st bit) of the 128-bit round key bit to 0th bit) the round key RK3 is used for the encryption of the new round.

在从回合操作控制单元300输入2时钟回合操作开始信号到回合操作单元100的情况下,回合密钥产生单元110在一个时钟周期期间产生加密回合密钥。In a case where a 2-clock round operation start signal is input from the round operation control unit 300 to the round operation unit 100 , the round key generation unit 110 generates an encryption round key during one clock cycle.

此时,当输入回合操作开始信号并且时钟同时处于‘0’状态时,通过第二个XOR门118执行产生新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0的过程。At this time, when the round operation start signal is input and the clock is in the '0' state at the same time, the most significant 32 bits of the 128-bit round key (that is, the 127th bit to the 127th bit to the 96 bits) round key RK0 process.

如果回合操作开始信号的第一个时钟变为‘1’,那么通过执行下述两者的XOR操作:新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0以及紧接先前回合的128比特回合密钥的最高有效32比特的32比特回合密钥PK1,第三个XOR门118a产生128比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥RK1用于新回合的加密。If the first clock of the round operation start signal becomes '1', then by performing an XOR operation of: the most significant 32 bits (i.e., bits 127 to 96) of the new round's 128-bit round key bits) round key RK0 and the most significant 32-bit 32-bit round key PK1 of the previous round of 128-bit round key PK1, the third XOR gate 118a produces 32 bits of the 128-bit round key (i.e., 95 bits to 64th bits) the round key RK1 is used for the encryption of the new round.

同时,通过执行下述两者的XOR操作:结果值(RK0PK1)——该结果值由新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0和紧接先前回合的128比特回合密钥的最高有效32比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥PK1的第三个XOR门的XOR操作得到——以及先前回合的32比特(即,第63个比特到第32个比特)回合密钥PK2,第四个XOR门118b产生128比特回合密钥的32比特(即,第63个比特到第32个比特)回合密钥RK2用于新回合的加密。At the same time, by performing an XOR operation of the following two: the resulting value (RK0 PK1) - This result value consists of the most significant 32 bits (i.e., bits 127 to 96) of the round key RK0 of the new round's 128-bit round key and the value of the immediately preceding round's 128-bit round key The XOR operation of the third XOR gate of the round key PK1 yields the 32 bits (i.e., 95th to 64th bits) of the most significant 32-bit round key—and the 32 bits of the previous round (i.e., the 63rd bits to the 32nd bit) round key PK2, the fourth XOR gate 118b generates 32 bits (i.e., the 63rd bit to the 32nd bit) round key RK2 of the 128-bit round key for the new round encryption.

同时,通过执行下述两者的XOR操作:结果值(RK0PK1)——该结果值由已经由第三个XOR门118a异或的、新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0,与紧接先前回合的128比特回合密钥的最高有效32比特回合密钥的32比特(即,第95个比特到第64个比特)回合密钥PK1,进行第四个XOR门的XOR操作来得到——以及先前回合的32比特(即,第63个比特到第32个比特)回合密钥PK2,从而产生XOR操作的结果值(RK0

Figure 200480022446910000210003_8
PK1PK2),然后通过执行结果值(RK0PK1
Figure 200480022446910000210003_11
PK2)和先前回合的32比特(即,第31个比特到第0个比特)回合密钥PK3的XOR操作,第五个XOR门118c产生128比特回合密钥的32比特(即,第31个比特到第0个比特)回合密钥RK3用于新回合的加密。At the same time, by performing an XOR operation of the following two: the resulting value (RK0 PK1) - This result value is formed by the most significant 32 bits (i.e., 127th bit to 96th bit) of the round key RK0 of the new round's 128-bit round key that has been XORed by the third XOR gate 118a , with the 32-bit (i.e., 95th to 64th bits) round key PK1 of the most significant 32-bit round key immediately preceding the 128-bit round key of the previous round, XORed by the fourth XOR gate to get - and the previous round's 32-bit (i.e., 63rd bit to 32nd bit) round key PK2, resulting in the resulting value of the XOR operation (RK0
Figure 200480022446910000210003_8
PK1 PK2), and then pass the execution result value (RK0 PK1
Figure 200480022446910000210003_11
PK2) and the previous round's 32-bit (i.e., 31st bit to 0th bit) round key PK3 XOR operation, the fifth XOR gate 118c produces 32 bits of the 128-bit round key (i.e., the 31st bit) bit to 0th bit) the round key RK3 is used for the encryption of the new round.

在从回合操作控制单元300输入2时钟回合操作开始信号到回合操作单元100的情况下,回合密钥产生单元110在一个时钟周期期间产生解密回合密钥。In a case where a 2-clock round operation start signal is input from the round operation control unit 300 to the round operation unit 100 , the round key generation unit 110 generates a decryption round key during one clock cycle.

此时,当输入回合操作开始信号并且时钟同时处于‘0’状态时,通过第二个XOR门118执行产生新回合的128比特回合密钥的最高有效32比特(即,第127个比特到第96个比特)回合密钥RK0的过程。At this time, when the round operation start signal is input and the clock is in the '0' state at the same time, the most significant 32 bits of the 128-bit round key (that is, the 127th bit to the 127th bit to the 96 bits) round key RK0 process.

如果回合操作开始信号的第一个时钟变为‘1’,那么通过执行下述两者的XOR操作:先前回合的最高有效32比特PK0以及先前回合的接下来的高32比特PK1,第三个XOR门118a产生新回合的接下来的32比特回合密钥RK1,并且接下来与第三个XOR门118a以相同方式操作的第四个XOR门118b和第五个XOR门118c,产生用于解密的接下来的32比特回合密钥RK2和最低有效32比特回合密钥RK3。在第一个时钟周期期间同时执行这些过程。If the first clock of the round operation start signal becomes '1', then by performing an XOR operation of: the most significant 32 bits PK0 of the previous round and the next high 32 bits PK1 of the previous round, the third The XOR gate 118a generates the next 32-bit round key RK1 for the new round, and then the fourth XOR gate 118b and the fifth XOR gate 118c, which operate in the same way as the third XOR gate 118a, generate The next 32-bit round key RK2 and the least significant 32-bit round key RK3. These processes are executed simultaneously during the first clock cycle.

现在,根据从回合操作控制单元300输入到回合操作单元100的回合操作开始信号的时钟数,将更详细地说明如上所述执行加密和解密过程的rijndael块密码装置的操作。Now, the operation of the rijndael block cipher device performing the encryption and decryption processes as described above will be described in more detail according to the clock count of the round operation start signal input from the round operation control unit 300 to the round operation unit 100.

图4是说明根据本发明的加密rijndael块密码的方法的第一个时序图。FIG. 4 is a first sequence diagram illustrating a method of encrypting a rijndael block cipher according to the present invention.

参考图4,如果从回合操作控制单元300输入四时钟回合操作开始信号和回合数信号到回合操作单元100(步骤S400),那么在第一个时钟变为‘1’的时刻,关于128比特回合操作输入数据的高64比特数据,连续地执行字节移位变换和置换操作(步骤S401),并且这两个过程在一个时钟内执行。这些过程的结果存储在64比特数据寄存器400中。同样地,在回合操作开始信号的第一个时钟变为‘1’的时刻,使用128比特回合输入密钥的128比特回合密钥产生过程开始(步骤S401a)。Referring to FIG. 4, if a four-clock round operation start signal and a round number signal are input from the round operation control unit 300 to the round operation unit 100 (step S400), then at the moment when the first clock becomes '1', the 128-bit round Operate the upper 64-bit data of the input data, continuously perform byte shift transformation and permutation operations (step S401), and these two processes are executed within one clock. The results of these processes are stored in 64-bit data registers 400 . Likewise, at the moment when the first clock of the round operation start signal becomes '1', the 128-bit round key generation process using the 128-bit round input key starts (step S401a).

在回合操作开始信号的第二个时钟变为‘1’的时刻,使用存储在64比特数据寄存器400中的64比特数据的列混合变换利用它的存储在64比特数据寄存器400中结果值执行(步骤S402),同时连续执行回合操作输入数据的低64比特数据的字节移位变换和置换操作(步骤S402)。这两个过程在一个时钟内进行。同样,低64比特数据的字节移位变换和置换操作的结果数据存储在存储回合操作结果的128比特数据寄存器500的低64比特位置。At the moment when the second clock of the round operation start signal becomes '1', the column mixing transformation using the 64-bit data stored in the 64-bit data register 400 is performed with its result value stored in the 64-bit data register 400 ( Step S402), while continuously performing the byte shift transformation and replacement operation of the lower 64-bit data of the round operation input data (step S402). These two processes are performed within one clock. Likewise, the result data of the byte shift transformation and permutation operation of the lower 64-bit data is stored in the lower 64-bit position of the 128-bit data register 500 storing the result of the round operation.

在回合操作开始信号的第三个时钟变为‘1’的时刻,存储在64比特数据寄存器400中的64比特输入到加回合密钥变换单元170,以便加到由回合密钥产生单元110产生的回合密钥的高64比特,并且结果值存储在128比特数据寄存器500的高64比特位置(步骤S403)。而且,128比特数据寄存器500的低64比特数据也执行列混合变换,并且结果值存储在128比特数据寄存器500的低64比特位置(步骤S403)。At the moment when the third clock of the round operation start signal becomes '1', the 64 bits stored in the 64-bit data register 400 are input to the addition round key transformation unit 170, so as to be added to the round key generation unit 110 to generate The upper 64 bits of the round key, and the result value is stored in the upper 64 bits of the 128-bit data register 500 (step S403). Also, the lower 64-bit data of the 128-bit data register 500 is also subjected to column mixing transformation, and the resultant value is stored in the lower 64-bit position of the 128-bit data register 500 (step S403).

在回合操作开始信号的第四个时钟变为‘1’的时刻,128比特数据寄存器500的低64比特输入到加回合密钥变换单元170,以便加到由回合密钥产生单元110产生的回合密钥的低64比特,并且结果值存储在128比特数据寄存器500的低64比特位置(步骤S404)。At the moment when the fourth clock of the round operation start signal becomes '1', the lower 64 bits of the 128-bit data register 500 are input to the addition round key conversion unit 170, so as to be added to the round key generated by the round key generation unit 110 The lower 64 bits of the key, and the resulting value is stored in the lower 64 bits of the 128-bit data register 500 (step S404).

因此,在执行上述加密过程的rijndael块密码装置中,128比特数据寄存器500的128比特数据用作下一个回合的128比特回合操作输入数据,并且由回合密钥产生单元110新产生然后存储在128比特回合密钥寄存器111a中的回合密钥RK也存储在128比特预密钥寄存器111中用作下一个回合的128比特回合输入密钥。因此,在四个时钟的周期内完成一个回合的加密操作。Therefore, in the rijndael block cipher device performing the above encryption process, the 128-bit data of the 128-bit data register 500 is used as the 128-bit round operation input data of the next round, and is newly generated by the round key generation unit 110 and then stored in the 128 The round key RK in the bit round key register 111a is also stored in the 128-bit pre-key register 111 and used as the 128-bit round input key for the next round. Therefore, one round of encryption operation is completed within four clock cycles.

在由根据本发明的rijndael块密码装置执行如图4中说明的加密方法的情况下,回合密钥产生单元110在回合操作开始信号的四个时钟的周期内完成回合密钥产生过程。即,如图4中所示,从回合操作开始第三个时钟之后,执行加回合密钥变换过程(步骤S403),它是将高64比特数据与回合密钥相加的过程。从回合操作开始第二个时钟之后,只产生新回合的高64比特回合密钥,并且此时因为只使用高64比特回合密钥,所以执行回合操作的加密操作没有问题。同样地,因为用于回合操作的第三个时钟之后的第四个时钟开始的时间点与产生所有128比特回合密钥的时间点一致,所以执行加回合密钥变换过程(步骤S404)没有问题,该过程将低64比特数据与低64比特回合密钥相加。In the case of performing the encryption method as illustrated in FIG. 4 by the rijndael block cipher device according to the present invention, the round key generation unit 110 completes the round key generation process within four clock cycles of the round operation start signal. That is, as shown in FIG. 4, after the third clock from the start of the round operation, an addition round key conversion process (step S403), which is a process of adding upper 64-bit data to the round key, is performed. After the second clock from the start of the round operation, only the upper 64-bit round key of the new round is generated, and since only the upper 64-bit round key is used at this time, there is no problem in performing the encryption operation of the round operation. Likewise, because the time point of the fourth clock after the third clock used for the round operation is consistent with the time point of generating all 128-bit round keys, there is no problem in performing the addition round key conversion process (step S404) , the process adds the lower 64 bits of data to the lower 64 bits of the round key.

同样地,在执行上述加密过程的rijndael块密码装置中,64比特数据寄存器400用作加密过程期间产生的中间数据的存储空间,因此高64比特数据的字节移位变换的结果不影响低64比特数据的字节移位变换。同样地,因为高64比特数据和低64比特数据同时变换,但是在相同时钟周期期间不以相同方式变换,所以变换要求的硬件模块的数可以减半。特别是,更新为每个时钟产生的数据并存储在一个存储空间中,因此不要求额外的存储空间。即,这种情况导向这样的结构:它应用流水线结构但不要求额外的硬件,并且这种结构将以相同方式应用到随后要说明的根据本发明其它实施例的加密和解密rijndael块密码的方法。Likewise, in the rijndael block cipher device that performs the encryption process described above, the 64-bit data register 400 is used as a storage space for intermediate data generated during the encryption process, so the result of the byte shift transformation of the upper 64-bit data does not affect the lower 64-bit data register 400. Byte-shift transformation of bit data. Likewise, because the upper 64-bit data and lower 64-bit data are transformed simultaneously, but not in the same way during the same clock cycle, the number of hardware blocks required for the transformation can be halved. In particular, updates are generated for each clock and stored in a memory space, so no additional memory space is required. That is, this situation leads to a structure that uses a pipeline structure but does not require additional hardware, and this structure will be applied in the same manner to the methods of encrypting and decrypting rijndael block ciphers according to other embodiments of the present invention to be described later .

图5是说明根据本发明的解密rijndael块密码的方法的第一个时序图。FIG. 5 is a first sequence diagram illustrating a method of decrypting a rijndael block cipher according to the present invention.

参考图5,如果从回合操作控制单元300输入四时钟回合操作开始信号和回合数信号到回合操作单元100(步骤S500),那么在第一个时钟变为‘1’的时刻,关于128比特回合操作输入数据的高64比特数据连续地执行字节反移位变换和反置换操作(步骤S501),并且这两个过程在一个时钟内执行。此时,结果数据存储在64比特数据寄存器400中。同样地,如果回合操作开始信号的第一个时钟变为‘1’,使用128比特回合输入密钥的128比特回合密钥产生过程开始(步骤S501a)。Referring to FIG. 5, if a four-clock round operation start signal and a round number signal are input from the round operation control unit 300 to the round operation unit 100 (step S500), then at the moment when the first clock becomes '1', the 128-bit round The upper 64-bit data of the operation input data continuously performs byte inverse shift transformation and inverse permutation operations (step S501), and these two processes are performed within one clock. At this time, the result data is stored in the 64-bit data register 400 . Likewise, if the first clock of the round operation start signal becomes '1', the 128-bit round key generation process using the 128-bit round input key starts (step S501a).

在回合操作开始信号的第二个时钟变为‘1’的时刻,执行加回合密钥变换,用于将存储在64比特数据寄存器400中的64比特数据与通过回合密钥产生单元110产生的回合密钥的高64比特相加,并且结果数据存储在64比特数据寄存器400中(步骤S502)。同时连续地执行回合操作输入数据的低64比特数据的字节反移位变换和反置换,并且结果数据存储在128比特数据寄存器的低64比特位置(步骤S502)。At the moment when the second clock of the round operation start signal becomes '1', an addition round key conversion is performed, which is used to convert the 64-bit data stored in the 64-bit data register 400 with the round key generation unit 110. The upper 64 bits of the round key are added, and the resulting data is stored in the 64-bit data register 400 (step S502). At the same time, byte inverse shift transformation and inverse permutation of the lower 64-bit data of the round operation input data are continuously performed, and the resultant data is stored in the lower 64-bit position of the 128-bit data register (step S502).

在回合操作开始信号的第三个时钟变为‘1’的时刻,存储在64比特数据寄存器400中的64比特数据输入到列混合/反列混合变换单元150,并且反列混合变换的结果数据存储在128比特数据寄存器500的高64比特位置(步骤S503)。同时执行加回合密钥变换,用于将已经通过反置换操作的低64比特数据与从回合密钥产生单元110产生的回合密钥相加,并且结果数据存储在128比特数据寄存器的低64比特位置(步骤S503)。At the moment when the third clock of the round operation start signal becomes '1', the 64-bit data stored in the 64-bit data register 400 is input to the column mixing/inverse column mixing transformation unit 150, and the result data of the inverse column mixing transformation stored in the upper 64-bit position of the 128-bit data register 500 (step S503). Simultaneously perform addition round key conversion for adding the lower 64-bit data that has passed the reverse permutation operation to the round key generated from the round key generation unit 110, and the resulting data is stored in the lower 64 bits of the 128-bit data register location (step S503).

在回合操作开始信号的第四个时钟变为‘1’的时刻,已经通过加回合密钥变换的低64比特数据输入到列混合/反列混合变换单元150进行反列混合变换,并且结果数据存储在128比特数据寄存器500的低64比特位置(步骤S504)。At the moment when the fourth clock of the round operation start signal becomes '1', the lower 64-bit data that has been transformed by adding the round key is input to the column mixing/anti-column mixing transformation unit 150 for anti-column mixing transformation, and the resulting data stored in the lower 64-bit position of the 128-bit data register 500 (step S504).

此时,128比特数据寄存器500的128比特数据用作下一个解密回合操作的128比特回合操作输入数据,并且作为回合密钥产生的结果的128比特回合密钥RK存储在128比特预密钥寄存器111中,以便用作下一个回合操作的128比特回合输入密钥。因此,在四个时钟的周期内完成一个回合的解密操作。At this time, the 128-bit data of the 128-bit data register 500 is used as the 128-bit round operation input data of the next decryption round operation, and the 128-bit round key RK as the result of the round key generation is stored in the 128-bit pre-key register 111 in order to be used as the 128-bit round input key for the next round operation. Therefore, one round of decryption operation is completed within four clock cycles.

在由根据本发明的rijndael块密码装置执行如图5中说明的解密方法的情况下,回合密钥产生单元110在回合操作开始信号的两个时钟的周期内完成回合密钥产生过程。即,如图5中所示,因为从回合操作开始第二个时钟之后,执行加回合密钥变换过程,它是将高64比特回合密钥与64比特数据相加的过程(步骤S502),所以在第二个时钟的时间点已经产生所有128比特回合密钥,因此执行回合操作没有问题。In the case of performing the decryption method as illustrated in FIG. 5 by the rijndael block cipher device according to the present invention, the round key generation unit 110 completes the round key generation process within two clock cycles of the round operation start signal. That is, as shown in FIG. 5, since after the second clock from the start of the round operation, the addition round key transformation process is performed, which is a process of adding the upper 64-bit round key to 64-bit data (step S502), So at the point in time of the second clock all 128-bit round keys have been generated, so there is no problem performing round operations.

图6是说明根据本发明的加密rijndael块密码的方法的第二个时序图。FIG. 6 is a second sequence diagram illustrating a method of encrypting a rijndael block cipher according to the present invention.

参考图6,如果从回合操作控制单元300输入三时钟回合操作开始信号和回合数信号到回合操作单元100(步骤S600),那么在第一个时钟变为‘1’的时刻,连续地执行高64比特数据的字节移位操作和置换操作,并且结果数据存储在64比特数据寄存器中(步骤S601)。同样地,同时执行回合密钥产生过程(步骤S601a)。Referring to FIG. 6, if a three-clock round operation start signal and a round number signal are input from the round operation control unit 300 to the round operation unit 100 (step S600), then at the moment when the first clock becomes '1', the high A byte shift operation and a permutation operation of 64-bit data, and the resultant data is stored in a 64-bit data register (step S601). Likewise, the round key generation process (step S601a) is executed at the same time.

在回合操作开始信号的第二个时钟变为‘1’的时刻,列混合变换存储在64比特数据寄存器400中的64比特数据,然后加到加回合密钥变换单元110的结果数据的高64比特回合密钥。加回合密钥变换的结果数据存储在64比特数据寄存器400中(步骤S602)。同时,连续地执行低64比特数据的字节移位变换和置换操作,并且结果数据存储在128比特数据寄存器500的低64比特位置(步骤S602)。At the moment when the second clock of the round operation start signal becomes '1', the column mix transforms the 64-bit data stored in the 64-bit data register 400, and then adds to the high 64 bits of the result data added to the round key transform unit 110 Bit round key. The result data of the addition round key transformation is stored in the 64-bit data register 400 (step S602). At the same time, byte shift transformation and permutation operations of the lower 64-bit data are continuously performed, and the resultant data is stored in the lower 64-bit position of the 128-bit data register 500 (step S602).

在回合操作开始信号的第三个时钟变为‘1’的时刻,存储在64比特数据寄存器400中的64比特数据输入到128比特数据寄存器500的高64比特位置,并且列混合变换128比特数据寄存器500的低64比特数据,然后加到由回合密钥产生单元110产生的回合密钥的低64比特回合密钥。结果数据存储在128比特数据寄存器500的低64比特位置(步骤S603)。At the moment when the third clock of the round operation start signal becomes '1', the 64-bit data stored in the 64-bit data register 400 is input to the upper 64-bit position of the 128-bit data register 500, and the columns mix and transform the 128-bit data The lower 64-bit data of the register 500 is then added to the lower 64-bit round key of the round key generated by the round key generation unit 110 . The resulting data is stored in the lower 64-bit positions of the 128-bit data register 500 (step S603).

此时,128比特数据寄存器500的128比特数据用作下一个回合操作的128比特回合操作输入数据,并且由回合密钥产生单元110产生的回合密钥RK存储在128比特预密钥寄存器111中,然后用作下一个回合的128比特回合输入密钥。因此,在三个时钟的周期内完成一个回合的加密操作。At this time, the 128-bit data of the 128-bit data register 500 is used as the 128-bit round operation input data of the next round operation, and the round key RK generated by the round key generation unit 110 is stored in the 128-bit pre-key register 111 , which is then used as the 128-bit round input key for the next round. Therefore, one round of encryption operation is completed within three clock cycles.

在由根据本发明的rijndael块密码装置执行如图6中说明的加密方法的情况下,回合密钥产生单元110在回合操作开始信号的两个时钟的周期内完成回合密钥产生过程。即,如图6中所示,因为从回合操作开始第二个时钟之后,执行加回合密钥变换过程(步骤S602),它是将高64比特回合密钥与高64比特数据相加的过程,所以在第二个时钟的时间点已经产生所有128比特回合密钥,因此执行回合操作没有问题。In the case of performing the encryption method as illustrated in FIG. 6 by the rijndael block cipher device according to the present invention, the round key generation unit 110 completes the round key generation process within two clock cycles of the round operation start signal. That is, as shown in FIG. 6, because after the second clock from the start of the round operation, the addition round key conversion process (step S602), which is a process of adding the upper 64-bit round key to the upper 64-bit data, is performed , so at the time point of the second clock all 128-bit round keys have been generated, so there is no problem in performing the round operation.

图7是说明根据本发明的解密rijndael块密码的方法的第二个时序图。FIG. 7 is a second sequence diagram illustrating a method of decrypting a rijndael block cipher according to the present invention.

参考图7,如果从回合操作控制单元300输入三时钟回合操作开始信号和回合数信号到回合操作单元100(步骤S700),那么在第一个时钟变为‘1’的时刻,关于128比特回合操作输入数据的高64比特数据连续地执行字节反移位变换和反置换操作,并且结果数据存储在64比特数据寄存器400中(步骤S701)。同样地,回合密钥产生过程与这些变换同时开始(步骤S701a)。Referring to FIG. 7, if a three-clock round operation start signal and a round number signal are input from the round operation control unit 300 to the round operation unit 100 (step S700), then at the moment when the first clock becomes '1', the 128-bit round The upper 64-bit data of the operation input data is continuously subjected to byte inverse shift transformation and inverse permutation operations, and the resultant data is stored in the 64-bit data register 400 (step S701). Likewise, the round key generation process starts simultaneously with these transformations (step S701a).

在回合操作开始信号的第二个时钟变为‘1’时,执行加回合密钥变换,用于将存储在64比特数据寄存器400中的64比特数据与由回合密钥产生单元110产生的回合密钥的高64比特回合密钥相加,并且结果数据输入到列混合/反列混合变换单元150。反列混合变换的数据存储在64比特数据寄存器400中(步骤S702)。同时,连续地执行回合操作输入数据的低64比特数据的字节反移位变换和反置换变换,并且结果数据存储在128比特数据寄存器的低64比特位置(步骤S702)。When the second clock of the round operation start signal becomes '1', an addition round key transformation is performed for combining the 64-bit data stored in the 64-bit data register 400 with the round key generated by the round key generation unit 110 The upper 64-bit round keys of the keys are summed, and the resulting data is input to the column mix/inverse column mix transformation unit 150 . The data of inverse column mixing transformation is stored in the 64-bit data register 400 (step S702). At the same time, byte inverse shift transformation and inverse permutation transformation of the lower 64-bit data of the round operation input data are continuously performed, and the resultant data is stored in the lower 64-bit position of the 128-bit data register (step S702).

在回合操作开始信号的第三个时钟变为‘1’的时刻,存储在64比特数据寄存器400中的64比特数据存储在128比特数据寄存器500的高64比特位置,并且执行加回合密钥变换,用于将128比特数据寄存器500的低64比特数据与回合密钥产生单元110的低64比特回合密钥相加。然后,反列混合变换加回合密钥变换的结果数据,并且反列混合变换的结果数据存储在128比特数据寄存器的低64比特位置(步骤S703)。At the moment when the third clock of the round operation start signal becomes '1', the 64-bit data stored in the 64-bit data register 400 is stored in the upper 64-bit position of the 128-bit data register 500, and the addition round key transformation is performed , for adding the lower 64-bit data of the 128-bit data register 500 to the lower 64-bit round key of the round key generation unit 110 . Then, the result data of the inverse column mixing transformation plus the round key transformation is stored in the lower 64-bit position of the 128-bit data register (step S703 ).

此时,128比特数据寄存器500的128比特数据用作下一个回合操作的128比特回合操作输入数据,并且由回合密钥产生单元110产生的128比特回合密钥RK存储在128比特预密钥寄存器111中,以便用作下一个回合操作的128比特回合输入密钥。因此,在三个时钟的周期内完成一个回合的解密操作。At this time, the 128-bit data of the 128-bit data register 500 is used as the 128-bit round operation input data of the next round operation, and the 128-bit round key RK generated by the round key generation unit 110 is stored in the 128-bit pre-key register 111 in order to be used as the 128-bit round input key for the next round operation. Therefore, one round of decryption operation is completed within three clock cycles.

在由根据本发明的rijndael块密码装置执行如图7中说明的解密方法的情况下,回合密钥产生单元110在回合操作开始信号的两个时钟的周期内完成回合密钥产生过程。即,如图7中所示,因为从回合操作开始第二个时钟之后,执行加回合密钥变换过程(步骤S702),用于将高64比特回合密钥与高64比特数据相加,所以在第二个时钟的时间点已经产生所有128比特回合密钥,因此执行回合操作没有问题。In the case of performing the decryption method as illustrated in FIG. 7 by the rijndael block cipher device according to the present invention, the round key generation unit 110 completes the round key generation process within two clock cycles of the round operation start signal. That is, as shown in FIG. 7, since the addition round key transformation process (step S702) is performed after the second clock from the start of the round operation for adding the upper 64-bit round key to the upper 64-bit data, At the point in time of the second clock all 128-bit round keys have been generated, so there is no problem performing round operations.

图8是说明根据本发明的加密rijndael块密码的方法的第三个时序图。FIG. 8 is a third sequence diagram illustrating a method of encrypting a rijndael block cipher according to the present invention.

参考图8,如果从回合操作控制单元300输入两时钟回合操作开始信号和回合数信号到回合操作单元100(步骤S800),那么当第一个时钟变为‘1’时,关于回合输入数据的高64比特数据连续地执行字节移位变换、置换变换、列混合变换和加回合密钥变换,并且结果数据存储在64比特数据寄存器400中(步骤S801)。同时执行回合密钥产生过程(步骤S801a),并且执行产生的回合密钥的高64比特回合密钥的加回合密钥变换。这些过程在一个时钟的周期内执行。Referring to FIG. 8, if the two-clock round operation start signal and the round number signal are input from the round operation control unit 300 to the round operation unit 100 (step S800), then when the first clock becomes '1', the round input data The upper 64-bit data is successively subjected to byte shift transformation, permutation transformation, column mix transformation, and addition round key transformation, and the resultant data is stored in the 64-bit data register 400 (step S801). At the same time, the round key generation process (step S801a) is executed, and round key conversion of the upper 64-bit round key of the generated round key is performed. These processes are executed in one clock cycle.

当回合操作开始信号的第二个时钟变为‘1’时,关于回合输入数据的低64比特数据连续地执行字节移位变换、置换变换、列混合变换和加回合密钥变换,并且结果数据存储在128比特数据寄存器500的低64比特位置中(步骤S802)。同样地,执行回合密钥产生过程中产生的回合密钥的低64比特回合密钥的加回合密钥变换。此时,存储在64比特数据寄存器400中的64比特数据存储在128比特数据寄存器500的高64比特位置中,并且由回合密钥产生单元110新产生的128比特回合密钥RK存储在128比特回合密钥寄存器111a中,并且备份在128比特预密钥寄存器111中。因此,在两个时钟的周期内完成一个回合的加密操作。When the second clock of the round operation start signal becomes '1', byte shift transformation, permutation transformation, column mixing transformation and addition round key transformation are continuously performed on the lower 64-bit data of the round input data, and the result Data is stored in the lower 64-bit positions of the 128-bit data register 500 (step S802). Likewise, round key transformation by addition of the lower 64 bits of the round key generated in the round key generation process is performed. At this time, the 64-bit data stored in the 64-bit data register 400 is stored in the upper 64-bit position of the 128-bit data register 500, and the 128-bit round key RK newly generated by the round key generation unit 110 is stored in the 128-bit in the round key register 111a, and is backed up in the 128-bit pre-key register 111. Therefore, one round of encryption operation is completed within two clock cycles.

在由根据本发明的rijndael块密码装置执行如图8中说明的加密方法的情况下,回合密钥产生单元110在回合操作开始信号的一个时钟的周期内完成回合密钥产生过程。即,如图8中所示,因为从回合操作开始第一个时钟之后,执行加回合密钥变换过程(步骤S801),用于将高64比特回合密钥与高64比特数据相加,所以在第一个时钟的时间点已经产生所有128比特回合密钥,因此执行回合操作没有问题。In the case of performing the encryption method as illustrated in FIG. 8 by the rijndael block cipher device according to the present invention, the round key generation unit 110 completes the round key generation process within one clock cycle of the round operation start signal. That is, as shown in FIG. 8, since after the first clock from the start of the round operation, the addition round key conversion process (step S801) is performed for adding the upper 64-bit round key to the upper 64-bit data, so All 128-bit round keys have been generated at the time of the first clock, so there is no problem performing round operations.

实际上,如图3中说明的回合密钥产生单元110使用RK0产生RK1,使用RK1产生RK2。回合密钥产生单元110不使用RK2产生RK3,但是在如下状态中产生RK0:输入回合操作开始信号并且时钟同时变为‘0’。当第一个时钟变为‘1’时,回合密钥产生单元110同时通过异或RK0和PK1产生RK1,通过异或RK0与PK1以及PK2产生RK2,以及通过异或RK0与PK1、PK2和PK3产生RK3。Actually, the round key generation unit 110 as illustrated in FIG. 3 generates RK1 using RK0 and generates RK2 using RK1. The round key generating unit 110 does not generate RK3 using RK2, but generates RK0 in a state where a round operation start signal is input and the clock becomes '0' at the same time. When the first clock becomes '1', the round key generation unit 110 simultaneously generates RK1 through XOR RK0 and PK1, generates RK2 through XOR RK0 with PK1 and PK2, and generates RK2 through XOR RK0 with PK1, PK2 and PK3 RK3 is generated.

图9是说明根据本发明的解密rijndael块密码的方法的第三个时序图。FIG. 9 is a third sequence diagram illustrating a method of decrypting a rijndael block cipher according to the present invention.

参考图9,如果从回合操作控制单元300输入两时钟回合操作开始信号和回合数信号到回合操作单元100(步骤S900),那么当第一个时钟变为‘1’时,关于回合输入数据的高64比特数据连续地执行字节反移位变换、反置换变换、加回合密钥变换和反列混合变换,并且结果数据存储在64比特数据寄存器400中(步骤S901)。这些过程在一个时钟的周期内执行。同时执行回合密钥产生过程(步骤S901a)用于解密,并且执行由回合密钥产生单元110产生的回合密钥的高64比特回合密钥的加回合密钥变换。Referring to FIG. 9, if the two-clock round operation start signal and the round number signal are input from the round operation control unit 300 to the round operation unit 100 (step S900), then when the first clock becomes '1', the round input data The upper 64-bit data is successively subjected to byte inverse shift transformation, inverse permutation transformation, addition round key transformation and inverse column mixing transformation, and the resultant data is stored in the 64-bit data register 400 (step S901). These processes are executed in one clock cycle. Simultaneously, the round key generation process (step S901a) is performed for decryption, and the addition round key transformation of the upper 64-bit round key of the round key generated by the round key generation unit 110 is performed.

当回合操作开始信号的第二个时钟变为‘1’时,关于回合输入数据的低64比特数据连续地执行字节反移位变换、反置换变换、加回合密钥变换和反列混合变换,并且结果数据存储在128比特数据寄存器500的低64比特位置中(步骤S902)。这些过程在一个时钟的周期中执行。同样地,一个时钟之前由回合密钥产生单元110产生的回合密钥的低64比特回合密钥用于加回合密钥变换。此时,存储在64比特数据寄存器400中的64比特数据存储在128比特数据寄存器500的高64比特位置中,并且由回合密钥产生单元110新产生的128比特回合密钥RK存储在128比特回合密钥寄存器111a中,并且备份在128比特预密钥寄存器111中。因此,在两个时钟的周期内完成一个回合的解密操作。When the second clock of the round operation start signal becomes '1', the low 64-bit data of the round input data continuously performs byte reverse shift transformation, reverse permutation transformation, addition round key transformation and reverse column mixing transformation , and the resulting data is stored in the lower 64-bit positions of the 128-bit data register 500 (step S902). These processes are executed in one clock cycle. Likewise, the lower 64-bit round key of the round key generated by the round key generating unit 110 one clock before is used for adding the round key transformation. At this time, the 64-bit data stored in the 64-bit data register 400 is stored in the upper 64-bit position of the 128-bit data register 500, and the 128-bit round key RK newly generated by the round key generation unit 110 is stored in the 128-bit in the round key register 111a, and is backed up in the 128-bit pre-key register 111. Therefore, one round of decryption operation is completed within two clock cycles.

在由根据本发明的rijndael块密码装置执行如图9中说明的解密方法的情况下,回合密钥产生单元110在回合操作开始信号的一个时钟的周期内完成回合密钥产生过程。即,如图9中所示,从回合操作开始第一个时钟之后,执行加回合密钥变换过程(步骤S901),用于将高64比特回合密钥与高64比特数据相加,但是在第一个时钟的时间点已经产生所有128比特回合密钥,因此执行回合操作没有问题。In the case of performing the decryption method as illustrated in FIG. 9 by the rijndael block cipher device according to the present invention, the round key generation unit 110 completes the round key generation process within one clock cycle of the round operation start signal. That is, as shown in FIG. 9, after the first clock from the start of the round operation, an addition round key transformation process (step S901) is performed for adding the upper 64-bit round key to the upper 64-bit data, but at At the point in time of the first clock all 128-bit round keys have been generated, so there is no problem performing round operations.

实际上,如图3中说明的回合密钥产生单元110在如下状态中产生RK0:输入回合操作开始信号并且同时时钟变为‘0’。当第一个时钟变为‘1’时,回合密钥产生单元110同时通过异或RK0和PK1产生RK1,通过异或PK1以及PK2产生RK2,以及通过异或PK2和PK3产生RK3。Actually, the round key generation unit 110 as illustrated in FIG. 3 generates RK0 in a state where a round operation start signal is input and at the same time the clock becomes '0'. When the first clock becomes '1', the round key generating unit 110 simultaneously generates RK1 by XORing RK0 and PK1, generates RK2 by XORing PK1 and PK2, and generates RK3 by XORing PK2 and PK3.

如上所述,根据如图8中说明的加密方法和图9中说明的解密方法的rijndael块密码装置是适合应用到智能卡、USIM(用户订户身份模块)卡、SIM卡等的模型,它尺寸小、具有低功耗和低工作频率特性。As described above, the rijndael block cipher device according to the encryption method illustrated in FIG. 8 and the decryption method illustrated in FIG. 9 is a model suitable for application to smart cards, USIM (User Subscriber Identity Module) cards, SIM cards, etc., which are small in size , With low power consumption and low operating frequency characteristics.

产业上的可利用性Industrial availability

从上面的说明可见,根据本发明的rijndael块密码装置及其加密/解密方法,通过安装在移动终端如蜂窝电话和PDA或智能卡中,可以高速地加密和解密要求安全性的重要数据,该移动终端要求高速度和小尺寸的密码处理器,并且关于从128比特输入数据分割的高64比特和低64比特能够执行回合操作。本发明具有下面的效果:As can be seen from the above description, according to the rijndael block cipher device and encryption/decryption method thereof of the present invention, by being installed in mobile terminals such as cellular phones and PDAs or smart cards, important data requiring security can be encrypted and decrypted at high speed, the mobile The terminal requires a cryptographic processor of high speed and small size, and can perform a round operation with respect to upper 64 bits and lower 64 bits split from 128-bit input data. The present invention has following effect:

第一,根据本发明的密码装置具有小的尺寸,并且可以通过在装置中重复地使用回合操作设备,高速地加密/解密实时数据。First, the cryptographic device according to the present invention has a small size and can encrypt/decrypt real-time data at high speed by repeatedly using round operation devices in the device.

第二,因为根据本发明的密码装置使用应用rijndael算法的回合操作设备实时地加密/解密块密码数据,所以与应用现有的DES(数据加密标准)的操作设备相比,它可以提供更高级的安全性。Second, since the cryptographic apparatus according to the present invention encrypts/decrypts block cipher data in real time using a round operation device applying the rijndael algorithm, it can provide a higher level security.

第三,根据本发明的密码装置的rijndael加密/解密回合操作设备具有如下优点:通过增加重复回合操作预定次数的简单控制器,它可以实时地加密/解密块密码数据。Third, the rijndael encryption/decryption round operation device of the cryptographic device according to the present invention has the advantage that it can encrypt/decrypt block cipher data in real time by adding a simple controller that repeats the round operation a predetermined number of times.

第四,根据本发明的密码装置的回合操作设备可以实时地快速加密/解密数据,虽然它具有小的尺寸,该尺寸几乎是现有的以128比特为单位的回合操作设备的尺寸的一半。Fourth, the round operation device of the cryptographic device according to the present invention can quickly encrypt/decrypt data in real time although it has a small size which is almost half the size of the existing round operation device in units of 128 bits.

第五,根据本发明的密码装置的回合操作设备可以使用根据它的应用领域的适当的方法实现,并且在应用到不考虑使用的硬件资源数量的系统的情况下,通过应用以128比特为单位的回合过程而不是以64比特为单位的回合过程,它可以得到两倍高的数据加密/解密速度。Fifth, the round operation device of the cryptographic device according to the present invention can be realized using an appropriate method according to its application field, and in the case of being applied to a system regardless of the amount of hardware resources used, by applying a 128-bit unit Instead of the round process with 64 bits as the unit, it can get twice as high data encryption/decryption speed.

前面的实施例只是示范性的,并且不被解释为限制本发明。本教导可容易地应用到其它类型的装置。本发明的说明旨在说明性,并不限制权利要求的范围。对本领域的技术人员,很多替代、修改和变化将是显然的。The foregoing embodiments are exemplary only, and are not to be construed as limiting the invention. The present teachings are readily applicable to other types of devices. The description of the present invention is intended to be illustrative, not to limit the scope of the claims. Many alternatives, modifications and variations will be apparent to those skilled in the art.

Claims (16)

1.一种瑞恩多尔块加密装置,具有128比特输入数据和128比特输入密钥,并且通过执行回合操作来加密128比特输入数据,该回合操作包括行移位、置换、列混合和加回合密钥的变换,该装置包含:1. A Ryan Dole block encryption device having 128-bit input data and a 128-bit input key, and encrypting the 128-bit input data by performing a round operation comprising row shifting, permutation, column mixing and adding Transformation of the round key, the device contains: 回合操作单元,用于将128比特输入密钥转换为用于加密的128比特回合密钥,并且从输入加密操作开始信号和模式信号之后、输入回合操作开始信号、回合数信号和比特选择信号用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特时,根据模式信号的值存储128比特回合密钥,并且通过将128比特输入数据分割为高64比特和低64比特、并通过分别对分割的高64比特和低64比特执行回合操作,来加密128比特输入数据;A round operation unit for converting a 128-bit input key into a 128-bit round key for encryption, and after inputting an encryption operation start signal and a mode signal, inputting a round operation start signal, a round number signal, and a bit selection signal When the 128-bit input data is divided into high 64 bits and low 64 bits and high or low 64 bits are selected, the 128-bit round key is stored according to the value of the mode signal, and by dividing the 128-bit input data into high 64 bits and low 64 bits, and encrypt 128-bit input data by performing a round operation on the split upper 64 bits and lower 64 bits respectively; 回合操作控制单元,用于从输入加密操作开始信号和模式信号时,通过将用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特的比特选择信号、回合操作开始信号和回合数信号发送到回合操作单元,控制回合操作单元的回合操作;The round operation control unit is used to divide the 128-bit input data into high 64 bits and low 64 bits and select the high or low 64 bits bit selection signal, round operation when the encryption operation start signal and the mode signal are input. The start signal and the round number signal are sent to the round operation unit to control the round operation of the round operation unit; 64比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的高64比特输入数据的中间加密数据;以及a 64-bit data register for storing intermediate encrypted data of upper 64-bit input data generated during each round operation performed by the round operation unit; and 128比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的低64比特输入数据的中间加密数据作为它的低64比特,并且存储作为上一次回合操作的结果产生并存储在64比特数据寄存器中的加密数据作为它的高64比特数据。128-bit data register for storing the intermediate encrypted data of the lower 64-bit input data generated during each round operation performed by the round operation unit as its lower 64 bits, and stored as the result of the last round operation and stored in The encrypted data in the 64-bit data register is used as its upper 64-bit data. 2.一种瑞恩多尔块解密装置,具有128比特输入数据和128比特输入密钥,并且通过执行回合操作来解密128比特输入数据,该回合操作包括反行移位、反置换、加回合密钥和反列混合的变换,该装置包含:2. A Ruindall block decryption device has 128-bit input data and a 128-bit input key, and decrypts the 128-bit input data by performing a round operation, the round operation including reverse row shift, reverse permutation, and addition rounds A key and anti-column mix of transforms, the set contains: 回合操作单元,用于将128比特输入密钥转换为用于解密的128比特回合密钥,并且从输入解密操作开始信号和模式信号之后、输入回合操作开始信号、回合数信号和比特选择信号用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特时,根据模式信号的值存储128比特回合密钥,并且通过将128比特输入数据分割为高64比特和低64比特、并且通过分别对分割的高64比特和低64比特执行回合操作,来解密128比特输入数据;A round operation unit for converting a 128-bit input key into a 128-bit round key for decryption, and after inputting a decryption operation start signal and a mode signal, inputting a round operation start signal, a round number signal, and a bit selection signal When the 128-bit input data is divided into high 64 bits and low 64 bits and high or low 64 bits are selected, the 128-bit round key is stored according to the value of the mode signal, and by dividing the 128-bit input data into high 64 bits and low 64 bits, and decrypt the 128-bit input data by performing a round operation on the split upper 64 bits and lower 64 bits respectively; 回合操作控制单元,用于从输入解密操作开始信号和模式信号时,通过将用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特的比特选择信号、回合操作开始信号和回合数信号发送到回合操作单元,控制回合操作单元的回合操作;The round operation control unit is used to divide the 128-bit input data into high 64 bits and low 64 bits and select the high or low 64 bits bit selection signal, round operation when the decryption operation start signal and the mode signal are input. The start signal and the round number signal are sent to the round operation unit to control the round operation of the round operation unit; 64比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的高64比特输入数据的中间解密数据;以及a 64-bit data register for storing intermediate decryption data of the upper 64-bit input data generated during each round operation performed by the round operation unit; and 128比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的低64比特输入数据的中间解密数据作为它的低64比特,并且存储作为上一次回合操作的结果产生并存储在64比特数据寄存器中的解密数据作为它的高64比特数据。128-bit data register for storing the intermediate decrypted data of the lower 64-bit input data generated during each round operation performed by the round operation unit as its lower 64 bits, and stored as the result of the last round operation and stored in The decrypted data in the 64-bit data register is used as its upper 64-bit data. 3.一种瑞恩多尔块密码装置,具有128比特输入数据和128比特输入密钥,并且通过执行用于加密的回合操作来加密或解密128比特输入数据,该用于加密的回合操作包括行移位、置换、列混合和加回合密钥的变换,或者通过执行用于解密的回合操作来解密128比特输入数据,该用于解密的回合操作包括反行移位、反置换、加回合密钥和反列混合的变换,该装置包含:3. A Ryan Doll block cipher device having 128-bit input data and a 128-bit input key, and encrypting or decrypting the 128-bit input data by performing a round operation for encryption comprising Transformation of row shift, permutation, column mix, and add round keys, or decrypt 128-bit input data by performing round operations for decryption consisting of inverse row shift, inverse permutation, add rounds A key and anti-column mix of transformations, the device contains: 回合操作单元,用于将128比特输入密钥转换为用于加密或解密的128比特回合密钥,并且从输入加密或解密操作开始信号和模式信号之后、输入回合操作开始信号、回合数信号和比特选择信号用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特时,根据模式信号的值存储128比特回合密钥,通过将128比特输入数据分割为高64比特和低64比特、并通过分别对分割的高64比特和低64比特执行用于加密的回合操作,来加密128比特输入数据,以及通过将128比特输入数据分割为高64比特和低64比特、并分别对分割的高64比特和低64比特执行用于解密的回合操作,来解密128比特输入数据;A round operation unit for converting a 128-bit input key into a 128-bit round key for encryption or decryption, and after inputting an encryption or decryption operation start signal and a mode signal, inputting a round operation start signal, a round number signal, and The bit selection signal is used to divide the 128-bit input data into high 64 bits and low 64 bits and select high or low 64 bits, store the 128-bit round key according to the value of the mode signal, by dividing the 128-bit input data into high 64 bits bits and lower 64 bits, and encrypt 128-bit input data by performing the round operation for encryption on the split upper 64 bits and lower 64 bits, respectively, and by splitting the 128-bit input data into upper 64 bits and lower 64 bits , and respectively perform a round operation for decryption on the divided upper 64 bits and lower 64 bits to decrypt the 128-bit input data; 回合操作控制单元,用于从输入加密或解密操作开始信号和模式信号时,通过将用于将128比特输入数据分割为高64比特和低64比特并选择高或低64比特的比特选择信号、回合操作开始信号和回合数信号发送到回合操作单元,控制回合操作单元的回合操作;The round operation control unit is used to divide the 128-bit input data into upper 64 bits and lower 64 bits and select the upper or lower 64 bits by bit selection signal when inputting the encryption or decryption operation start signal and mode signal, The round operation start signal and the round number signal are sent to the round operation unit to control the round operation of the round operation unit; 64比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的高64比特输入数据的中间加密或解密数据;以及a 64-bit data register for storing intermediate encryption or decryption data of the upper 64-bit input data generated during each round operation performed by the round operation unit; and 128比特数据寄存器,用于存储由回合操作单元执行的每个回合操作期间产生的低64比特输入数据的中间加密或解密数据作为它的低64比特,并且存储作为上一次回合操作的结果产生并存储在64比特数据寄存器中的加密或解密数据作为它的高64比特数据。128-bit data register for storing the intermediate encryption or decryption data of the lower 64-bit input data generated during each round operation performed by the round operation unit as its lower 64 bits, and storing the result generated as the last round operation and Encrypted or decrypted data stored in the 64-bit data register as its upper 64-bit data. 4.根据权利要求3所述的装置,其中所述回合操作单元包含:4. The device according to claim 3, wherein the turn operation unit comprises: 回合密钥产生单元,如果从回合操作控制单元输入回合操作开始信号和回合数信号,就根据通过总线输入的模式信号的值,将128比特输入密钥转换为128比特回合密钥RK用于加密或解密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;The round key generating unit converts the 128-bit input key into a 128-bit round key RK for encryption according to the value of the mode signal input through the bus if the round operation start signal and the round number signal are input from the round operation control unit or decrypt, and store the 128-bit round key in the internal 128-bit round key register; 行移位/反行移位变换单元,如果从回合操作控制单元输入回合操作开始信号和比特选择信号,就根据通过总线输入的模式信号的值,执行从通过总线输入的128比特输入数据分割的高64比特和低64比特的不同数的字节移位,并且通过第一个复用器输出字节移位的高64比特和低64比特,根据比特选择信号的值控制该复用器的输出;The row shift/reverse row shift conversion unit, if the round operation start signal and the bit selection signal are input from the round operation control unit, performs the division of the 128-bit input data input through the bus according to the value of the mode signal input through the bus High 64 bits and low 64 bits of different byte shifts, and the high 64 bits and low 64 bits of the byte shift are output through the first multiplexer, and the multiplexer is controlled according to the value of the bit selection signal output; 置换/反置换变换单元,使用相对一个字节输入提供一个字节输出的置换盒(S-盒)或反置换盒(SI-盒),执行从行移位/反行移位变换单元输出的高64比特数据和低64比特数据的置换或反置换;A permutation/inverse permutation transformation unit, using a permutation box (S-box) or an inverse permutation box (SI-box) that provides one byte output with respect to one byte input, performs the output from the row shift/inverse row shift transformation unit Permutation or reverse permutation of high 64-bit data and low 64-bit data; 第一个解复用器,根据模式信号的值,通过它的加密输出端和它的解密输出端中任何一个,输出从置换/反置换变换单元输出的高64比特数据或低64比特数据;The first demultiplexer, according to the value of the mode signal, outputs the high 64-bit data or the low 64-bit data output from the permutation/inverse permutation transformation unit through any one of its encryption output terminal and its decryption output terminal; 列混合/反列混合变换单元,执行通过第一个解复用器的加密输出端输入的高64比特数据或低64比特数据的列混合,或者执行已经加回合密钥变换的高64比特数据或低64比特数据的反列混合;Column mixing/anti-column mixing transformation unit, which performs column mixing of the upper 64-bit data or lower 64-bit data input through the encrypted output of the first demultiplexer, or performs the upper 64-bit data that has been added to the round key transformation or an inverse mix of lower 64-bit data; 第二个解复用器,根据模式信号的值,通过它的加密输出端和它的解密输出端中任何一个,输出从列混合/反列混合变换单元输出的高64比特数据或低64比特数据;The second demultiplexer, according to the value of the mode signal, outputs the upper 64-bit data or the lower 64-bit data output from the column mixing/anti-column mixing transformation unit through any one of its encrypted output terminal and its decrypted output terminal data; 加回合密钥变换单元,用于将通过第一个解复用器的解密输出端或第二个解复用器的加密输出端输入的高64比特数据或低64比特数据加到从回合密钥产生单元输出的用于加密或解密的128比特回合密钥RK;以及The adding round key conversion unit is used to add the high 64-bit data or low 64-bit data inputted through the decryption output end of the first demultiplexer or the encryption output end of the second demultiplexer to the slave round encryption The 128-bit round key RK for encryption or decryption output by the key generation unit; and 第三个解复用器,根据模式信号的值,通过它的加密输出端和它的解密输出端中任何一个,输出从加回合密钥变换单元输出的高64比特数据或低64比特数据。The third demultiplexer outputs the upper 64-bit data or the lower 64-bit data output from the adding round key conversion unit through any one of its encryption output terminal and its decryption output terminal according to the value of the mode signal. 5.一种瑞恩多尔块加密方法,包含以下步骤:5. A Ryan Dole block encryption method, comprising the following steps: 如果通过总线输入加密操作开始信号和模式信号之后,从回合操作控制单元输入四时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;If the four-clock round operation start signal and the round number signal are input from the round operation control unit after the encryption operation start signal and the mode signal are input through the bus, then by the bus when the first clock from the round operation start signal becomes '1' The value of the input mode signal, the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit round key for encryption, and stores the 128-bit round key in the internal 128-bit round key register; 如果从回合操作控制单元输入四时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节移位,并且通过第一个复用器输出字节移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的置换,输出置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储置换的高64比特数据;If the four-clock round operation start signal and the bit selection signal are input from the round operation control unit, when the first clock becomes '1', the row shift/inverse row shift conversion unit performs 128-bit input data input through the bus The byte shift of the high 64-bit data, and output the byte-shifted high 64-bit data through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs permutation of the high 64-bit data, and outputs the permuted The high 64-bit data is sent to the first demultiplexer, and the permuted high 64-bit data is stored in the 64-bit data register; 当回合操作开始信号的第二个时钟变为‘1’时,列混合/反列混合变换单元执行通过第一个解复用器的加密输出端输出并存储在64比特数据寄存器中的高64比特数据的列混合,输出列混合变换的高64比特数据到第二个解复用器,并且在64比特数据寄存器中存储列混合变换的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节移位,并且通过第一个复用器输出字节移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的置换,输出置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储置换的低64比特数据;When the second clock of the round operation start signal becomes '1', the column mixing/inverse column mixing transformation unit performs the high 64 output through the encryption output of the first demultiplexer and stored in the 64-bit data register. Column mixing of bit data, output the high 64-bit data of the column mixing transformation to the second demultiplexer, and store the high 64-bit data of the column mixing transformation in the 64-bit data register, row shift/reverse row shift transformation The unit simultaneously performs the byte shift of the lower 64-bit data of the 128-bit input data input through the bus, and outputs the byte-shifted lower 64-bit data through the first multiplexer, and the permutation/reverse permutation transformation unit successively Perform the permutation of the lower 64-bit data, output the permuted lower 64-bit data to the first demultiplexer, and store the permuted lower 64-bit data in the lower 64 bits of the 128-bit data register; 当回合操作开始信号的第三个时钟变为‘1’时,加回合密钥变换单元将通过第二个解复用器的加密输出端输出并存储在64比特数据寄存器中的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且在128比特数据寄存器的高64比特中存储相加的高64比特数据,并且列混合/反列混合变换单元同时执行通过第一个解复用器的加密输出端输出并存储在128比特数据寄存器中的低64比特数据的列混合,输出列混合变换的低64比特数据到第二个解复用器,并且在128比特数据寄存器的低64比特中存储列混合变换的低64比特数据;以及When the third clock of the round operation start signal becomes '1', the adding round key transformation unit will output the encrypted output of the second demultiplexer and store the high 64-bit data in the 64-bit data register Add to the upper 64-bit round key generated by the round key generation unit, and store the added upper 64-bit data in the upper 64 bits of the 128-bit data register, and the column mixing/anti-column mixing conversion unit performs simultaneously through the first The encrypted output of a demultiplexer outputs and stores the column mix of the lower 64-bit data in the 128-bit data register, and outputs the lower 64-bit data of the column mix transformation to the second demultiplexer, and in the 128-bit The lower 64-bit data of column mixing transformation is stored in the lower 64 bits of the data register; and 当回合操作开始信号的第四个时钟变为‘1’时,加回合密钥变换单元将通过第二个解复用器的加密输出端输出并存储在128比特数据寄存器中的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据。When the fourth clock of the round operation start signal becomes '1', the adding round key transformation unit will output the encrypted output of the second demultiplexer and store the lower 64-bit data in the 128-bit data register is added to the lower 64-bit round key generated by the round key generation unit, and the added lower 64-bit data is stored in the lower 64 bits of the 128-bit data register. 6.根据权利要求5所述的加密方法,其中在根据通过总线输入的模式信号的值,回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥的步骤,在回合操作开始信号的四个时钟的周期中产生128比特回合密钥用于加密。6. The encryption method according to claim 5, wherein according to the value of the mode signal input by the bus, the round key generation unit converts the 128-bit input key into a 128-bit round key for encryption, and internally 128 The step of storing the 128-bit round key in the bit round key register is to generate a 128-bit round key for encryption in four clock cycles of the round operation start signal. 7.一种瑞恩多尔块解密方法,包含以下步骤:7. A Ryan Dole block decryption method, comprising the following steps: 如果通过总线输入解密操作开始信号和模式信号之后,从回合操作控制单元输入四时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于解密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;If the round operation start signal and the round number signal are input from the round operation control unit for four clocks after the decryption operation start signal and the mode signal are input through the bus, then when the first clock from the round operation start signal becomes '1' through the bus The value of the input mode signal, the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit round key for decryption, and stores the 128-bit round key in the internal 128-bit round key register; 如果从回合操作控制单元输入四时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的反置换,输出反置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储反置换的高64比特数据;If the four-clock round operation start signal and the bit selection signal are input from the round operation control unit, when the first clock becomes '1', the row shift/inverse row shift conversion unit performs 128-bit input data input through the bus The byte inverse shift of the upper 64-bit data, and the upper 64-bit data of the byte inverse shift is output through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs the inverse permutation of the upper 64-bit data, Output the high 64-bit data of reverse permutation to the first demultiplexer, and store the high 64-bit data of reverse permutation in the 64-bit data register; 当回合操作开始信号的第二个时钟变为‘1’时,加回合密钥变换单元将通过第一个解复用器的解密输出端输出并存储在64比特数据寄存器中的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,输出相加的高64比特数据到第三个解复用器,并且在64比特数据寄存器中存储相加的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的反置换,输出反置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储反置换的低64比特数据;When the second clock of the round operation start signal becomes '1', the adding round key transformation unit will output the upper 64-bit data through the decryption output of the first demultiplexer and store in the 64-bit data register Add to the high 64-bit round key generated by the round key generation unit, output the high 64-bit data added to the third demultiplexer, and store the high 64-bit data added in the 64-bit data register, The row shift/reverse row shift transformation unit simultaneously performs the byte reverse shift of the low 64-bit data of the 128-bit input data input through the bus, and outputs the byte reverse-shifted low 64 bits through the first multiplexer data, and the permutation/reverse permutation transformation unit continuously performs the inverse permutation of the lower 64-bit data, outputs the reverse permuted lower 64-bit data to the first demultiplexer, and stores the inverse in the lower 64 bits of the 128-bit data register Permuted lower 64-bit data; 当回合操作开始信号的第三个时钟变为‘1’时,列混合/反列混合变换单元执行通过第三个解复用器的解密输出端输出并存储在64比特数据寄存器中的高64比特数据的反列混合,通过第二个解复用器输出反列混合变换的高64比特数据,并且在128比特数据寄存器的高64比特中存储反列混合变换的高64比特数据,并且加回合密钥变换单元同时将通过第一个解复用器的解密输出端输出并存储在128比特数据寄存器中的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,通过第三个解复用器输出相加的低64比特数据,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据;以及When the third clock of the round operation start signal becomes '1', the column mixing/inverse column mixing conversion unit performs the high 64 output through the decryption output of the third demultiplexer and stored in the 64-bit data register. The anti-column mixing of bit data, output the high 64-bit data of the anti-column mixed transformation through the second demultiplexer, and store the high 64-bit data of the anti-column mixed transformation in the high 64 bits of the 128-bit data register, and add The round key conversion unit simultaneously adds the low 64-bit data that is output by the decryption output of the first demultiplexer and stored in the 128-bit data register to the low 64-bit round key generated by the round key generation unit, Output the added lower 64-bit data through the third demultiplexer, and store the added lower 64-bit data in the lower 64 bits of the 128-bit data register; and 当回合操作开始信号的第四个时钟变为‘1’时,列混合/反列混合变换单元执行通过第三个解复用器的解密输出端输出并存储在128比特数据寄存器中的低64比特数据的反列混合,通过第二个解复用器输出反列混合变换的低64比特数据,并且在128比特数据寄存器的低64比特中存储反列混合变换的低64比特数据。When the fourth clock of the round operation start signal becomes '1', the column mixing/inverse column mixing conversion unit executes the lower 64 bits that are output through the decryption output of the third demultiplexer and stored in the 128-bit data register. For the anti-column mixing of bit data, output the lower 64-bit data of the anti-column mixing transformation through the second demultiplexer, and store the lower 64-bit data of the anti-column mixing transformation in the lower 64 bits of the 128-bit data register. 8.根据权利要求7中所述的解密方法,其中在根据通过总线输入的模式信号的值、回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于解密、并且在内部128比特回合密钥寄存器中存储128比特回合密钥的步骤中,在回合操作开始信号的两个时钟的周期中产生用于解密的128比特回合密钥。8. The decryption method according to claim 7, wherein the round key generation unit converts the 128-bit input key into a 128-bit round key for decryption according to the value of the mode signal input through the bus, and internally In the step of storing the 128-bit round key in the 128-bit round key register, the 128-bit round key for decryption is generated in two clock cycles of the round operation start signal. 9.一种瑞恩多尔块加密方法,包含步骤:9. A Ryan Dole block encryption method, comprising steps: 如果通过总线输入加密操作开始信号和模式信号之后,从回合操作控制单元输入三时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;If the three-clock round operation start signal and the round number signal are input from the round operation control unit after the encryption operation start signal and the mode signal are input through the bus, then the first clock from the round operation start signal becomes '1' through the bus The value of the input mode signal, the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit round key for encryption, and stores the 128-bit round key in the internal 128-bit round key register; 如果从回合操作控制单元输入三时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节移位,并且通过第一个复用器输出字节移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的置换,输出置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储置换的高64比特数据;If the three-clock round operation start signal and the bit selection signal are input from the round operation control unit, when the first clock becomes '1', the row shift/inverse row shift conversion unit performs 128-bit input data input through the bus The byte shift of the high 64-bit data, and output the byte-shifted high 64-bit data through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs permutation of the high 64-bit data, and outputs the permuted The high 64-bit data is sent to the first demultiplexer, and the permuted high 64-bit data is stored in the 64-bit data register; 当回合操作开始信号的第二个时钟变为‘1’时,列混合/反列混合变换单元执行通过第一个解复用器的加密输出端输出并存储在64比特数据寄存器中的高64比特数据的列混合,并且输出列混合变换的高64比特数据到第二个解复用器,加回合密钥变换单元连续地将该高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且在64比特数据寄存器中存储相加的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节移位,并且通过第一个复用器输出字节移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的置换,输出置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储置换的低64比特数据;以及When the second clock of the round operation start signal becomes '1', the column mixing/inverse column mixing transformation unit performs the high 64 output through the encryption output of the first demultiplexer and stored in the 64-bit data register. The columns of the bit data are mixed, and the high 64-bit data of the output column mixed transformation is sent to the second demultiplexer, and the high 64-bit data is continuously added to the high 64-bit data produced by the round key generation unit by adding the round key conversion unit 64-bit round key, and store the added high 64-bit data in the 64-bit data register, the row shift/reverse row shift transformation unit simultaneously executes the byte of the low 64-bit data of the 128-bit input data input through the bus Shift, and output byte-shifted lower 64-bit data through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs permutation of the lower 64-bit data, and outputs the permuted lower 64-bit data to the first a demultiplexer, and store the permuted lower 64-bit data in the lower 64 bits of the 128-bit data register; and 当回合操作开始信号的第三时钟变为‘1’时,将相加然后存储在64比特数据寄存器中的64比特数据存储在128比特数据寄存器的高64比特中,列混合/反列混合变换单元同时执行通过第一个解复用器的加密输出端输出并存储在128比特数据寄存器中的低64比特数据的列混合,并且输出列混合变换的低64比特数据到第二个解复用器,并且加回合密钥变换单元连续地将低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据。When the third clock of the round operation start signal becomes '1', the 64-bit data that is added and then stored in the 64-bit data register is stored in the upper 64 bits of the 128-bit data register, and the column mix/reverse column mix conversion The unit simultaneously performs the column mixing of the lower 64-bit data output through the encryption output of the first demultiplexer and stored in the 128-bit data register, and outputs the lower 64-bit data of the column mixing transformation to the second demultiplexer device, and the adding round key conversion unit continuously adds the lower 64-bit data to the lower 64-bit round key generated by the round key generation unit, and stores the added lower 64 bits in the lower 64 bits of the 128-bit data register bit data. 10.根据权利要求9所述的加密方法,其中在根据通过总线输入的模式信号的值、回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密、并在内部128比特回合密钥寄存器中存储128比特回合密钥的步骤中,在回合操作开始信号的两个时钟的周期中产生用于加密的128比特回合密钥。10. The encryption method according to claim 9, wherein according to the value of the mode signal input through the bus, the round key generation unit converts the 128-bit input key into a 128-bit round key for encryption, and internally 128 In the step of storing the 128-bit round key in the bit round key register, the 128-bit round key used for encryption is generated in two clock cycles of the round operation start signal. 11.一种瑞恩多尔块解密方法,包含以下步骤:11. A Ryan Dole block decryption method, comprising the following steps: 如果通过总线输入解密操作开始信号和模式信号之后,从回合操作控制单元输入三时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于解密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;If the three-clock round operation start signal and the round number signal are input from the round operation control unit after the decryption operation start signal and the mode signal are input through the bus, then the first clock from the round operation start signal becomes '1' through the bus The value of the input mode signal, the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit round key for decryption, and stores the 128-bit round key in the internal 128-bit round key register; 如果从回合操作控制单元输入三时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的高64比特数据,并且置换/反置换变换单元连续地执行高64比特数据的反置换,输出反置换的高64比特数据到第一个解复用器,并且在64比特数据寄存器中存储反置换的高64比特数据;If the three-clock round operation start signal and the bit selection signal are input from the round operation control unit, when the first clock becomes '1', the row shift/inverse row shift conversion unit performs 128-bit input data input through the bus The byte inverse shift of the upper 64-bit data, and the upper 64-bit data of the byte inverse shift is output through the first multiplexer, and the permutation/reverse permutation transformation unit continuously performs the inverse permutation of the upper 64-bit data, Output the high 64-bit data of reverse permutation to the first demultiplexer, and store the high 64-bit data of reverse permutation in the 64-bit data register; 当回合操作开始信号的第二个时钟变为‘1’时,加回合密钥变换单元将通过第一个解复用器的解密输出端输出并存储在64比特数据寄存器中的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且输出相加的高64比特数据到第三个解复用器,列混合/反列混合变换单元连续地执行相加的高64比特数据的反列混合,通过第二个解复用器输出反列混合变换的高64比特数据,并且在64比特数据寄存器中存储反列混合变换的高64比特数据,行移位/反行移位变换单元同时执行通过总线输入的128比特输入数据的低64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的反置换,输出反置换的低64比特数据到第一个解复用器,并且在128比特数据寄存器的低64比特中存储反置换的低64比特数据;以及When the second clock of the round operation start signal becomes '1', the adding round key transformation unit will output the upper 64-bit data through the decryption output of the first demultiplexer and store in the 64-bit data register Added to the upper 64-bit round key generated by the round key generation unit, and output the added upper 64-bit data to the third demultiplexer, the column mixing/anti-column mixing transformation unit continuously performs the added high The anti-column mixing of 64-bit data, the high 64-bit data of the anti-column mixed transformation is output through the second demultiplexer, and the high 64-bit data of the anti-column mixed transformation is stored in the 64-bit data register, and the row shift/inverse The line shift transformation unit simultaneously performs reverse byte shift of the lower 64-bit data of the 128-bit input data input through the bus, and outputs the lower 64-bit data of byte reverse shift through the first multiplexer, and replaces/ The reverse permutation transformation unit continuously performs reverse permutation of the lower 64-bit data, outputs the reverse permuted lower 64-bit data to the first demultiplexer, and stores the reverse permuted lower 64 bits in the lower 64 bits of the 128-bit data register data; and 当回合操作开始信号的第三个时钟变为‘1’时,加回合密钥变换单元将通过第一个解复用器的解密输出端输出并存储在128比特数据寄存器中的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且输出相加的低64比特数据到第三个解复用器,列混合/反列混合变换单元连续地执行相加的低64比特数据的反列混合,通过第二个解复用器输出反列混合变换的低64比特数据,并且在128比特数据寄存器的低64比特中存储反列混合变换的低64比特数据,同时将存储在64比特数据寄存器中的高64比特数据存储在128比特数据寄存器的高64比特中。When the third clock of the round operation start signal becomes '1', the adding round key transformation unit will output the decrypted output of the first demultiplexer and store the lower 64-bit data in the 128-bit data register Added to the low 64-bit round key generated by the round key generation unit, and output the added low 64-bit data to the third demultiplexer, the column mixing/anti-column mixing transformation unit continuously performs the adding low The anti-column mixing of 64-bit data, output the low 64-bit data of anti-column mixing transformation through the second demultiplexer, and store the low 64-bit data of anti-column mixing transformation in the low 64 bits of the 128-bit data register, and at the same time The upper 64 bits of data stored in the 64-bit data register are stored in the upper 64 bits of the 128-bit data register. 12.根据权利要求11中所述的解密方法,其中在根据通过总线输入的模式信号的值、回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于解密、并在内部128比特回合密钥寄存器中存储128比特回合密钥的步骤中,在回合操作开始信号的两个时钟的周期中产生用于解密的128比特回合密钥。12. The decryption method according to claim 11, wherein the round key generation unit converts the 128-bit input key into a 128-bit round key for decryption according to the value of the mode signal input through the bus, and internally In the step of storing the 128-bit round key in the 128-bit round key register, the 128-bit round key for decryption is generated in two clock cycles of the round operation start signal. 13.一种瑞恩多尔块加密方法,包含以下步骤:13. A Ryan Dole block encryption method, comprising the following steps: 如果通过总线输入加密操作开始信号和模式信号之后,从回合操作控制单元输入二时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;If after the encryption operation start signal and the mode signal are input through the bus, the round operation start signal and the round number signal are input from the round operation control unit for two clocks, then when the first clock from the round operation start signal becomes '1', pass the bus The value of the input mode signal, the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit round key for encryption, and stores the 128-bit round key in the internal 128-bit round key register; 如果从回合操作控制单元输入二时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节移位,并且通过第一个复用器输出字节移位的高64比特数据,置换/反置换变换单元连续地执行高64比特数据的置换,输出置换的高64比特数据到第一个解复用器,并且通过第一个解复用器输出置换的高64比特数据,列混合/反列混合变换单元执行通过第一个解复用器的加密输出端输出的高64比特数据的列混合,并且输出列混合变换的高64比特数据到第二个解复用器,并且加回合密钥变换单元连续地将这个高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且在64比特数据寄存器中存储相加的高64比特数据;以及If the two-clock round operation start signal and the bit selection signal are input from the round operation control unit, then when the first clock becomes '1', the row shift/inverse row shift transformation unit executes the 128-bit input data input through the bus The byte shift of the high 64-bit data, and output the byte-shifted high 64-bit data through the first multiplexer, the permutation/reverse permutation transformation unit continuously performs permutation of the high 64-bit data, and outputs the permuted high The 64-bit data is sent to the first demultiplexer, and the permuted high 64-bit data is output through the first demultiplexer, and the column mixing/anti-column mixing transformation unit performs the encrypted output through the first demultiplexer The column of the high 64-bit data of the output is mixed, and the high 64-bit data of the output column mixing transformation is sent to the second demultiplexer, and the adding round key conversion unit continuously adds this high 64-bit data to the data generated by the round key generating the high 64-bit round key generated by the unit, and storing the added high 64-bit data in the 64-bit data register; and 当回合操作开始信号的第二个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的低64比特数据的字节移位,并且通过第一个复用器输出字节移位的低64比特数据,并且置换/反置换变换单元连续地执行低64比特数据的置换,并且输出置换的低64比特数据到第一个解复用器,列混合/反列混合变换单元连续地执行低64比特数据的列混合,并且输出列混合变换的低64比特数据到第二个解复用器,加回合密钥变换单元连续地将这个低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且在128比特数据寄存器的低64比特中存储相加的低64比特数据,同时将存储在64比特数据寄存器中的高64比特数据存储在128比特数据寄存器的高64比特中。When the second clock of the round operation start signal becomes '1', the row shift/inverse row shift transformation unit performs the byte shift of the lower 64-bit data of the 128-bit input data input through the bus, and passes the A multiplexer outputs byte-shifted lower 64-bit data, and the permutation/inverse permutation transformation unit continuously performs permutation of the lower 64-bit data, and outputs the permuted lower 64-bit data to the first demultiplexer, The column mixing/anti-column mixing transformation unit continuously performs the column mixing of the low 64-bit data, and outputs the low 64-bit data of the column mixing transformation to the second demultiplexer, and adds the round key transformation unit to continuously convert the low 64 bits to the second demultiplexer. The bit data is added to the low 64-bit round key generated by the round key generation unit, and the added low 64-bit data is stored in the low 64 bits of the 128-bit data register, and the high 64-bit data is stored in the upper 64 bits of the 128-bit data register. 14.根据权利要求13中所述的加密方法,其中在根据通过总线输入的模式信号的值、回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于加密、并在内部128比特回合密钥寄存器中存储128比特回合密钥的步骤中,在回合操作开始信号的一个时钟的周期中产生用于加密的128比特回合密钥。14. The encryption method according to claim 13, wherein the round key generation unit converts the 128-bit input key into a 128-bit round key for encryption according to the value of the mode signal input through the bus, and internally In the step of storing the 128-bit round key in the 128-bit round key register, the 128-bit round key used for encryption is generated in one clock cycle of the round operation start signal. 15.一种瑞恩多尔块解密方法,包含以下步骤:15. A Ryan Dole block decryption method, comprising the following steps: 如果通过总线输入解密操作开始信号和模式信号之后,从回合操作控制单元输入两时钟回合操作开始信号和回合数信号,那么根据从回合操作开始信号的第一个时钟变为‘1’时通过总线输入的模式信号的值,回合操作单元的回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于解密,并且在内部128比特回合密钥寄存器中存储128比特回合密钥;If the round operation start signal and the round number signal are input from the round operation control unit for two clocks after the decryption operation start signal and the mode signal are input through the bus, then when the first clock from the round operation start signal becomes '1' through the bus The value of the input mode signal, the round key generation unit of the round operation unit converts the 128-bit input key into a 128-bit round key for decryption, and stores the 128-bit round key in the internal 128-bit round key register; 如果从回合操作控制单元输入两时钟回合操作开始信号和比特选择信号,那么当第一个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的高64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的高64比特数据,置换/反置换变换单元连续地执行高64比特数据的反置换,并且输出反置换的高64比特数据到第一个解复用器,加回合密钥变换单元连续地将通过第一个解复用器的解密输出端输出的高64比特数据加到由回合密钥产生单元产生的高64比特回合密钥,并且输出相加的高64比特数据到第三个解复用器,并且列混合/反列混合变换单元连续地执行相加的高64比特数据的反列混合,通过第二个解复用器输出反列混合变换的高64比特数据,并且在64比特数据寄存器中存储反列混合变换的高64比特数据;以及If the two-clock round operation start signal and the bit selection signal are input from the round operation control unit, when the first clock becomes '1', the row shift/inverse row shift conversion unit performs 128-bit input data input through the bus The byte reverse shift of the high 64-bit data, and output the high 64-bit data of the byte reverse shift through the first multiplexer, the permutation/reverse permutation transformation unit continuously performs the reverse permutation of the high 64-bit data, and The high 64-bit data of the reverse permutation is output to the first demultiplexer, and the round key conversion unit continuously adds the high 64-bit data output by the decryption output of the first demultiplexer to the round key The upper 64-bit round key generated by the generation unit, and output the added upper 64-bit data to the third demultiplexer, and the column mixing/reverse column mixing transformation unit continuously performs the reverse of the added upper 64-bit data Column mixing, outputting the high 64-bit data of the anti-column mixing transformation through the second demultiplexer, and storing the high 64-bit data of the anti-column mixing transformation in the 64-bit data register; and 当回合操作开始信号的第二个时钟变为‘1’时,行移位/反行移位变换单元执行通过总线输入的128比特输入数据的低64比特数据的字节反移位,并且通过第一个复用器输出字节反移位的低64比特数据,置换/反置换变换单元连续地执行低64比特数据的反置换,并且输出反置换的低64比特数据到第一个解复用器,加回合密钥变换单元连续地将通过第一个解复用器的解密输出端输出的低64比特数据加到由回合密钥产生单元产生的低64比特回合密钥,并且输出相加的低64比特数据到第三个解复用器,列混合/反列混合变换单元连续地执行相加的低64比特数据的反列混合,通过第二个解复用器输出反列混合变换的低64比特数据,并且在128比特数据寄存器的低64比特中存储反列混合变换的低64比特数据,同时将存储在64比特数据寄存器中的高64比特数据存储在128比特数据寄存器的高64比特中。When the second clock of the round operation start signal becomes '1', the row shift/reverse row shift conversion unit performs byte reverse shift of the lower 64-bit data of the 128-bit input data input through the bus, and passes The first multiplexer outputs the lower 64-bit data of the reverse byte shift, and the permutation/reverse permutation transformation unit continuously performs the reverse permutation of the lower 64-bit data, and outputs the reverse permuted lower 64-bit data to the first demultiplexer The user, adding the round key conversion unit continuously adds the low 64-bit data outputted by the decryption output of the first demultiplexer to the low 64-bit round key generated by the round key generation unit, and outputs the corresponding The added low 64-bit data is sent to the third demultiplexer, and the column mixing/anti-column mixing transformation unit continuously performs the anti-column mixing of the added low 64-bit data, and the anti-column mixing is output through the second demultiplexer Transformed low 64-bit data, and store the low 64-bit data of anti-column mixed transformation in the low 64 bits of the 128-bit data register, and store the high 64-bit data stored in the 64-bit data register in the low 64-bit data of the 128-bit data register High 64 bits. 16.根据权利要求15所述的解密方法,其中在根据通过总线输入的模式信号的值、回合密钥产生单元将128比特输入密钥转换为128比特回合密钥用于解密、并且在内部128比特回合密钥寄存器中存储128比特回合密钥的步骤中,在回合操作开始信号的一个时钟的周期中产生用于解密的128比特回合密钥。16. The decryption method according to claim 15, wherein according to the value of the mode signal input through the bus, the round key generation unit converts the 128-bit input key into a 128-bit round key for decryption, and internally 128 In the step of storing the 128-bit round key in the bit round key register, the 128-bit round key for decryption is generated in one clock cycle of the round operation start signal.
CN2004800224469A 2003-06-16 2004-06-01 Ryan Doll block cipher device and its encryption/decryption method Expired - Fee Related CN1833399B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR20030038892 2003-06-16
KR10-2003-0038892 2003-06-16
KR1020030038892 2003-06-16
KR1020030064737A KR100710455B1 (en) 2003-06-16 2003-09-18 Apparatus for rijndael block cipher and encryption/decryption method thereof
KR1020030064737 2003-09-18
KR10-2003-0064737 2003-09-18
PCT/KR2004/001296 WO2004112309A1 (en) 2003-06-16 2004-06-01 Rijndael block cipher apparatus and encryption/decryption method thereof

Publications (2)

Publication Number Publication Date
CN1833399A CN1833399A (en) 2006-09-13
CN1833399B true CN1833399B (en) 2010-09-22

Family

ID=36994699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800224469A Expired - Fee Related CN1833399B (en) 2003-06-16 2004-06-01 Ryan Doll block cipher device and its encryption/decryption method

Country Status (2)

Country Link
KR (1) KR100710455B1 (en)
CN (1) CN1833399B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100668664B1 (en) * 2005-11-22 2007-01-12 한국전자통신연구원 Encryption / decryption apparatus and method using AES linedal block algorithm
WO2008061395A1 (en) * 2006-11-23 2008-05-29 Tsinghua University Aes encryption circuit for data stream executed in desequencing
KR100935372B1 (en) * 2007-12-18 2010-01-06 한국전자통신연구원 Encryption and decryption device using linedal algorithm
KR100949538B1 (en) 2008-09-09 2010-03-25 한국전자통신연구원 Encryption and decryption apparatus using AES linedal algorithm and method thereof
CN104753663B (en) * 2013-12-31 2018-02-23 上海复旦微电子集团股份有限公司 Data processing method and device
KR101593169B1 (en) 2014-08-20 2016-02-15 한국전자통신연구원 Feistel-based variable length block cipher apparatus and method thereof
CN106603223A (en) * 2016-11-30 2017-04-26 中国电子科技集团公司第五十八研究所 FPGA-based Rijndael-ECC encryption system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359211A (en) * 2002-01-10 2002-07-17 张红雨 Chaotic encipher series generator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359211A (en) * 2002-01-10 2002-07-17 张红雨 Chaotic encipher series generator

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘向宇,曹秀英.Rijndael算法的硬件实现.通信技术 2002年第8期.2002,(2002年第8期),75-77.
刘向宇,曹秀英.Rijndael算法的硬件实现.通信技术 2002年第8期.2002,(2002年第8期),75-77. *

Also Published As

Publication number Publication date
KR100710455B1 (en) 2007-04-24
CN1833399A (en) 2006-09-13
KR20040108311A (en) 2004-12-23

Similar Documents

Publication Publication Date Title
US7688974B2 (en) Rijndael block cipher apparatus and encryption/decryption method thereof
McLoone et al. High performance single-chip FPGA Rijndael algorithm implementations
US7295671B2 (en) Advanced encryption standard (AES) hardware cryptographic engine
Verma et al. Performance analysis of RC6, Twofish and Rijndael block cipher algorithms
US8122075B2 (en) Pseudorandom number generator and encryption device using the same
US7447311B2 (en) Method of designing optimum encryption function and optimized encryption apparatus in a mobile communication system
Elgeldawi et al. A comparative analysis of symmetric algorithms in cloud computing: A survey
US11057193B2 (en) Enhanced randomness for digital systems
US20030086564A1 (en) Method and apparatus for cipher encryption and decryption using an s-box
CN1833399B (en) Ryan Doll block cipher device and its encryption/decryption method
Chiţu et al. An FPGA implementation of the AES-Rijndael in OCB/ECB modes of operation
Mohan et al. Revised aes and its modes of operation
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
US20240097880A1 (en) High-speed circuit combining aes and sm4 encryption and decryption
JPWO2006019152A1 (en) Message authenticator generation device, message authenticator verification device, and message authenticator generation method
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
KR200279546Y1 (en) Device for coding/decoding document
Usman et al. A data specific comparative study for choosing best cryptographic technique
KR100531577B1 (en) Device for coding/decoding document
Gujar Image encryption using AES algorithm based on FPGA
JP2008256817A (en) Stream encryption method, decryption method, and encryption algorithm and decryption algorithm based on pi-data
Erdem et al. Use of Rijndael Block Cipher on J2ME Devices for encryption and hashing
ManjulaRani et al. An Efficient FPGA Implementation of Advanced Encryption Standard Algorithm on Virtex-5 FPGA’s
KR20050019086A (en) Advanced encryption standard(aes) hardware cryptographic engine
Gajbhiye et al. FPGA IMPLEMENTATION OF ENCRYPTION AND DECRYPTION RIJINDAEL’S ALGORITHM BASED ON AES

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI02 Correction of invention patent application

Correction item: Priority

Correct: 2003.09.18 KR 10-2003-0064737

False: Lack of priority second

Number: 37

Page: The title page

Volume: 22

COR Change of bibliographic data

Free format text: CORRECT: PRIORITY; FROM: MISSING THE SECOND ARTICLE OF PRIORITY TO: 2003.9.18 KR 10-2003-0064737

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100922

Termination date: 20120601