KR100965874B1 - Apparatus and method for encrypting/decrypting cipher key chaining - Google Patents
Apparatus and method for encrypting/decrypting cipher key chaining Download PDFInfo
- Publication number
- KR100965874B1 KR100965874B1 KR1020030001608A KR20030001608A KR100965874B1 KR 100965874 B1 KR100965874 B1 KR 100965874B1 KR 1020030001608 A KR1020030001608 A KR 1020030001608A KR 20030001608 A KR20030001608 A KR 20030001608A KR 100965874 B1 KR100965874 B1 KR 100965874B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption
- logical operation
- decryption
- output
- predetermined
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 암호화/복호화 장치 및 방법에 관한 것으로, 보다 상세하게는 보안 유지 및 구현이 용이한 CKC 암호화/복호화 장치 및 방법에 관한 것이다. CKC 암호화 장치는 소정의 초기화문 및 소정의 암호화키를 논리 연산하는 제1 논리연산수단, 입력되는 상기 제1 논리 연산 결과 및 암호화하고자 하는 현재 블록의 평문을 소정의 암호화 알고리즘으로 암호화하는 도중에 일정한 반암호문을 출력하고, 이어서 암호화를 계속 수행하여 현재 블록의 최종 암호문을 출력하는 암호화수단, 상기 반암호문을 초기화문으로 하고 상기 암호화키와 논리 연산하여 다음 블록의 암호화수단으로 출력하는 제2 논리연산수단을 포함한다. 본 발명에 따르면, 암호화/복호화 처리 중에 반암호문 및 반복호문을 초기화문으로 사용하는 Pipeline 방식을 사용하여 암호/복호 처리함으로써 EBC 방식보다 보안이 우수하고 CBC 방식보다 구현이 간단한 효과를 창출한다.
The present invention relates to an encryption / decryption apparatus and method, and more particularly, to a CKC encryption / decryption apparatus and method that is easy to maintain and implement security. The CKC encryption apparatus performs a predetermined halfway during encrypting a predetermined initialization statement and a first logical operation means for performing a logical operation on a predetermined encryption key, an input result of the first logical operation, and a plain text of a current block to be encrypted with a predetermined encryption algorithm. Encryption means for outputting a cipher text, and subsequently performing encryption to output the final cipher text of the current block, and second logical operation means for outputting the anti-cipher text as an initialization statement and performing a logical operation with the encryption key to output to the encryption means of the next block. It includes. According to the present invention, encryption / decryption is performed using a pipelined method that uses anti-cipher and repetitive statements as an initialization statement during encryption / decryption, thereby creating an effect that is superior to the EBC method and simpler to implement than the CBC method.
Description
도 1a 및 b는 ECB 암호화 장치 및 복호화 장치의 구성을 보이는 블록도 이다.1A and B are block diagrams showing the configuration of an ECB encryption apparatus and a decryption apparatus.
도 2a 및 2b는 CBC 암호화 장치 및 복호화 장치의 구성을 보이는 블록도 이다.2A and 2B are block diagrams showing the configuration of a CBC encryption apparatus and a decryption apparatus.
도 3a 및 b는 본 발명에 따른 CKC 암호화 장치의 구성을 보이는 블록도 이다.3A and 3B are block diagrams showing the configuration of a CKC encryption apparatus according to the present invention.
도 4는 본 발명에 따른 CKC 암호화 방법의 동작을 보이는 흐름도 이다.4 is a flowchart showing the operation of the CKC encryption method according to the present invention.
도 5a 및 b는 본 발명에 따른 CKC 복호화 장치의 구성을 보이는 블록도 이다.5a and b are block diagrams showing the configuration of the CKC decoding apparatus according to the present invention.
도 6은 본 발명에 따른 CKC 복호화 방법의 동작을 보이는 흐름도 이다.6 is a flowchart showing the operation of the CKC decoding method according to the present invention.
본 발명은 암호화/복호화 장치 및 방법에 관한 것으로, 보다 상세하게는 보안 유지 및 구현이 용이한 CKC(Cipher Key Chaining) 암호화/복호화 장치 및 방법 에 관한 것이다.The present invention relates to an encryption / decryption apparatus and method, and more particularly, to an apparatus and method for cipher key chaining (CKC) encryption / decryption that is easy to maintain and implement security.
현존하는 암호 시스템들은 통계적 취약성을 모두 내포하고 있다. 그러므로 암호화 시스템 자체가 해독되어지는 것은 시간과 노력의 차이만 있을 뿐, 완전하게 막아낼 수는 없다. 비도와 처리시간과는 Trade-off 관계가 존재하게 된다. 소프트웨어적으로 구현된 암호 시스템의 경우, 암호 시스템의 구현 및 운용이 용이하다는 장점이 있으나 데이터 량이 급증하거나 동시다발적인 다중화 포화 상태일 경우 컴퓨터가 다운되거나 처리시간이 오래 걸린다는 단점을 가지게 된다. 이러한 단점을 없애기 위하여 하드웨어적으로 구현된 암호 시스템이 등장하였으나 아직까지는 크게 현실적이며, 효율적이지 못하다. 이러한 하드웨어 또는 소프트웨어 암호 시스템들이 현재 정보통신 네트워크 상에서 효율적이지 못한 이유는 암호 시스템을 하드웨어 또는 소프트웨어로 구현할 때 구현의 기본이 되는 암호 알고리즘에 문제점이 내포되어 있기 때문이다. 즉, 효율적인 키 분배와 키 생성, 암호문과 평문사이에서의 변환과정 등이 수학적인 배경을 가지고 있기 때문에 고속 및 고비도의 암호 시스템을 구현하는데 장애로써 존재하기 때문이다.Existing cryptosystems contain all statistical vulnerabilities. Therefore, the decryption of the encryption system itself is only a difference in time and effort, and cannot be completely prevented. There is a trade-off relationship between specificity and treatment time. The cryptographic system implemented in software has the advantage of easy implementation and operation of the cryptographic system, but it has the disadvantage that the computer is down or takes a long time when the data volume increases rapidly or in multiplexed multiplexed saturation. In order to eliminate this disadvantage, a hardware-implemented cryptographic system has emerged, but it is still very realistic and inefficient. The reason why these hardware or software cryptosystems are not efficient on the current telecommunications network is because they have a problem in the cryptographic algorithm that is the basis of the implementation of the cryptosystem in hardware or software. In other words, the efficient key distribution, key generation, and conversion between ciphertext and plaintext have a mathematical background, and thus exist as an obstacle to implementing a high-speed and high-cost cryptographic system.
현대 암호화의 기술은 암호 알고리즘의 공개와 키의 보호라는 특징을 가지고 있다. 암호 시스템은 알려진 알고리즘에 입력되는 평문과 키를 섞어 암호문을 만들어 낸다. 즉, 키를 모르면 도저히 원래의 정보를 회복할 수 없으나 키를 알면 손쉽게 원래의 정보를 복원한다는 것이다.Modern cryptographic technologies are characterized by the disclosure of cryptographic algorithms and key protection. Cryptographic systems generate ciphertext by mixing keys and plaintext input into known algorithms. In other words, if you don't know the key, you can't recover the original information, but if you know the key, you can easily restore the original information.
일반적으로 암호화 장치는 암호화키와 복호화 키가 동일한 대칭형 암호화 장치 및 암호화키와 복호화 키가 다른 비대칭형 암호화 장치로 구분된다. 대칭형 암호화 장치는 다시 암호화를 수행하게 되는 데이터를 일정 크기의 블록으로 나누어 암호화를 수행하는 블록 암호화 장치, 암호화를 수행하게 되는 데이터를 일정 크기가 아닌 비트 단위로 암호화하는 스트림 암호화 장치, 블록 암호화 장치 및 스트림 암호화 장치를 혼합한 혼합형 암호화 장치로 구성된다. 블록 암호화 장치에서 사용되는 여러 가지 암호화 방식은 ECB(Electric Code Book) 방식과 CBC(Cipher Block Chaining) 방식 등이 있으며, 이들을 종래 기술로서 설명한다.Generally, an encryption device is classified into a symmetric encryption device having the same encryption key and decryption key and an asymmetric encryption device having different encryption key and decryption key. The symmetric encryption device may further include a block encryption device that encrypts data to be encrypted again into blocks of a predetermined size, a stream encryption device that encrypts data to be encrypted in bits rather than a predetermined size, a block encryption device, and Composed of a mixed encryption device in which a stream encryption device is mixed. Various cipher systems used in the block cipher apparatus include an ECB (Electric Code Book) scheme and a Cipher Block Chaining (CBC) scheme, which will be described as a prior art.
도 1a 및 b는 ECB 암호화/복호화 장치의 구성을 보이는 블록도로서, 설명의 편의상 제1 블록 암호화부/복호화부(100a/100b) 및 제2 블록 암호화부/복호화부(101a/101b)로 구성하였으며, 더 확장될 수 있다. 도 1a의 ECB 암호화 장치는 입력되는 평문(M) 및 암호화키(K)를 블록 암호화부(100a, 101b)에 입력하여 암호화 한 후 암호화문(C)를 출력하는 것이다. 그리고, 도 1b의 ECB 복호화 장치는 입력되는 암호화문(C) 및 복호화키(K)를 블록 복호화부(100b, 101b)에 입력하여 복호화 한 후 평문(M)을 출력하는 것이다. 1A and B are block diagrams showing the configuration of an ECB encryption / decryption apparatus. For convenience of description, the first block encryption / decryption unit 100a / 100b and the second block encryption /
이와 같은 ECB 암호화/복호화 장치는 병렬 처리가 가능하여 암호화 및 복호화 처리 시간이 짧고, 구현이 간단하다는 장점이 있으나, 평문이 주기적으로 반복되는 경우 암호화 시에 평문 패턴이 암호문에서도 보이는 문제점이 발생한다Such an ECB encryption / decryption device has the advantage that the encryption and decryption processing time is short because the parallel processing is possible, and the implementation is simple. However, when the plain text is periodically repeated, the plain text pattern is also seen in the cipher text during encryption.
도 2a 및 2b는 CBC 암호화/복호화 장치의 구성을 보이는 블록도로서, 설명의 편의상 암호화/복호화 논리연산부(200a,202a/201b,203b), 제1 및 제2 블록 암호화부/복호화부(201a,203a/200b,202b)로 구성하였으며, 더 확장될 수 있다. CBC 암호화 방식은 EBC 암호화 방식의 단점을 보완하기 위한 것으로, 도 2a에 도시된 CBC 암호화 장치를 설명하면, 제1 평문(M1)과 초기화문(IV0)가 제1 논리 연산부(200a)에서 배타적 논리합 연산되어 암호화키(K)와 제1 블록 암호화부(201a)로 입력되고, 암호화 된 후 제1 암호화문(C1)을 출력한다. 제1 암호화문(C1)은 다음 블록의 암호화를 위해 초기화문으로 입력되어 제2 평문(M2)와 제2 논리 연산부(202a)에서 배타적 논리합 연산되어 암호화키(K)와 제2 블록 암호화부(203a)로 입력되고, 암호화 된 후 제2 암호화문(C2)을 출력한다. 제2 암호화문(C2)은 다음 블록의 암호화를 위해 초기화문으로 입력된다. 이어서, 도 2b에 도시된 CBC 복호화 장치를 설명하면, 제1 암호문(C1)과 복호화키(K)가 제1 블록 복호화부(200b)로 입력되어 복호화 되고, 복호문이 제1 논리 연산부(201b)에서 초기화문(IV0)과 배타적 논리합 연산되어 제1 평문(M1)을 출력한다. 제1 암호문(C1)은 다음 블록의 복호화를 위해 초기화문으로 입력된다. 제2 암호문(C2)과 복호화키(K)가 제2 블록 복호화부(202b)로 입력되어 복호화 되고, 복호문이 제2 논리 연산부(203b)에서 이전 블록의 암호문(C1)과 배타적 논리합 연산되어 제2 평문(M2)을 출력한다. 제2 암호문(C2)은 다음 블록의 복호화를 위해 초기화문으로 입력된다. 2A and 2B are block diagrams showing the configuration of the CBC encryption / decryption apparatus. For convenience of description, the encryption / decryption
이와 같은 CBC 암호화/복호화 장치는 고 신뢰성의 보안을 유지할 수 있는 장점이 있으나, 직렬로 처리되기 때문에 암호화 및 복호화 처리 시간이 길어지고, 구현이 복잡한 문제점이 발생한다Such a CBC encryption / decryption device has an advantage of maintaining high reliability security, but since it is serially processed, the encryption and decryption processing time is long, and the implementation is complicated.
본 발명이 이루고자 하는 기술적인 과제는 EBC 방식보다 보안이 우수하고 CBC 방식보다 구현이 간단한 CKC 암호화 장치 및 방법을 제공하는데 있다.The technical problem to be achieved by the present invention is to provide a CKC encryption device and method which is superior to the EBC security and simpler implementation than the CBC method.
본 발명이 이루고자 하는 다른 기술적인 과제는 EBC 방식보다 보안이 우수하고 CBC 방식보다 구현이 간단한 CKC 복호화 장치 및 방법을 제공하는데 있다.Another technical problem to be achieved by the present invention is to provide an CKC decryption apparatus and method which is superior in security to the EBC scheme and simpler to implement than the CBC scheme.
본 발명이 이루고자 하는 기술적인 과제를 해결하기 위한 CKC 암호화 장치는 암호화 장치로서, 소정의 초기화문 및 소정의 암호화키를 논리 연산하는 제1 논리연산수단; 입력되는 상기 제1 논리 연산 결과 및 암호화하고자 하는 현재 블록의 평문을 소정의 암호화 알고리즘으로 암호화하는 도중에 일정한 반암호문을 출력하고, 이어서 암호화를 계속 수행하여 현재 블록의 최종 암호문을 출력하는 암호화수단; 및 상기 반암호문을 초기화문으로 하고 상기 암호화키와 논리 연산하여 다음 블록의 암호화수단으로 출력하는 제2 논리연산수단을 포함하는 것이 바람직하다.A CKC encryption apparatus for solving the technical problem to be achieved by the present invention, the encryption apparatus, comprising: first logical operation means for performing a logical operation on a predetermined initialization statement and a predetermined encryption key; Encrypting means for outputting a predetermined half-cipher text while encrypting the inputted first logical operation result and the plain text of the current block to be encrypted with a predetermined encryption algorithm, and subsequently performing encryption to output the final cipher text of the current block; And a second logical operation means for making the anti-password text an initialization statement and performing a logical operation with the encryption key and outputting the encrypted data to the encryption means of the next block.
본 발명에 있어서, 상기 암호화수단은 상기 제1 논리 연산 결과 및 평문을 각 단계별로 암호화하는 복수개의 라운드로 구성되며, 상기 반암호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되고, 상기 최종암호문은 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 한다.In the present invention, the encryption means is composed of a plurality of rounds for encrypting the first logical operation result and the plain text in each step, the anti-encryption statement is output in any one of the plurality of rounds, the final encryption statement is It is characterized in that the output from the last round of the plurality of rounds.
본 발명이 이루고자 하는 기술적인 과제를 해결하기 위한 CKC 암호화 방법은 암호화 방법으로서, (a) 소정의 초기화문과 소정의 암호화키를 논리 연산하는 단계; (b) 상기 논리 연산 결과 및 암호화하고자 하는 현재 블록의 평문을 소정의 암 호화 알고리즘으로 암호화하는 도중에 일정한 반암호문을 출력하는 단계; 및 (c) 상기 반암호문을 초기화문으로 하여 상기 암호화키와 배타적 논리 연산하여 다음 블록의 평문과 함께 암호화하는 중에 상기 (b)단계의 암호화를 계속 수행하여 현재 블록의 최종 암호문을 출력하는 단계를 포함하는 것이 바람직하다.The CKC encryption method for solving the technical problem to be achieved by the present invention is an encryption method, comprising: (a) performing a logical operation on a predetermined initialization statement and a predetermined encryption key; (b) outputting a predetermined half-cipher text while encrypting the logical operation result and the plain text of the current block to be encrypted with a predetermined encryption algorithm; And (c) performing the encryption of step (b) while outputting the final cipher text of the current block while encrypting with the plain text of the next block by performing an exclusive logical operation with the encryption key using the anti-cipher text as an initialization statement. It is preferable to include.
본 발명에 있어서, 상기 (b)단계에서 상기 암호화 알고리즘은 상기 (a)단계의 논리 연산 결과 및 상기 현재 블록의 평문을 각 단계별로 암호화하는 복수개의 라운드로 구성되며, 상기 반암호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되는 것을 특징으로 한다.In the present invention, the encryption algorithm in the step (b) is composed of a plurality of rounds for encrypting the logical operation result of the step (a) and the plain text of the current block in each step, the anti-encryption statement is a plurality of It is characterized in that it is output in any one of the rounds.
본 발명에 있어서, 상기 (c)단계에서 출력되는 현재 블록의 최종 암호문은 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 한다.In the present invention, the final ciphertext of the current block output in step (c) is characterized in that is output in the last round of the plurality of rounds.
본 발명이 이루고자 하는 다른 기술적인 과제를 해결하기 위한 CKC 복호화 장치는 복호화 장치로서, 소정의 초기화문 및 소정의 복호화 키를 논리 연산하는 제1 논리연산수단; 입력되는 상기 제1 논리 연산 결과 및 복호화 하고자 하는 암호문을 소정의 복호화 알고리즘으로 복호화 하는 도중에 일정한 반복호문을 출력하고, 이어서 복호화를 계속 수행하여 최종 복호문인 평문을 출력하는 복호화수단; 및 초기화문인 상기 반복호문 및 상기 암호화키를 논리 연산하여 다음 복호화수단으로 출력하는 제2 논리연산수단을 포함하는 것이 바람직하다.A CKC decryption apparatus for solving another technical problem to be solved by the present invention is a decryption apparatus, comprising: first logical operation means for performing a logical operation on a predetermined initialization statement and a predetermined decryption key; Decrypting means for outputting a predetermined iterative decryption text while decrypting the first logical operation result and the cipher text to be decrypted by a predetermined decryption algorithm, and subsequently performing decryption to output plain text which is the final decrypted text; And second logical operation means for performing a logical operation on the repetition code and the encryption key, which are initialization statements, and outputting the result to the next decryption means.
본 발명에 있어서, 상기 복호화수단은 상기 제1 논리 연산 결과 및 암호문을 각 단계별로 복호화 하는 복수개의 라운드로 구성되며, 상기 반복호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되고, 상기 최종 복호문인 평문은 상기 복 수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 한다.In the present invention, the decryption means is composed of a plurality of rounds for decrypting the first logical operation result and the cipher text at each stage, and the repetitive passphrase is output in any one of the plurality of rounds and is the final decrypted sentence. Plain text is characterized in that the output from the last round of the plurality of rounds.
본 발명이 이루고자 하는 다른 기술적인 과제를 해결하기 위한 CKC 복호화 방법은 복호화 방법으로서, (a) 소정의 초기화문과 소정의 복호화키를 논리 연산하는 단계; (b) 상기 논리 연산 결과 및 복호화 하고자 하는 현재 블록의 암호문을 소정의 복호화 알고리즘으로 복호화 하는 도중에 일정한 반복호문을 출력하는 단계; 및 (c) 상기 반복호문을 초기화문으로 하여 상기 복호화키와 논리 연산하여 다음 블록의 암호문과 함께 복호화 하는 중에 상기 (b)단계의 복호화를 계속 수행하여 현재 블록의 최종 복호문을 출력하는 단계를 포함하는 것이 바람직하다.The CKC decryption method for solving the other technical problem to be achieved by the present invention is a decryption method comprising the steps of: (a) performing a logical operation on a predetermined initialization statement and a predetermined decryption key; (b) outputting a constant repetitive text while decrypting the result of the logical operation and the cipher text of the current block to be decrypted by a predetermined decryption algorithm; And (c) performing the decryption of step (b) while outputting the final decoded sentence of the current block while performing a logical operation with the decryption key using the repetitive cipher as an initial statement and decrypting the ciphertext with the next block. It is preferable to include.
본 발명에 있어서, 상기 (b)단계에서 상기 복호화 알고리즘은 상기 (a)단계의 논리 연산 결과 및 상기 현재 블록의 암호문을 각 단계별로 복호화 하는 복수개의 라운드로 구성되며, 상기 반복호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되는 것을 특징으로 한다.In the present invention, in the step (b), the decryption algorithm is composed of a plurality of rounds for decrypting the result of the logical operation of the step (a) and the cipher text of the current block for each step, and the repetitive text is the plurality of rounds. It is characterized in that it is output in any one of the rounds.
본 발명에 있어서, 상기 (c)단계에서 출력되는 현재 블록의 최종 복호문은 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 한다.In the present invention, the final decoded sentence of the current block output in step (c) is characterized in that is output in the last round of the plurality of rounds.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.
도 3은 본 발명에 따른 CKC 암호화 장치의 구성을 보이는 블록도로서, 도 3a는 제1 논리 연산부(300), 제1 블록 암호화부(301), 제2 논리 연산부(302), 제2 블록 암호화부(303)로 구성되고, 도 3b는 제1 및 제2 블록 암호화부(301,303)의 상세도 이다. 도 4는 본 발명에 따른 CKC 암호화 방법의 동작을 보이는 흐름도 이다.
3 is a block diagram showing the configuration of the CKC encryption apparatus according to the present invention, Figure 3a is a first
이어서, 도 3 및 도 4를 참조하여 CKC 암호화 장치 및 방법을 상세히 설명한다.Next, the CKC encryption apparatus and method will be described in detail with reference to FIGS. 3 and 4.
먼저, 도 3을 참조하여 본 발명을 설명하면, CKC 암호화 장치는 설명의 편의 상 간단히 구현하였으며, 더 확장할 수 있다. 제1 논리 연산부(300)는 초기화문(IV0)과 암호화키(K)와 논리 연산을 수행한다. 본 발명에서는 일 실시 예로 논리 연산부(300,302)를 배타적 논리합 연산부로 구성하였으나, 이에 국한되지 않는다. 제1 블록 암호화부(301)는 제1 논리 연산부(300)의 연산 결과 및 제1 평문(M1)을 암호화한다. First, referring to FIG. 3, the CKC encryption apparatus is simply implemented for convenience of description and can be further extended. The first
제1 블록 암호화부(301) 및 제2 블록 암호화부(303)는 도 3b에 도시된 바와 같이 초기 라운드(Initial Round)부터 마지막 라운드(Final Round)로 구성되어 있으며, 각 라운드는 앞단 라운드 결과를 재 암호화하는 모듈로 이루어져 있다. 초기 라운드부터 마지막 라운드의 구성은 실시 예에 따라 여러 단계로 나뉘어 질 수 있으며, 특정 라운드에서 암호화 처리 중간에 제1 반암호문(M1')이 출력된다. 도 3b에서는 예를 들어 초기 라운드부터 마지막 라운드까지 총 10개의 라운드로 구성되어 있으며, 라운드 5에서의 암호화 처리 후에 제1 반암호문(M1')이 출력된다고 가정한다. 종래의 CBC 암호화 장치에서는 암호화문이 다음 블록 암호화 시에 초기화문으로 이용되었기 때문에 암호화 완료까지 오랜 시간이 걸렸지만, 본 발명에서는 블록 암호문이 출력되기 전, 즉 라운드 처리 도중에 출력되는 반암호문(M')이 다음 블록 암호화 시에 초기화문으로 이용하는 Pipeline 방식을 이용하여 암호화 처리시 간 및 레지스터 사이즈를 줄일 수 있다. As shown in FIG. 3B, the
제2 논리 연산부(302)는 제1 블록 암호화부(301)에서 암호화 처리 도중 출력되는 제1 반암호문(M1')과 암호화키(K)를 논리 연산한다. 이 과정에서 제1 블록 암호화부(301)는 최종 제1 암호문(C1)을 출력한다. The second
제2 블록 암호화부(303)는 제2 논리 연산부(302)의 연산 결과 및 제2 평문(M2)를 암호화한다. 제2 블록 암호화부(303)의 암호화 처리 도중 특정 라운드에서 제2 반암호문(M2')이 출력되고 제2 반암호문(M2')은 다음 블록의 초기화문으로 이용된다. 제2 반암호문(M2')이 암호화키(K)와 논리 연산되는 사이 제2 블록 암호화부(303)는 최종 제2 암호문(C2)을 출력한다.The second
이어서, 도 4를 참조하여 본 발명을 설명하면, 제1 논리 연산부(300)는 초기화문(IV0)과 암호화키(K)를 제1 논리 연산한다(400단계). 본 발명에서는 일 실시 예로 논리 연산부(300,302)를 배타적 논리합 연산부로 구성하였으나, 이에 국한되지 않는다. Next, referring to FIG. 4, the first
제1 블록 암호화부(301)는 제1 논리 연산부(300)의 연산값과 제1 평문(M1)을 이용하여 블록 암호화를 수행한다(401단계).The first
제1 블록 암호화부(301)의 블록 암호화 도중 특정 라운드 실행 결과인 제1 반암호문(M1')을 출력한다(402단계). 제1 블록 암호화부(301)는 초기 라운드(Initial Round)부터 마지막 라운드(Final Round)로 구성되어 있으며, 각 라 운드는 앞단 라운드 결과를 재 암호화하는 모듈로 이루어져 있다. 초기 라운드부터 마지막 라운드의 구성은 실시 예에 따라 여러 단계로 나뉘어 질 수 있으며, 특정 라운드에서 암호화 처리 중간에 제1 반암호문(M1')이 출력된다. 여기서, 제1 블록 암호화부(301)는 예를 들어 초기 라운드부터 마지막 라운드까지 총 10개의 라운드로 구성되어 있으며, 라운드 5에서의 암호화 처리 후에 제1 반암호문(M1')이 출력된다고 가정한다. During the block encryption of the first
제2 논리 연산부(302)는 제1 블록 암호화부(301)에서 암호화 도중 출력되는 제1 반암호문(M1')을 초기화문으로 하여 암호화키(K)와 제2 논리 연산을 수행한다(403단계).The second
제2 블록 암호화부(303)가 제2 논리 연산부(302)의 논리 연산값과 제2 평문(M2)을 블록 암호화하는 중에, 제1 블록 암호화부(301)는 최종 제1 암호문(C1)을 출력한다(404단계). 종래의 CBC 암호화 방법에서는 암호화문이 다음 블록 암호화 시에 초기화문으로 이용되었기 때문에 암호화 완료까지 오랜 시간이 걸렸지만, 본 발명에서는 라운드 처리 도중에 출력되는 반암호문(M')이 다음 블록을 암호화하는 중에 현재 블록 암호문이 출력되는 Pipeline 방식을 이용하여 암호화 처리시간 및 레지스터 사이즈를 줄일 수 있다. While the second
제2 블록 암호화부(303)의 블록 암호화 도중 특정 라운드 실행 결과인 제2 반암호문(M2')을 출력한다(405단계). During the block encryption of the second
제3 논리 연산부는 제2 블록 암호화부(303)에서 암호화 도중 출력되는 제2 반암호문(M2')을 초기화문으로 하여 암호화키(K)와 제3 논리 연산을 수행한다(406단계).The third logical operation unit performs a third logical operation with the encryption key K by using the second anti-encryption sentence M 2 ′, which is output during encryption from the second
제3 블록 암호화부(미도시)가 제3 논리 연산값과 제3 평문(M2, 미도시)을 블록 암호화하는 중에, 제2 블록 암호화부(303)는 최종 제2 암호문(C2)을 출력한다(407단계).While the third block encryption unit (not shown) blocks encrypts the third logical operation value and the third plain text (M 2 , not shown), the second
도 5는 본 발명에 따른 CKC 복호화 장치의 구성을 보이는 블록도로서, 도 5a는 제1 논리 연산부(500), 제1 블록 복호화부(501), 제2 논리 연산부(502), 제2 블록 복호화부(503)로 구성되고, 도 5b는 제1 및 제2 블록 복호화부(501,503)의 상세도 이다. 도 6은 본 발명에 따른 CKC 복호화 방법의 동작을 보이는 흐름도 이다.5 is a block diagram showing the configuration of a CKC decoding apparatus according to the present invention, Figure 5a is a first
이어서, 도 5 및 도 6을 참조하여 CKC 복호화 장치 및 방법을 상세히 설명한다.Next, the CKC decoding apparatus and method will be described in detail with reference to FIGS. 5 and 6.
먼저, 도 5를 참조하여 본 발명을 설명하면, CKC 복호화 장치는 설명의 편의 상 간단히 구현하였으며, 더 확장할 수 있다. 제1 논리 연산부(500)는 초기화문(IV0)와 복호화키(K)와 논리 연산을 수행한다. 본 발명에서는 일 실시 예로 논리 연산부(500,502)를 배타적 논리합 연산부로 구성하였으나, 이에 국한되지 않는다. 제1 블록 복호화부(501)는 제1 논리 연산부(500)의 연산 결과 및 제1 암호문(C1)을 복호화 한다. First, referring to FIG. 5, the CKC decoding apparatus is simply implemented for convenience of description and can be further extended. The first
제1 블록 복호화부(501) 및 제2 블록 복호화부(503)는 도 5b에 도시된 바와 같이 초기 라운드(Initial Round)부터 마지막 라운드(Final Round)로 구성되어 있으며, 각 라운드는 앞단 라운드 결과를 재 복호화하는 모듈로 이루어져 있다. 초기 라운드부터 마지막 라운드의 구성은 실시 예에 따라 여러 단계로 나뉘어 질 수 있으며, 특정 라운드에서 복호화 처리 중간에 제1 반복호문(C1')이 출력된다. 도 3b에서는 예를 들어 초기 라운드부터 마지막 라운드까지 총 10개의 라운드로 구성되어 있으며, 라운드 5에서의 복호화 처리 후에 제1 반복호문(C1')이 출력된다고 가정한다. 종래의 CBC 복호화 장치에서는 복호화문이 다음 블록 복호화 시에 초기화문으로 이용되었기 때문에 암호화 완료까지 오랜 시간이 걸렸지만, 본 발명에서는 블록 복호문이 출력되기 전, 즉 라운드 처리 도중에 출력되는 반복호문(C')이 다음 블록 복호화 시에 초기화문으로 이용하는 Pipeline 방식을 이용하여 복호화 처리시간 및 레지스터 사이즈를 줄일 수 있다. As shown in FIG. 5B, the
제2 논리 연산부(502)는 제1 블록 복호화부(501)에서 복호화 처리 도중 출력되는 제1 반복호문(C1')과 복호화키(K)를 논리 연산한다. 이 과정에서 제1 블록 복호화부(501)는 최종 제1 평문(M1)을 출력한다.The second
제2 블록 복호화부(503)는 제2 논리 연산부(502)의 연산 결과 및 제2 암호문(C2)를 복호화 한다. 제2 블록 복호화부(503)의 복호화 처리 도중 특정 라운드에서 제2 반복호문(C2')이 출력되고 제2 반복호문(C2')은 다음 블록의 초기화문으로 이용된다. 제2 반복호문(C2')이 복호화키(K)와 논리 연산되는 사이 제2 블록 복 호화부(503)는 최종 제2 복호문(M2)을 출력한다.The second
이어서, 도 6을 참조하여 본 발명을 설명하면, 제1 논리 연산부(500)는 초기화문(IV0)과 복호화키(K)를 논리 연산한다(600단계).Next, referring to FIG. 6, the first
제1 블록 복호화부(501)는 제1 논리 연산부(500)의 연산 결과값과 제1 암호문(C1)을 이용하여 블록 복호화를 수행한다(601단계).The first
제1 블록 복호화부(501)의 블록 복호화 도중 특정 라운드 실행 결과인 제1 반복호문(C1')을 출력한다(602단계). 제1 블록 복호화부(501)는 초기 라운드(Initial Round)부터 마지막 라운드(Final Round)로 구성되어 있으며, 각 라운드는 앞단 라운드 결과를 재 복호화하는 모듈로 이루어져 있다. 초기 라운드부터 마지막 라운드의 구성은 실시 예에 따라 여러 단계로 나뉘어 질 수 있으며, 특정 라운드에서 복호화 처리 중간에 제1 반복호문(C1')이 출력된다. 도 3b에서는 예를 들어 초기 라운드부터 마지막 라운드까지 총 10개의 라운드로 구성되어 있으며, 라운드 5에서의 복호화 처리 후에 제1 반복호문(C1')이 출력된다고 가정한다.During the block decoding of the first
제2 논리 연산부(502)는 제1 블록 복호화부(501)에서 복호화 도중 출력되는 제1 반복호문(C1')을 초기화문으로 하여 복호화키(K)와 배타적 논리합 연산을 수행한다(603단계).The second
제2 블록 복호화부(503)가 제2 논리 연산부(502)의 논리 연산값과 제2 암호문(C2)을 블록 복호화 하는 중에, 제1 블록 복호화부(501)는 최종 제1 복호문(M1)을 출력한다(604단계). 종래의 CBC 복호화 방법에서는 복호화문이 다음 블록 복호화 시에 초기화문으로 이용되었기 때문에 복호화 완료까지 오랜 시간이 걸렸지만, 본 발명에서는 라운드 처리 도중에 출력되는 반복호문(C')이 다음 블록을 복호화 하는 중에 현재 블록 복호문이 출력되는 Pipeline 방식을 이용하여 복호화 처리시간 및 레지스터 사이즈를 줄일 수 있다. While the second
제2 블록 복호화부(503)의 블록 복호화 도중 특정 라운드 실행 결과인 제2 반복호문(C2')을 출력한다(605단계). During the block decoding of the second
제3 논리 연산부(미도시)는 제2 블록 복호화부(503)에서 복호화 도중 출력되는 제2 반복호문(C2')을 초기화문으로 하여 복호화키(K)와 배타적 논리합 연산을 수행한다(606단계).The third logical operation unit (not shown) performs an exclusive OR operation with the decryption key K by using the second iterative loop C 2 ′, which is output during the decoding by the
제3 블록 복호화부(미도시)가 제3 논리 연산값과 제3 암호문(C2, 미도시)을 블록 복호화하는 중에, 제2 블록 복호화부(503)는 최종 제2 복호문(M2)을 출력한다(607단계).While the third block decryption unit (not shown) decodes the third logical operation value and the third cipher text C 2 (not shown), the second
본 발명은 상술한 실시 예에 한정되지 않으며 본 발명의 사상 내에서 당업자에 의한 변형이 가능함은 물론이다. The present invention is not limited to the above-described embodiments and can be modified by those skilled in the art within the spirit of the invention.
상술한 바와 같이 본 발명에 따르면, 암호화/복호화 처리 중에 반암호문 및 반복호문을 초기화문으로 사용하는 Pipeline 방식을 사용하여 암호/복호 처리함으로써 EBC 방식보다 보안이 우수하고 CBC 방식보다 구현이 간단한 효과를 창출한다.As described above, according to the present invention, encryption / decryption is performed using a pipeline method that uses anti-cipher and repetitive statements as initialization statements during encryption / decryption, so that security is better than that of the EBC method and simpler to implement than the CBC method. Create.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030001608A KR100965874B1 (en) | 2003-01-10 | 2003-01-10 | Apparatus and method for encrypting/decrypting cipher key chaining |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030001608A KR100965874B1 (en) | 2003-01-10 | 2003-01-10 | Apparatus and method for encrypting/decrypting cipher key chaining |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040064771A KR20040064771A (en) | 2004-07-21 |
KR100965874B1 true KR100965874B1 (en) | 2010-06-24 |
Family
ID=37355179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030001608A KR100965874B1 (en) | 2003-01-10 | 2003-01-10 | Apparatus and method for encrypting/decrypting cipher key chaining |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100965874B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980083221A (en) * | 1997-05-13 | 1998-12-05 | 윤종용 | N-Round Round Output Statement Precious Block Encryption / Decryption Method |
US20020071552A1 (en) | 2000-10-12 | 2002-06-13 | Rogaway Phillip W. | Method and apparatus for facilitating efficient authenticated encryption |
KR20020067599A (en) * | 2000-11-06 | 2002-08-22 | 소니 가부시끼 가이샤 | Enciphering device and method, deciphering device and method, and storage medium |
-
2003
- 2003-01-10 KR KR1020030001608A patent/KR100965874B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980083221A (en) * | 1997-05-13 | 1998-12-05 | 윤종용 | N-Round Round Output Statement Precious Block Encryption / Decryption Method |
US20020071552A1 (en) | 2000-10-12 | 2002-06-13 | Rogaway Phillip W. | Method and apparatus for facilitating efficient authenticated encryption |
KR20020067599A (en) * | 2000-11-06 | 2002-08-22 | 소니 가부시끼 가이샤 | Enciphering device and method, deciphering device and method, and storage medium |
Non-Patent Citations (1)
Title |
---|
도서, Handbook of applied cyptography. |
Also Published As
Publication number | Publication date |
---|---|
KR20040064771A (en) | 2004-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0725511B1 (en) | Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC) | |
KR100657062B1 (en) | Method for encrypting information and device for realization of the method | |
EP0615361B1 (en) | System and method for high speed encryption using multiple keystream generator | |
JP5402632B2 (en) | Common key block encryption apparatus, common key block encryption method, and program | |
US20060023875A1 (en) | Enhanced stream cipher combining function | |
JP4025722B2 (en) | Method and apparatus for data encryption | |
JP2004363739A (en) | Enciphering device or deciphering device for common key cipher that can detect alteration | |
CN114826587A (en) | Data encryption method, data decryption method, data encryption device, data decryption device and data decryption equipment | |
US6301361B1 (en) | Encoding and decoding information using randomization with an alphabet of high dimensionality | |
JP2003516659A (en) | One's complement crypto combiner | |
WO2015166701A1 (en) | Encryption method, program, and system | |
JP2004157535A (en) | Data ciphering method | |
WO2021176242A1 (en) | Scrambler apparatus and method in particular for cryptographic applications, and descrambler apparatus and method therefor | |
Mezaal et al. | OTP encryption enhancement based on logical operations | |
Lin et al. | A genetic algorithm for ciphertext-only attack in cryptanalysis | |
KR100259836B1 (en) | A n-round round output feedback block cipher/decipher method | |
KR100965874B1 (en) | Apparatus and method for encrypting/decrypting cipher key chaining | |
Verma et al. | Improvement in the performance and security of advanced encryption standard using AES algorithm and comparison with blowfish | |
CN114244552B (en) | Data encryption transmission method and device based on block chain | |
KR100262384B1 (en) | Encryption method and apparatus | |
JP4708914B2 (en) | Decryption method | |
Tun et al. | Message Security using One Time Pad and AES Hybrid Cryptography | |
Verma et al. | Design and Development of Robust Algorithm for Cryptography using Improved AES Technique | |
US20220417012A1 (en) | Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product | |
KR20030083326A (en) | Method for encipherment |
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: 20130530 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150528 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160530 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |