KR100362170B1 - Apparatus of encryption for round key generating and encryption processing - Google Patents
Apparatus of encryption for round key generating and encryption processing Download PDFInfo
- Publication number
- KR100362170B1 KR100362170B1 KR1020000024007A KR20000024007A KR100362170B1 KR 100362170 B1 KR100362170 B1 KR 100362170B1 KR 1020000024007 A KR1020000024007 A KR 1020000024007A KR 20000024007 A KR20000024007 A KR 20000024007A KR 100362170 B1 KR100362170 B1 KR 100362170B1
- Authority
- KR
- South Korea
- Prior art keywords
- round
- encryption
- round key
- processing
- key
- Prior art date
Links
Abstract
본 발명은 라운드 키 생성 및 암호처리용 암호화장치에 관한 것으로, 데이터 암호화/복호화를 필요로 하는 시스템에서 고속 암호 처리를 통해 시스템의 처리 속도를 향상시키고 암복호 동작이 시스템에 미치는 부하를 최소화하기 위하여, 데이터 암호화/복호화를 필요로 하는 시스템에서의 암호처리를 위한 장치에 있어서, 제1 외부로부터 암호키/복호키와 제어변수를 입력받아 라운드 키 생성수단에 초기 키 입력과 사용암호 선택값을 제공하며, 상기 라운드 키 생성수단으로부터 라운드 키 결과를 받아 암호용/복호용 라운드 키를 제공하기 위한 라운드 키 생성 제어수단; 상기 라운드 키 생성 제어수단으로부터 초기 키 입력과 사용암호 선택값을 제공받아 라운드 키 생성 라운드의 수행에 의하여 라운드 키 결과를 생성하며, 생성된 라운드 키 결과를 상기 라운드 키 생성 제어수단으로 제공하기 위한 라운드 키 생성수단; 제2 외부로부터 평문/암호문을, 상기 제1 외부로부터 제어변수를, 상기 라운드 키 생성 제어수단으로부터 암호용/복호용 라운드 키를 제공받아 암호처리수단에 라운드 키, 초기 평문, 사용암호 선택값을 제공하며, 상기 암호처리수단으로부터 암호화/복호화 처리 결과를 받아 암호문/평문으로 출력하기 위한 암호처리 제어수단; 및 상기 암호처리 제어수단으로부터 라운드 키, 초기 평문, 사용암호 선택값을 첫 번째 라운드 입력으로 하고 암호처리 라운드를 반복하여 암호화/복호화 처리 결과를 생성하며, 생성된 암호화/복호화 처리 결과를 상기 암호처리 제어수단으로 출력하기 위한 암호처리수단을 포함하며, 데이터 암호화/복호화를 필요로 하는 시스템 등에 이용된다.The present invention relates to an encryption device for round key generation and encryption processing, in order to improve the processing speed of the system through high-speed encryption processing in a system requiring data encryption / decryption and to minimize the load on the system by the decryption operation. In a system that requires data encryption / decryption, receiving an encryption key / decryption key and a control variable from a first external source and providing an initial key input and a use password selection value to a round key generation means Round key generation control means for receiving a round key result from the round key generation means and providing an encryption / decryption round key; A round for generating a round key result by receiving an initial key input and a use password selection value from the round key generation control means and performing a round key generation round, and providing the generated round key result to the round key generation control means. Key generation means; A round key, an initial plain text, and a cipher selection value are provided to a cipher processing means by receiving a plain text / password from a second outside, a control variable from the first outside, and a cipher / decryption round key from the round key generation control means. Encryption processing control means for receiving the encryption / decryption processing result from the encryption processing means and outputting the encrypted text / plain text; And inputting a round key, an initial plain text, and a used password selection value as the first round input from the encryption processing control means, repeating the encryption processing round to generate an encryption / decryption processing result, and generating the generated encryption / decryption processing result into the encryption processing. It includes encryption processing means for outputting to the control means, and is used for a system requiring data encryption / decryption.
Description
본 발명은 고속 암호 처리를 위한 라운드 키 생성 및 암호처리용 암호화 장치에 관한 것으로, 특히 대칭키 블록 암호 알고리즘의 일종인 국내 표준의 128-비트 시드(SEED) 암호와 64-비트 데이터 암호화 표준(DES : Data Encryption Standard)의 변형인 2-키 방식의 3중-DES(Triple-DES) 암호를 처리하는 하드웨어 구조로서, 두 가지 암호 알고리즘에 대한 처리를 고속으로 수행할 수 있는 암호처리 라운드 구조이다.The present invention relates to an encryption device for round key generation and encryption processing for high-speed encryption processing. In particular, the 128-bit seed (SEED) encryption and 64-bit data encryption standard (DES) of a domestic standard, which is a kind of symmetric key block encryption algorithm. : Hardware structure that handles two-key triple-DES (Triple-DES) cipher, a variation of Data Encryption Standard), and it is a cipher processing round structure that can perform two encryption algorithms at high speed.
현재, 정보 시스템의 발전과 통신망의 급격한 확장으로 정보 보호의 중요성에 대한 인식이 고조되었다. 또한, 정보를 안전하게 보호하기 위한 방법들이 연구되고 있으며, 그중에 암호화를 이용한 정보보호 방법이 많이 사용되고 있다.At present, the development of information systems and the rapid expansion of communication networks have raised awareness of the importance of information protection. In addition, methods for securing information are being researched, and information protection methods using encryption are widely used.
본 발명에서는 국내 표준인 SEED와 DES의 안전도를 강화시킨 3중-DES 암호를 사용한다.In the present invention, a triple-DES cipher with enhanced safety of national standards SEED and DES is used.
SEED와 DES 암호는 대칭키를 사용하여 블록 단위의 평문을 처리하는 블록 암호 알고리즘으로, SEED 암호는 128-비트의 입출력과 키를 사용하며, 16 라운드로 구성된다.SEED and DES ciphers are block cipher algorithms that use symmetric keys to process plain text in block units. SEED ciphers use 128-bit input / output and keys and consist of 16 rounds.
3중-DES 암호는 64-비트의 입출력과 2-키(128비트) 방식으로 DES를 기본 구조로 하는 암복호를 반복하는 구조이다.Triple-DES encryption is a structure that repeats encryption and decryption based on DES in 64-bit I / O and 2-key (128-bit) manner.
정보 시스템에 암호화를 적용할 경우, 암호처리는 시스템 동작의 부가적인처리로 적용되어 시스템의 속도에 영향을 주기 때문에 고속 암호화가 필수적이다. 또한, 실시간 통신이나 초고속 통신망에서 암복호 동작이 시스템에 미치는 부하를 최소화하기 위하여 암호화 시스템 또한 100Mbps 이상의 고속 암호처리가 필요하다. 따라서, 이러한 실시간 처리나 초고속 통신을 위해서는 하드웨어로의 구현이 필요하다.When encryption is applied to an information system, high-speed encryption is essential because cryptographic processing is applied as an additional process of system operation and affects the speed of the system. In addition, in order to minimize the load of the encryption and decryption operation on the system in real-time communication or high-speed communication network, the encryption system also needs a high-speed encryption processing of 100Mbps or more. Therefore, for real time processing or high speed communication, implementation in hardware is required.
블록 암호 알고리즘은 대부분 "Feistel" 구조로 설계된다. 즉, 각각 N 비트인 L0, R0블록으로 이루어진 2N 비트의 평문 블록(L0, R0)이 R개 라운드를 수행하여, 암호문(LR, RR)으로 변환되는 라운드 반복 구조이다. 이러한 반복 구조는 입력 블록(Li, Ri), 출력 블록(Li+1, Ri+1), 그리고 라운드 함수로 구성된 모듈로 라운드라 한다. 이 라운드는 암호키로부터 키 스케줄링에 의하여 생성된 라운드 키, Ki(1<i<R)와 평문/암호문을 입력으로 하여 Li=Ri-1, Ri=Ri-1 f(Ri-1, Ki)인 라운드 결과를 출력한다. 여기서, f(Ri-1, Ki)는 라운드 함수이다.Most block cipher algorithms are designed with a "Feistel" structure. That is, the 2N bit plaintext blocks L 0 and R 0 each consisting of N bits L 0 and R 0 blocks perform R rounds and are converted into ciphertexts L R and R R. This repeating structure is called a modulo round consisting of an input block (L i , R i ), an output block (L i + 1 , R i + 1 ), and a round function. This round uses L i = R i-1 and R i = R i-1 as inputs of the round key, K i (1 <i <R) and plaintext / password, generated by key scheduling from the encryption key. Output the round result of f (R i-1 , K i ). Where f (R i-1 , K i ) is a round function.
처리하는 두 가지 암호에서, SEED 암호의 경우 128-비트의 평문과 암호키를 입력으로 하며, 16 라운드를 반복하는 암호이다. 암호처리는 키 스케줄링에 의하여 생성된 64-비트의 라운드 키를 입력으로 하여 라운드 함수에 따라서 수행된다. 이때, 라운드 함수는 4개 s-box로 구성된 G-함수와 32-비트 모듈러 덧셈으로 구성되어 있다. 한편, 2-키 방식의 3중-DES 암호의 경우, DES를 기본 구조로 하지만 암호/복호/암호의 순서로 3번 반복하는 구조이기 때문에 각각 64-비트의 평문과 암호키 및 복호키를 입력으로 하며, 모두 48 라운드를 반복하는 암호이다. 암호처리및 라운드 함수는 기존의 DES와 동일하다. 이러한 블록 암호 알고리즘은 안전도를 강화하기 위하여 ECB(Electronic Codebook), CBC(Cipher Block Chaining), CFB(Cipher Feedback), 및 OFB(Output Feedback)의 운용 방식을 사용한다.In the two ciphers that are handled, the SEED cipher is a 128-bit plaintext and cipher key, and is a cipher that repeats 16 rounds. Cryptographic processing is performed according to the round function with 64-bit round keys generated by key scheduling as input. The round function consists of a G-function consisting of four s-boxes and a 32-bit modular addition. On the other hand, in the case of the 2-key triple-DES cipher, DES is the basic structure but the structure is repeated three times in the order of cipher / decryption / cipher, so that 64-bit plaintext, cipher key, and decryption key are input. It is a password that repeats 48 rounds. Cryptographic processing and round functions are the same as in traditional DES. The block cipher algorithm uses an operation method of an electronic codebook (ECB), cipher block chaining (CBC), cipher feedback (CFB), and output feedback (OFB) to enhance security.
이상에서와 같이, 데이터 암호화/복호화를 필요로 하는 시스템에 암호화를 적용할 경우, 암호처리는 시스템 동작의 부가적인 처리로 적용될 뿐만 아니라 시스템의 처리 속도에 영향을 주기 때문에 고속 암호화가 필수적이다. 또한, 실시간 통신이나 초고속 통신망에서 암복호 동작이 시스템에 미치는 부하를 최소화하기 위하여 암호화 시스템 또한 100Mbps 이상의 고속 암호처리가 필요하다. 따라서, 이러한 실시간 처리나 초고속 통신을 위해서는 하드웨어로의 구현이 필요하다.As described above, when encryption is applied to a system requiring data encryption / decryption, high-speed encryption is essential because encryption processing is not only applied to additional processing of the system operation but also affects the processing speed of the system. In addition, in order to minimize the load of the encryption and decryption operation on the system in real-time communication or high-speed communication network, the encryption system also needs a high-speed encryption processing of 100Mbps or more. Therefore, for real time processing or high speed communication, implementation in hardware is required.
왜냐하면, SEED 암호는 16라운드 반복 구조인 반면에, 3중-DES는 2번의 암호 및 1번의 복호 과정으로 처리되는 구조로 모두 48라운드 반복 구조이다. 따라서, 이들 암호는 각각 동일한 라운드가 반복되어 수행되기 때문에, 고속 암호처리, 구현 칩의 면적 감소, 암호의 안전도 강화 등을 위해 고속 암호처리 라운드 구조가 필수적으로 요구된다.This is because the SEED cipher has a 16 round repeating structure, whereas the triple-DES is a 48 round repeating structure with two ciphers and one decryption process. Therefore, since these ciphers are repeatedly executed in the same round, the cipher cipher rounding structure is essential for high speed cipher processing, realization chip area reduction, enhanced cipher safety, and the like.
본 발명은 상기한 바와 같은 요구에 부응하기 위하여 제안된 것으로, 데이터 암호화/복호화를 필요로 하는 시스템에서 고속 암호 처리를 통해 시스템의 처리 속도를 향상시키고 암복호 동작이 시스템에 미치는 부하를 최소화하기 위한 라운드 키 생성 및 암호처리용 암호화 장치를 제공하는데 그 목적이 있다.The present invention has been proposed to meet the requirements as described above, in order to improve the processing speed of the system through a high-speed encryption processing in a system requiring data encryption / decryption and to minimize the load on the system decryption operation It is an object of the present invention to provide an encryption device for round key generation and encryption processing.
도 1 은 본 발명에 따른 라운드 키 생성 및 암호처리용 암호화장치에 대한 일실시예 전체 구성도.1 is a block diagram of an embodiment of an encryption apparatus for round key generation and encryption processing according to the present invention.
도 2 는 본 발명에 따른 상기 도 1의 라운드 키 생성회로에 대한 일실시예 상세 구성도.Figure 2 is a detailed configuration diagram of one embodiment of the round key generation circuit of Figure 1 according to the present invention.
도 3 은 본 발명에 따른 상기 도 2의 3중-DES 라운드 키 생성회로에 대한 일실시예 상세 구성도.3 is a detailed block diagram of an embodiment of the triple-DES round key generation circuit of FIG. 2 according to the present invention;
도 4 는 본 발명에 따른 상기 도 1의 암호처리회로에 대한 일실시예 상세 구성도.Figure 4 is a detailed configuration diagram of an embodiment of the encryption processing circuit of Figure 1 according to the present invention.
도 5 는 본 발명에 따른 상기 도 4의 3중-DES 암호처리 라운드에 대한 일실시예 상세 구성도.5 is a detailed block diagram of an embodiment of the triple-DES encryption round of FIG. 4 according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
1 : 라운드 키 생성용 라운드 2 : 암호처리용 라운드1: Round for generating a key 2: Round for encryption processing
상기 목적을 달성하기 위한 본 발명은, 데이터 암호화/복호화를 필요로 하는 시스템에서의 암호처리를 위한 장치에 있어서, 제1 외부로부터 암호키/복호키와 제어변수를 입력받아 라운드 키 생성수단에 초기 키 입력과 사용암호 선택값을 제공하며, 상기 라운드 키 생성수단으로부터 라운드 키 결과를 받아 암호용/복호용 라운드 키를 제공하기 위한 라운드 키 생성 제어수단; 상기 라운드 키 생성 제어수단으로부터 초기 키 입력과 사용암호 선택값을 제공받아 라운드 키 생성 라운드의 수행에 의하여 라운드 키 결과를 생성하며, 생성된 라운드 키 결과를 상기 라운드 키 생성 제어수단으로 제공하기 위한 라운드 키 생성수단; 제2 외부로부터 평문/암호문을, 상기 제1 외부로부터 제어변수를, 상기 라운드 키 생성 제어수단으로부터 암호용/복호용 라운드 키를 제공받아 암호처리수단에 라운드 키, 초기 평문, 사용암호 선택값을 제공하며, 상기 암호처리수단으로부터 암호화/복호화 처리 결과를 받아 암호문/평문으로 출력하기 위한 암호처리 제어수단; 및 상기 암호처리 제어수단으로부터 라운드 키, 초기 평문, 사용암호 선택값을 첫 번째 라운드 입력으로 하고 암호처리 라운드를 반복하여 암호화/복호화 처리 결과를 생성하며, 생성된 암호화/복호화 처리 결과를 상기 암호처리 제어수단으로 출력하기 위한 암호처리수단을 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the present invention provides a device for encryption processing in a system that requires data encryption / decryption, wherein an encryption key / decryption key and a control variable are received from a first source and initialized to a round key generating means. Round key generation control means for providing a key input and a use password selection value, and receiving a round key result from the round key generation means to provide an encryption / decryption round key; A round for generating a round key result by receiving an initial key input and a use password selection value from the round key generation control means and performing a round key generation round, and providing the generated round key result to the round key generation control means. Key generation means; A round key, an initial plain text, and a cipher selection value are provided to a cipher processing means by receiving a plain text / password from a second outside, a control variable from the first outside, and a cipher / decryption round key from the round key generation control means. Encryption processing control means for receiving the encryption / decryption processing result from the encryption processing means and outputting the encrypted text / plain text; And inputting a round key, an initial plain text, and a used password selection value as the first round input from the encryption processing control means, repeating the encryption processing round to generate an encryption / decryption processing result, and generating the generated encryption / decryption processing result into the encryption processing. Characterized in that it comprises a cryptographic processing means for output to the control means.
본 발명은 블록 암호 알고리즘을 하드웨어로의 구현에서, 고속 암호처리를 위한 라운드 구조에 관한 것이다. 여기서, 사용된 블록 암호 알고리즘은 국내 표준의 128-비트 SEED 암호와 국제 데이터 암호화 표준인 64-비트 DES를 변형시킨 2-키 방식의 3중-DES(triple-DES) 암호이다. 또한, 블록 암호 알고리즘의 암호화/복호화는 라운드가 반복되어 수행되며, 수행 과정은 라운드 키 생성과 암호/복호 과정으로 구성된다.The present invention relates to a round structure for fast cryptographic processing in the implementation of a block cipher algorithm in hardware. Here, the block cipher algorithm used is a two-key triple-DES (triple-DES) cipher that transforms a domestic standard 128-bit SEED cipher and a 64-bit DES that is an international data encryption standard. In addition, the encryption / decryption of the block cipher algorithm is performed by repeating the round, and the execution process consists of the round key generation and the encryption / decryption process.
SEED 암호의 경우, 각각 16라운드의 라운드 키 생성과 암호/복호 과정을 수행하여 입력된 평문을 암호화하지만, 3중-DES 암호의 경우 각각 16라운드의 암호용 및 복호용 라운드 키 생성과 48라운드의 암호/복호 과정으로 암호화한다.In the case of SEED encryption, 16 rounds of key generation and encryption / decryption processes are performed to encrypt the plain text entered, while in the case of triple-DES encryption, 16 rounds of encryption and decryption round key generation and 48 rounds of encryption are performed. Encrypt with encryption / decryption process.
데이터 암호화/복호화를 필요로 하는 암호처리 시스템에서, 암호처리는 시스템 동작의 부가적인 처리로 적용될 뿐만 아니라 시스템의 처리 속도에 영향을 주기 때문에 고속 암호처리가 필수적이다. 또한, 실시간 통신이나 초고속 통신망에서 암호/복호 동작이 시스템에 미치는 부하를 최소화하기 위하여 암호화 시스템 또한 100Mbps이상의 고속 암호처리가 필요하다. 따라서, 이러한 실시간 처리나 초고속 통신을 위해서는 하드웨어로의 구현이 필요하다.In cryptographic processing systems that require data encryption / decryption, cryptographic processing is not only applied as an additional processing of system operation, but also high speed cryptographic processing is essential because it affects the processing speed of the system. Also, in order to minimize the load of the encryption / decryption operation on the system in real-time communication or high-speed communication network, the encryption system also needs high-speed encryption of 100Mbps or more. Therefore, for real time processing or high speed communication, implementation in hardware is required.
이를 위해, 본 발명의 고속 암호처리를 위한 라운드 구조는, 외부의 프로세서로부터 입력된 평문/암호문, 암호키/복호키, 제어변수를 입력받으며, 암호/복호 처리된 결과는 외부의 프로세서 제어에 의하여 출력하는 수단을 구비한다.To this end, the round structure for the high-speed encryption processing of the present invention, the plain text / cipher text, encryption key / decryption key, the control variable input from the external processor, the encryption / decryption result is processed by the external processor control Means for outputting.
본 발명의 고속 암호처리를 위한 라운드 구조는, 두 가지 암호 알고리즘을 수행하며 고속 암호처리를 위하여 3중-DES 암호의 경우, 1라운드 수행으로 암호용 및 복호용 라운드 키를 생성하고 12라운드의 수행으로 암호화/복호화를 수행하는 구성이다. 이러한 구성은 암호처리 시스템, 데이터 저장/관리 시스템 및 정보보호시스템 등에서 데이터를 고속으로 암호화 또는 복호화할 수 있다.The round structure for the fast encryption processing of the present invention performs two encryption algorithms, and in the case of the triple-DES encryption for the fast encryption processing, one round of execution generates a round key for encryption and decryption and performs 12 rounds. In this configuration, encryption / decryption is performed. Such a configuration can encrypt or decrypt data at high speed in an encryption processing system, a data storage / management system, and an information protection system.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1 은 본 발명에 따른 라운드 키 생성 및 암호처리용 암호화장치에 대한 일실시예 전체 구성도로서, 도면에서 "11"은 라운드 키 생성회로 제어기, "12"는 라운드 키 생성회로, "13"은 암호처리회로 제어기, 그리고 "14"는 암호처리회로를 각각 나타낸다.1 is an overall configuration diagram of an encryption device for round key generation and encryption processing according to the present invention, in which "11" is a round key generation circuit controller, "12" is a round key generation circuit, and "13". Denotes an encryption processing circuit controller, and " 14 "
도 1에 도시된 바와 같이, 본 발명에 따른 라운드 키 생성 및 암호처리용 암호화장치는, 크게 라운드 키 생성용 라운드(1)와 암호처리용 라운드(2)를 구비하여, 상기 라운드 키 생성용 라운드(1)는 암호키/복호키와 제어변수(사용암호, 운용모드 및 암호/복호 동작 선택)를 입력받아서, 라운드 키 생성회로(12)에 초기 키 입력과 사용암호 선택값을 제공하고, 라운드 키 생성회로(12)의 라운드 키 결과를 받아서 암호처리회로 제어기(13)로 암호용/복호용 라운드 키를 제공하는 라운드 키 생성회로 제어기(11)와, 초기 키 입력과 사용암호 선택값을 입력으로 하여, 라운드 키 생성 라운드의 수행에 의하여 생성된 라운드 키 결과를 라운드 키 생성회로 제어기(11)로 제공하는 라운드 키 생성회로(12)를 구비하고, 상기 암호처리용 라운드(2)는 암호용/복호용 라운드 키, 평문/암호문, 제어변수를 입력으로 하여, 암호처리회로(14)에 라운드 키, 초기 평문, 사용암호 선택값을 제공하고, 암호처리회로(14)의 암호화/복호화 처리 결과를 받아서 암호문/평문으로 출력하는 암호처리회로 제어기(13)와, 라운드 키, 초기 평문과 사용암호 선택값을 첫 번째 라운드 입력으로 하고 암호처리 라운드를 반복하여 생성된 암호화/복호화 처리 결과를 출력하는 암호처리회로(14)를 구비한다.As shown in Fig. 1, the encryption apparatus for round key generation and encryption processing according to the present invention includes a round key generation round 1 and an encryption processing round 2, and the round key generation round. (1) receives an encryption key / decryption key and control variables (selection of use password, operation mode and encryption / decryption operation), and provides an initial key input and use password selection value to the round key generation circuit 12, A round key generation circuit controller 11 which receives the round key result of the key generation circuit 12 and provides the encryption / decryption round key to the encryption processing circuit controller 13, and inputs an initial key input and a password selection value to be used. The round key generation circuit 12 provides a round key generation circuit 12 that provides the round key generation circuit controller 11 with the round key generation result generated by the execution of the round key generation round. Round key for decoding, By inputting plain text / password and control variable, it provides round key, initial plain text, and use password selection value to the encryption processing circuit 14, and receives the encryption / decryption processing result of the encryption processing circuit 14. An encryption processing circuit controller 13 for outputting, and an encryption processing circuit 14 for outputting the encryption / decryption processing result generated by repeating the encryption processing round as the first round input with the round key, the initial plain text, and the use password selection value. It is provided.
본 발명에 따른 라운드 키 생성용 라운드(1) 및 암호처리용 라운드(2)를 구비하는 고속 암호화장치는, 평문/암호문과 암호키/복호키를 입력으로 하고, 라운드 반복 수행에 의하여 라운드 키와 암호문/평문을 출력한다. 이때, 반복 수행되는 라운드는 라운드 키 생성용 라운드(1)와 암호처리용 라운드(2) 부분으로 구성된다.A high-speed encryption apparatus having a round key generation round 1 and an encryption processing round 2 according to the present invention has a plain / cryptogram and an encryption key / decryption key as inputs, and the round key and Output ciphertext / plaintext. At this time, the repeated round is composed of a round key generation round (1) and the encryption processing round (2).
상기 라운드 키 생성용 라운드(1)는 라운드 키 생성회로 제어기(11)와 라운드 키 생성회로(12)로 구성된다.The round 1 for round key generation is composed of a round key generation circuit controller 11 and a round key generation circuit 12.
라운드 키 생성회로 제어기(11)는 암호키/복호키와 제어변수(사용암호, 운용모드 및 암호/복호 동작 선택)를 입력으로 하여 라운드 키 생성회로(12)에서 사용할 초기 키 입력과 사용암호 선택값을 공급한다.The round key generation circuit controller 11 inputs an encryption key / decryption key and a control variable (use password, operation mode and encryption / decryption operation selection) as inputs, and selects an initial key input and use password to be used in the round key generation circuit 12. Supply a value.
라운드 키 생성회로(12)는 공급된 초기 키 입력을 첫 번째 반복 라운드의 입력으로 하여 라운드를 반복하며, 이때 생성된 라운드 키 결과를 라운드 키 생성회로 제어기(11)로 공급한다.The round key generation circuit 12 repeats the round with the supplied initial key input as the input of the first repetition round, and supplies the generated round key result to the round key generation circuit controller 11.
모든 라운드의 반복 처리가 끝나면, 라운드 키 생성회로 제어기(11)는 암호용/복호용 라운드 키들을 암호처리용 라운드(2)로 공급한다.After all rounds of repetitive processing are completed, the round key generation circuit controller 11 supplies the encryption / decryption round keys to the encryption processing round 2.
한편, 암호처리용 라운드(2)의 구성은 암호처리회로 제어기(13)와 암호처리회로(14)로 구성된다.On the other hand, the configuration of the encryption processing round 2 is composed of an encryption processing circuit controller 13 and an encryption processing circuit 14.
암호처리회로 제어기(13)는 라운드 키 생성용 라운드(1)에서 출력된 암호용/복호용 라운드 키, 평문/암호문, 그리고 제어변수를 입력으로 하여 암호처리회로(14)로 라운드 키, 초기 평문, 사용암호 선택값을 공급한다.The encryption processing circuit controller 13 inputs the encryption / decryption round key outputted from the round 1 for round key generation, the plain text / encryption text, and the control variable as inputs to the encryption processing circuit 14 for the round key, the initial plain text. , Supply password selection value.
암호처리회로(14)는 라운드 키 및 초기 평문값을 입력으로 하여 첫 번째 암호화/복호화 라운드를 수행하며, 최종적으로 수행된 암호화/복호화 처리 결과를 암호처리회로 제어기(13)로 공급하여 최종 암호/복호 처리 결과인 암호문/평문을 출력한다.The encryption processing circuit 14 performs the first round of encryption / decryption by inputting the round key and the initial plain text value, and supplies the final encryption / decryption processing result to the encryption processing circuit controller 13 to receive the final encryption / decryption. Output ciphertext / plaintext which is the result of decryption processing.
도 2 는 본 발명에 따른 상기 도 1의 라운드 키 생성회로에 대한 일실시예 상세 구성도로서, 도면에서 "21"은 제1 멀티플렉서, "22"는 제1 디멀티플렉서, "23"은 SEED 라운드 키 생성회로, "24"는 3중-DES 라운드 키 생성회로, 그리고 "25"는 제2 멀티플렉서를 각각 나타낸다.FIG. 2 is a detailed configuration diagram of the round key generation circuit of FIG. 1 according to the present invention, in which “21” is a first multiplexer, “22” is a first demultiplexer, and “23” is a SEED round key. A generation circuit, "24" represents a triple-DES round key generation circuit, and "25" represents a second multiplexer, respectively.
도 2에 도시된 바와 같이, 라운드 키 생성회로(12)는 제1 멀티플렉서(21), 제1 디멀티플렉서(22), SEED 라운드 키 생성회로(23), 3중-DES 라운드 키 생성회로(24), 그리고 제2 멀티플렉서(25)를 구비하여, 암호/복호 처리에서 사용할 라운드 키를 생성한다.As shown in FIG. 2, the round key generation circuit 12 includes a first multiplexer 21, a first demultiplexer 22, a SEED round key generation circuit 23, and a triple-DES round key generation circuit 24. And a second multiplexer 25 to generate a round key for use in encryption / decryption processing.
라운드 키 생성회로(12)에 초기 키 입력과 사용암호 선택값이 입력되면, 제1 멀티플렉서(21)는 초기 키 입력과 라운드 키 피드백 결과를 선택하여 제1 디멀티플렉서(22)로 출력한다.When the initial key input and the use password selection value are input to the round key generation circuit 12, the first multiplexer 21 selects the initial key input and the round key feedback result and outputs the result to the first demultiplexer 22.
제1 디멀티플렉서(22)는 사용암호 선택값에 따라서 해당하는 암호의 라운드 키 생성회로(23 혹은 24)로 초기 키를 입력시킨다. 이 초기 키를 입력으로 하여 SEED 라운드 키 생성회로(23)나 3중-DES 라운드 키 생성회로(24)가 동작되며, 그 결과를 제2 멀티플렉서(25)로 출력한다.The first demultiplexer 22 inputs the initial key into the round key generation circuit 23 or 24 of the corresponding cipher according to the use cipher selection value. The SEED round key generation circuit 23 or the triple-DES round key generation circuit 24 is operated using this initial key as an input, and the result is output to the second multiplexer 25.
제2 멀티플렉서(25)는 사용암호 선택값이 SEED 암호인 경우에, 제1 멀티플렉서(21)로 라운드 키를 피드백시켜 라운드를 반복 수행하게 한다.The second multiplexer 25 feeds the round key back to the first multiplexer 21 when the password selection value is a SEED cipher so as to repeat the round.
상기 SEED 라운드 키 생성회로(23)는 단일 라운드로 구성되어 반복하는 구조이며, SEED 암호의 키 스케줄링에서 사용한 라운드 함수를 사용한다.The SEED round key generation circuit 23 is composed of a single round and repeats structure, and uses a round function used for key scheduling of SEED encryption.
도 3 은 본 발명에 따른 상기 도 2의 3중-DES 라운드 키 생성회로에 대한 일실시예 상세 구성도로서, 도면에서 "31"은 암호 라운드 그리고 "32"는 복호 라운드를 각각 나타낸다.3 is a detailed configuration diagram of an embodiment of the triple-DES round key generation circuit of FIG. 2 according to the present invention, in which "31" represents an encryption round and "32" represents a decryption round, respectively.
도 3에 도시된 바와 같이, 3중-DES 라운드 키 생성회로(24)는 암호 라운드(31)와 복호 라운드(32)로 구성되어, 3중-DES 암호의 암호용/복호용 라운드 키를 생성한다.As shown in FIG. 3, the triple-DES round key generation circuit 24 is composed of a cipher round 31 and a decryption round 32 to generate a cipher / decryption round key for a triple-DES cipher. do.
3중-DES 라운드 키 생성회로(24)는 16개의 암호 라운드(31)와 16개의 복호 라운드(32)가 단일 라운드로 구성된다.The triple-DES round key generation circuit 24 comprises 16 cipher rounds 31 and 16 decryption rounds 32 as a single round.
16개의 라운드 사용은 단일 라운드 과정으로 암호용 및 복호용 라운드 키를 모두 생성시키며, 사용한 암호 라운드(31) 및 복호 라운드(32)는 DES 암호의 키 스케줄링에서 사용한 라운드와 동일하다.The use of 16 rounds generates both cryptographic and decryption round keys in a single round process, and the cipher round 31 and decryption round 32 used are the same as those used in key scheduling of the DES cipher.
도 4 는 본 발명에 따른 상기 도 1의 암호처리회로에 대한 일실시예 상세 구성도로서, 도면에서 "41"은 평문 레지스터, "42"는 제3 멀티플렉서, "43"은 라운드 입력 레지스터, "44"는 제2 디멀티플렉서, "45"는 SEED 암호처리 라운드, "46"은 3중-DES 암호처리 라운드, "47"은 제4 멀티플렉서, 그리고 "48"은 라운드 출력 레지스터를 각각 나타낸다.FIG. 4 is a detailed configuration diagram of an encryption processing circuit of FIG. 1 according to the present invention, in which "41" is a plain text register, "42" is a third multiplexer, "43" is a round input register, " 44 denotes a second demultiplexer, 45 denotes a SEED encryption round, 46 denotes a triple-DES encryption round, 47 denotes a fourth multiplexer, and 48 denotes a round output register.
상기 도 1의 암호처리회로(14)는 평문 레지스터(41), 제3 멀티플렉서(42), 라운드 입력 레지스터(43), 제2 디멀티플렉서(44), SEED 암호처리 라운드(45), 3중-DES 암호처리 라운드(46), 제4 멀티플렉서(47), 그리고 라운드 출력 레지스터(48)를 구비하여, 초기 평문과 라운드 키를 이용해 암호/복호 처리한다.The encryption processing circuit 14 of FIG. 1 includes a plain text register 41, a third multiplexer 42, a round input register 43, a second demultiplexer 44, a SEED encryption processing round 45, and triple-DES. An encryption round 46, a fourth multiplexer 47, and a round output register 48 are provided to encrypt / decrypt using an initial plain text and a round key.
도 4에 도시된 바와 같이, 암호처리회로(14)는 초기 평문의 저장을 위한 평문 레지스터(41)와, 평문 레지스터(41)의 출력과 라운드 피드백값을 선택 출력하는 제3 멀티플렉서(42)와, SEED 암호처리 라운드(45) 및 3중-DES 암호처리 라운드(46)의 초기 평문의 입력 및 반복되는 라운드의 입력을 저장하는 라운드 입력 저장을 위한 라운드 입력 레지스터(43)와, 사용암호 선택값에 따라서 각 암호처리 라운드 입력값을 선택하여 공급하는 제2 디멀티플렉서(44)와, 제2 디멀티플렉서(44)의 출력과 라운드 키를 입력으로 하여 SEED 암호의 암호처리 라운드인 SEED 암호 처리 라운드(45)와, 제2 디멀티플렉서(44)의 출력과 라운드 키를 입력으로 하여 3중-DES 암호의 암호처리 라운드인 3중-DES 암호처리 라운드(46)와, 사용암호 선택값에 따라서 SEED 암호처리 라운드(45) 및 3중-DES 암호처리 라운드(46)의 암호처리 라운드 결과를 선택 출력하는 제4 멀티플렉서(47)와, 그리고 제4 멀티플렉서(47)의 출력을 저장하고, 제3 멀티플렉서(42)로 라운드 피드백값을 출력하며, 최종 라운드 결과를 출력하기 위한 라운드 출력 레지스터(48)를 구비한다.As shown in FIG. 4, the encryption processing circuit 14 includes a plain text register 41 for storing the initial plain text, a third multiplexer 42 for selectively outputting the output and the round feedback value of the plain text register 41; A round input register 43 for storing a round input for storing an initial plain text input of the SEED encryption round 45 and a triple-DES encryption round 46 and an input of repeated rounds, and a password selection value for use. A second demultiplexer 44 for selecting and supplying each cipher processing round input value and an output and a round key of the second demultiplexer 44 as inputs, and a SEED cipher processing round 45 which is a cipher processing round of the SEED cipher. And a triple-DES encryption processing round 46 which is an encryption processing round of the triple-DES encryption by inputting the output of the second demultiplexer 44 and a round key, and a SEED encryption processing round according to the password selection value. 45) and triple-DES ciphers A fourth multiplexer 47 for selectively outputting the ciphering round result of the reround 46, and an output of the fourth multiplexer 47, and outputting a round feedback value to the third multiplexer 42, and finally And a round output register 48 for outputting round results.
상기 SEED 암호처리 라운드(45)는 단일 라운드로 구성되어 반복하는 구조이며, SEED 암호의 암호처리 라운드에서 사용한 라운드 함수를 사용한다.The SEED encryption round 45 is composed of a single round and repeats, and uses a round function used in the encryption round of SEED encryption.
도 5 는 본 발명에 따른 상기 도 4의 3중-DES 암호처리 라운드에 대한 일실시예 상세 구성도로서, 도면에서 "51"은 암호처리 라운드를 나타낸다.FIG. 5 is a detailed configuration diagram of an embodiment of the triple-DES encryption round of FIG. 4 according to the present invention, in which “51” denotes a encryption round.
도 5에 도시된 바와 같이, 3중-DES 암호처리 라운드(46)는 암호처리 라운드(51)를 통해 초기 평문과 암호용 및 복호용 라운드 키를 이용하여 암호/복호 처리한다.As shown in Fig. 5, the triple-DES encryption round 46 performs encryption / decryption processing using the initial plain text and the encryption and decryption round keys through the encryption round 51.
3중-DES 암호처리 라운드(46)는 4단의 암호처리 라운드(51)가 단일 라운드로 구성되며, 평문/암호문과 4개의 라운드 키를 입력으로 하여 4단의 암호처리 라운드(51)를 수행한다. 이때, 사용한 암호처리 라운드(51)는 DES 암호의 기본 암호처리 라운드와 동일하다.Triple-DES encryption round 46 is composed of four rounds of encryption round 51 consists of a single round, and performs four rounds of encryption rounds 51 by inputting a plain text / password and four round keys. do. At this time, the used encryption processing round 51 is the same as the basic encryption processing round of the DES encryption.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains, and the above-described embodiments and accompanying It is not limited to the drawing.
상기한 바와 같은 본 발명은, 하드웨어의 면적과 처리 속도면에서 효과적인 라운드 키 생성 및 암호처리가 가능하고, 특히 라운드 키 생성 과정에서 3중-DES의 경우 동시에 암호키 및 복호키가 단일 라운드에 생성되며, 암호처리 과정에서 3중-DES 암호의 처리 라운드의 수를 1/4로 줄임으로써 암호/복호 과정의 처리속도를 향상시킬 수 있고, 고속의 암호처리는 암호의 안전도를 향상시키는 효과가 있다.As described above, the present invention enables effective round key generation and encryption processing in terms of hardware area and processing speed, and especially in the case of triple-DES in the round key generation process, encryption key and decryption key are simultaneously generated in a single round. By reducing the number of rounds of triple-DES encryption to 1/4 during the encryption process, the processing speed of the encryption / decryption process can be improved, and the high-speed encryption process improves the security of the password. .
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000024007A KR100362170B1 (en) | 2000-05-04 | 2000-05-04 | Apparatus of encryption for round key generating and encryption processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000024007A KR100362170B1 (en) | 2000-05-04 | 2000-05-04 | Apparatus of encryption for round key generating and encryption processing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010102684A KR20010102684A (en) | 2001-11-16 |
KR100362170B1 true KR100362170B1 (en) | 2002-11-23 |
Family
ID=45788911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000024007A KR100362170B1 (en) | 2000-05-04 | 2000-05-04 | Apparatus of encryption for round key generating and encryption processing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100362170B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160080713A (en) * | 2014-12-30 | 2016-07-08 | 주식회사 와우인포텍 | A central control system of controlling method for remicon concrete production data random correction prevention |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100379122B1 (en) * | 2000-11-13 | 2003-04-08 | 엘지전자 주식회사 | Method for Creating Round Key in Giga Bit Ethernet Switch 128 Bit Block Encrypting Algorithm |
KR20020087331A (en) * | 2001-05-14 | 2002-11-22 | 최병윤 | AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme |
KR20030051111A (en) * | 2001-12-18 | 2003-06-25 | 신경욱 | Round processing circuit and on-line round key generation circuit for the hardware implementation of AES Rijndael cipher algorithm |
KR20030087893A (en) * | 2002-05-09 | 2003-11-15 | 최병윤 | Modular AES Rijndael Round Key Scheduler with On-the-Fly Computation Scheme of Round Key |
US8971530B2 (en) * | 2009-06-24 | 2015-03-03 | Intel Corporation | Cryptographic key generation using a stored input value and a stored count value |
KR102038217B1 (en) * | 2017-01-06 | 2019-10-29 | 경일대학교산학협력단 | Information security system through encrypting and decrypting personal data and contents in smart device based on Lightweight Encryption Algorithm, method thereof and computer recordable medium storing program to perform the method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740249A (en) * | 1996-04-09 | 1998-04-14 | Kabushiki Kaisha Toshiba | Encryption apparatus and method capable of controlling encryption process in accordance with an internal state |
JPH10232606A (en) * | 1996-12-20 | 1998-09-02 | Toshiba Corp | Ciphering method and decoding method and ciphering device and decoding device |
KR19990002840A (en) * | 1997-06-23 | 1999-01-15 | 윤종용 | Fast Block Encryption Algorithm Guarantees Security against Differential and Linear Decryptions |
KR19990066669A (en) * | 1998-01-26 | 1999-08-16 | 구본철 | Screen shredder |
-
2000
- 2000-05-04 KR KR1020000024007A patent/KR100362170B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740249A (en) * | 1996-04-09 | 1998-04-14 | Kabushiki Kaisha Toshiba | Encryption apparatus and method capable of controlling encryption process in accordance with an internal state |
JPH10232606A (en) * | 1996-12-20 | 1998-09-02 | Toshiba Corp | Ciphering method and decoding method and ciphering device and decoding device |
KR19990002840A (en) * | 1997-06-23 | 1999-01-15 | 윤종용 | Fast Block Encryption Algorithm Guarantees Security against Differential and Linear Decryptions |
KR19990066669A (en) * | 1998-01-26 | 1999-08-16 | 구본철 | Screen shredder |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160080713A (en) * | 2014-12-30 | 2016-07-08 | 주식회사 와우인포텍 | A central control system of controlling method for remicon concrete production data random correction prevention |
KR101706977B1 (en) * | 2014-12-30 | 2017-02-15 | 주식회사 와우인포텍 | A central control system of controlling method for remicon concrete production data random correction prevention |
Also Published As
Publication number | Publication date |
---|---|
KR20010102684A (en) | 2001-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0635956B1 (en) | Encryption apparatus, communication system using the same and method therefor | |
US7715553B2 (en) | Encrypting a plaintext message with authentication | |
US8712036B2 (en) | System for encrypting and decrypting a plaintext message with authentication | |
EP0802653B1 (en) | Multi-cycle non-parallel data encryption engine | |
Ramesh et al. | Performance analysis of encryption algorithms for Information Security | |
US6246768B1 (en) | Data encryption system for encrypting plaintext data | |
US20110216901A1 (en) | Keystream encryption device, method, and program | |
Mohan et al. | Performance analysis of AES and MARS encryption algorithms | |
US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
KR100362170B1 (en) | Apparatus of encryption for round key generating and encryption processing | |
Patil et al. | An enhancement in international data encryption algorithm for increasing security | |
JP2000209195A (en) | Cipher communication system | |
Gupta | Implementation of optimized des encryption algorithm upto 4 round on spartan 3 | |
Mohan et al. | Revised aes and its modes of operation | |
KR100259836B1 (en) | A n-round round output feedback block cipher/decipher method | |
TWI728933B (en) | Hybrid multistage algorithm encryption and decryption system, transmitting device thereof, and receiving device thereof | |
JPH0736672A (en) | Random-number generator, communication system using the same and method therefor | |
KR20160099864A (en) | Device For Performing Block Cipher Algorithm LEA | |
JP2002510058A (en) | Method for cryptographic conversion of binary data blocks | |
JPH0738558A (en) | Ciphering device, communication system using the same and method therefor | |
EP1001398B1 (en) | Ciphering apparatus | |
JP2001177518A (en) | Enciphering method, and decoding method and device | |
KR100668664B1 (en) | Module and method for encryption/decryption by using aes rijndael block algorithm | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
KR20040045517A (en) | Real time block data encryption/decryption processor using Rijndael block cipher and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20091029 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |