KR100965874B1 - Apparatus and method for encrypting/decrypting cipher key chaining - Google Patents

Apparatus and method for encrypting/decrypting cipher key chaining Download PDF

Info

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
Application number
KR1020030001608A
Other languages
Korean (ko)
Other versions
KR20040064771A (en
Inventor
최양림
최윤호
김윤상
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020030001608A priority Critical patent/KR100965874B1/en
Publication of KR20040064771A publication Critical patent/KR20040064771A/en
Application granted granted Critical
Publication of KR100965874B1 publication Critical patent/KR100965874B1/en

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/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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 방식보다 구현이 간단한 효과를 창출한다.

Figure R1020030001608

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.

Figure R1020030001608

Description

CKC 암호화/복호화 장치 및 방법{Apparatus and method for encrypting/decrypting cipher key chaining}Apparatus and method for encrypting / decrypting cipher key chaining}

도 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 / decryption unit 101a / 101b are shown. It can be extended further. The ECB encryption apparatus of FIG. 1A inputs the plain text M and the encryption key K into the block encryption units 100a and 101b to encrypt the encrypted text C. In addition, the ECB decryption apparatus of FIG. 1B inputs the encrypted text C and the decryption key K into the block decryption units 100b and 101b to decrypt and output the plain text M. FIG.

이와 같은 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 logic operation units 200a, 202a / 201b, and 203b, and the first and second block encryption / decryption units 201a, 203a / 200b, 202b), and can be further extended. The CBC encryption scheme is to compensate for the shortcomings of the EBC encryption scheme. Referring to the CBC encryption apparatus illustrated in FIG. 2A, the first plaintext M 1 and the initialization statement IV 0 may be generated by the first logical operation unit 200a. The exclusive OR operation is performed and input to the encryption key K and the first block encryption unit 201a, and after being encrypted, the first encryption sentence C 1 is output. The first encryption statement C 1 is input as an initialization statement for encryption of the next block, and is exclusive-ORed by the second plaintext M 2 and the second logical operation unit 202a to encrypt the encryption key K and the second block. It is input to the unit 203a, and after being encrypted, outputs the second encrypted text C 2 . The second encryption statement C 2 is input as an initialization statement for encryption of the next block. Next, referring to the CBC decryption apparatus illustrated in FIG. 2B, the first ciphertext C 1 and the decryption key K are inputted to the first block decryption unit 200b to be decrypted, and the decrypted sentence is the first logical operation unit ( In operation 201b, an exclusive OR operation is performed on the initialization statement IV 0 to output the first plaintext M 1 . The first ciphertext C 1 is input as an initialization sentence for decryption of the next block. The second ciphertext C 2 and the decryption key K are input to the second block decryption unit 202b and decrypted, and the decrypted sentence is the exclusive logical sum with the ciphertext C 1 of the previous block in the second logical operation unit 203b. The calculation is performed to output the second plain text M 2 . The second ciphertext C 2 is input as an initialization sentence for decryption of the next block.

이와 같은 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 logical operation unit 300, the first block encryption unit 301, the second logical operation unit 302, the second block encryption 3B is a detailed view of the first and second block ciphers 301 and 303. As shown in FIG. 4 is a flowchart showing the operation of the CKC encryption method according to the present invention.                     

이어서, 도 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 logical operation unit 300 performs a logical operation with the initialization statement IV 0 and the encryption key K. According to an exemplary embodiment of the present invention, the logical operation units 300 and 302 are configured as an exclusive OR operation unit, but are not limited thereto. The first block encryption unit 301 encrypts the operation result of the first logical operation unit 300 and the first plain text M 1 .

제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 first block encryptor 301 and the second block encryptor 303 are configured from an initial round to a final round, and each round represents a result of the preceding round. It consists of a module that re-encrypts. The configuration of the first round to the last round can be divided into several stages according to the embodiment, and the first anti-password (M 1 ′) is output in the middle of the encryption process in a specific round. In FIG. 3B, for example, it is assumed that a total of 10 rounds are formed from the initial round to the last round, and the first anti-password (M 1 ′) is output after the encryption processing in round 5. In the conventional CBC encryption apparatus, since the encryption statement is used as an initialization statement at the next block encryption, it takes a long time to complete the encryption. However, in the present invention, the anti-cipher text (M ') is output before the block cipher text is output, that is, during round processing. ) Can reduce the encryption processing time and register size by using the pipeline method that is used as an initialization statement in the next block encryption.

제2 논리 연산부(302)는 제1 블록 암호화부(301)에서 암호화 처리 도중 출력되는 제1 반암호문(M1')과 암호화키(K)를 논리 연산한다. 이 과정에서 제1 블록 암호화부(301)는 최종 제1 암호문(C1)을 출력한다. The second logical operation unit 302 performs a logical operation on the first half-encryption sentence M 1 ′ and the encryption key K outputted during the encryption processing from the first block encryption unit 301. In this process, the first block encryptor 301 outputs the final first cipher text C 1 .

제2 블록 암호화부(303)는 제2 논리 연산부(302)의 연산 결과 및 제2 평문(M2)를 암호화한다. 제2 블록 암호화부(303)의 암호화 처리 도중 특정 라운드에서 제2 반암호문(M2')이 출력되고 제2 반암호문(M2')은 다음 블록의 초기화문으로 이용된다. 제2 반암호문(M2')이 암호화키(K)와 논리 연산되는 사이 제2 블록 암호화부(303)는 최종 제2 암호문(C2)을 출력한다.The second block encryption unit 303 encrypts the operation result of the second logical operation unit 302 and the second plain text M 2 . During the encryption process of the second block encryption unit 303, a second anti-encryption sentence M 2 ′ is output in a specific round, and the second anti-encryption sentence M 2 ′ is used as an initialization statement of the next block. The second block encryption unit 303 outputs the final second cipher text C 2 while the second anti-cipher text M 2 ′ is logically operated with the encryption key K. FIG.

이어서, 도 4를 참조하여 본 발명을 설명하면, 제1 논리 연산부(300)는 초기화문(IV0)과 암호화키(K)를 제1 논리 연산한다(400단계). 본 발명에서는 일 실시 예로 논리 연산부(300,302)를 배타적 논리합 연산부로 구성하였으나, 이에 국한되지 않는다. Next, referring to FIG. 4, the first logical operation unit 300 performs a first logical operation on the initialization statement IV 0 and the encryption key K (step 400). According to an exemplary embodiment of the present invention, the logical operation units 300 and 302 are configured as an exclusive OR operation unit, but are not limited thereto.

제1 블록 암호화부(301)는 제1 논리 연산부(300)의 연산값과 제1 평문(M1)을 이용하여 블록 암호화를 수행한다(401단계).The first block encryption unit 301 performs block encryption using the operation value of the first logical operation unit 300 and the first plain text M 1 (step 401).

제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 block encryption unit 301, a first anti-password sentence M 1 ′, which is a result of executing a specific round, is output (step 402). The first block encryption unit 301 consists of an initial round to an initial round, and each round consists of a module for re-encrypting the result of the preceding round. The configuration of the first round to the last round can be divided into several stages according to the embodiment, and the first anti-password (M 1 ′) is output in the middle of the encryption process in a specific round. Here, it is assumed that the first block encryption unit 301 is composed of 10 rounds, for example, from the initial round to the last round, and the first anti-password M 1 ′ is output after the encryption processing in round 5. .

제2 논리 연산부(302)는 제1 블록 암호화부(301)에서 암호화 도중 출력되는 제1 반암호문(M1')을 초기화문으로 하여 암호화키(K)와 제2 논리 연산을 수행한다(403단계).The second logical operation unit 302 performs the second logical operation with the encryption key K by using the first half-encryption sentence M 1 ′, which is output during encryption from the first block encryption unit 301, as an initializing statement (403). step).

제2 블록 암호화부(303)가 제2 논리 연산부(302)의 논리 연산값과 제2 평문(M2)을 블록 암호화하는 중에, 제1 블록 암호화부(301)는 최종 제1 암호문(C1)을 출력한다(404단계). 종래의 CBC 암호화 방법에서는 암호화문이 다음 블록 암호화 시에 초기화문으로 이용되었기 때문에 암호화 완료까지 오랜 시간이 걸렸지만, 본 발명에서는 라운드 처리 도중에 출력되는 반암호문(M')이 다음 블록을 암호화하는 중에 현재 블록 암호문이 출력되는 Pipeline 방식을 이용하여 암호화 처리시간 및 레지스터 사이즈를 줄일 수 있다. While the second block encryption unit 303 block encrypts the logical operation value of the second logical operation unit 302 and the second plain text M 2 , the first block encryption unit 301 performs the final first cipher text C 1. (Step 404). In the conventional CBC encryption method, since the encryption statement was used as an initialization statement at the next block encryption, it took a long time to complete the encryption. However, in the present invention, the anti-encryption statement (M ') output during the round processing encrypts the next block. By using the pipeline method in which the current block cipher text is output, the encryption processing time and the register size can be reduced.

제2 블록 암호화부(303)의 블록 암호화 도중 특정 라운드 실행 결과인 제2 반암호문(M2')을 출력한다(405단계). During the block encryption of the second block encryption unit 303, a second anti-password sentence M 2 ′, which is a result of executing a specific round, is output (step 405).

제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 block encryption unit 303, as an initialization statement (step 406).

제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 block encryption unit 303 performs a final second cipher text C 2 . Output (step 407).

도 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 logical operation unit 500, the first block decoding unit 501, the second logical operation unit 502, the second block decoding 5B is a detailed view of the first and second block decoders 501 and 503. In FIG. 6 is a flowchart showing the operation of the CKC decoding method according to the present invention.

이어서, 도 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 logical operation unit 500 performs a logical operation with the initialization statement IV 0 , the decryption key K, and the like. According to an exemplary embodiment of the present invention, the logical operation units 500 and 502 are configured as an exclusive OR operation unit, but are not limited thereto. The first block decryption unit 501 decrypts the operation result of the first logical operation unit 500 and the first cipher text C 1 .

제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 first block decoder 501 and the second block decoder 503 are configured from an initial round to a final round, and each round represents a result of the preceding round. It consists of a module for re-decoding. Configuration of the first round to the last round can be divided into several steps according to the embodiment, the first iteration (C 1 ') is output in the middle of the decoding process in a particular round. In FIG. 3B, for example, it is assumed that the first round to the last round is composed of a total of 10 rounds, and the first repetition statement C 1 ′ is output after the decoding process in round 5. In the conventional CBC decryption apparatus, since the decryption statement was used as an initialization statement at the time of decryption of the next block, it took a long time to complete the encryption. However, in the present invention, the repeated decryption statement (C) output before the block decryption statement is output, that is, during the round processing (C). Decoding process time and register size can be reduced by using the Pipeline method which is used as an initialization statement when decoding the next block.

제2 논리 연산부(502)는 제1 블록 복호화부(501)에서 복호화 처리 도중 출력되는 제1 반복호문(C1')과 복호화키(K)를 논리 연산한다. 이 과정에서 제1 블록 복호화부(501)는 최종 제1 평문(M1)을 출력한다.The second logical operation unit 502 performs a logical operation on the first iterative pass phrase C 1 ′ and the decryption key K outputted by the first block decoder 501 during the decoding process. In this process, the first block decoder 501 outputs the final first plain text M 1 .

제2 블록 복호화부(503)는 제2 논리 연산부(502)의 연산 결과 및 제2 암호문(C2)를 복호화 한다. 제2 블록 복호화부(503)의 복호화 처리 도중 특정 라운드에서 제2 반복호문(C2')이 출력되고 제2 반복호문(C2')은 다음 블록의 초기화문으로 이용된다. 제2 반복호문(C2')이 복호화키(K)와 논리 연산되는 사이 제2 블록 복 호화부(503)는 최종 제2 복호문(M2)을 출력한다.The second block decryption unit 503 decrypts the operation result of the second logical operation unit 502 and the second cipher text C 2 . During the decoding process of the second block decoder 503, a second repetition statement C 2 ′ is output in a specific round, and the second repetition statement C 2 ′ is used as an initialization statement of the next block. The second block decoder 503 outputs the final second decoded sentence M 2 while the second iterative ciphertext C 2 ′ is logically operated with the decryption key K. FIG.

이어서, 도 6을 참조하여 본 발명을 설명하면, 제1 논리 연산부(500)는 초기화문(IV0)과 복호화키(K)를 논리 연산한다(600단계).Next, referring to FIG. 6, the first logical operation unit 500 performs a logical operation on the initialization statement IV 0 and the decryption key K (step 600).

제1 블록 복호화부(501)는 제1 논리 연산부(500)의 연산 결과값과 제1 암호문(C1)을 이용하여 블록 복호화를 수행한다(601단계).The first block decryption unit 501 performs block decryption using the operation result of the first logical operation unit 500 and the first cipher text C 1 (step 601).

제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 block decoding unit 501, a first iterative loop (C 1 ') that is a result of executing a specific round is output (step 602). The first block decoder 501 is composed of an initial round to a final round, and each round consists of a module for re-decoding the result of the preceding round. Configuration of the first round to the last round can be divided into several steps according to the embodiment, the first iteration (C 1 ') is output in the middle of the decoding process in a particular round. In FIG. 3B, for example, it is assumed that the first round to the last round is composed of a total of 10 rounds, and the first repetition statement C 1 ′ is output after the decoding process in round 5.

제2 논리 연산부(502)는 제1 블록 복호화부(501)에서 복호화 도중 출력되는 제1 반복호문(C1')을 초기화문으로 하여 복호화키(K)와 배타적 논리합 연산을 수행한다(603단계).The second logical operation unit 502 performs an exclusive logical OR operation with the decryption key K by using the first iteration code C 1 ′, which is output during the decoding by the first block decoder 501, as an initialization statement (step 603). ).

제2 블록 복호화부(503)가 제2 논리 연산부(502)의 논리 연산값과 제2 암호문(C2)을 블록 복호화 하는 중에, 제1 블록 복호화부(501)는 최종 제1 복호문(M1)을 출력한다(604단계). 종래의 CBC 복호화 방법에서는 복호화문이 다음 블록 복호화 시에 초기화문으로 이용되었기 때문에 복호화 완료까지 오랜 시간이 걸렸지만, 본 발명에서는 라운드 처리 도중에 출력되는 반복호문(C')이 다음 블록을 복호화 하는 중에 현재 블록 복호문이 출력되는 Pipeline 방식을 이용하여 복호화 처리시간 및 레지스터 사이즈를 줄일 수 있다. While the second block decryption unit 503 blocks to decrypt the logical operation value of the second logical operation unit 502 and the second cipher text C 2 , the first block decryption unit 501 performs the final first decrypted text (M). 1 ) is output (step 604). In the conventional CBC decoding method, since the decryption statement was used as an initialization statement at the time of decoding the next block, it took a long time to complete the decoding. However, in the present invention, the repeated repetition statement C ′ output during the round processing is used while decoding the next block. Decoding process time and register size can be reduced by using the pipeline method in which the current block decoding statement is output.

제2 블록 복호화부(503)의 블록 복호화 도중 특정 라운드 실행 결과인 제2 반복호문(C2')을 출력한다(605단계). During the block decoding of the second block decoding unit 503, the second iterative loop C 2 ′, which is a result of executing a specific round, is output (step 605).

제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 second block decoder 503, as an initialization statement (606). step).

제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 block decryption unit 503 performs a final second decryption sentence M 2 . (Step 607).

본 발명은 상술한 실시 예에 한정되지 않으며 본 발명의 사상 내에서 당업자에 의한 변형이 가능함은 물론이다. 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)

암호화 장치로서,As an encryption device, 소정의 초기화문 및 소정의 암호화키를 논리 연산하는 제1 논리연산수단;First logical operation means for performing a logical operation on a predetermined initialization statement and a predetermined encryption key; 입력되는 상기 제1 논리 연산 결과 및 암호화하고자 하는 현재 블록의 평문을 소정의 암호화 알고리즘으로 암호화하는 도중에 일정한 반암호문을 출력하고, 이어서 암호화를 계속 수행하여 현재 블록의 최종 암호문을 출력하는 암호화수단; 및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 상기 반암호문을 초기화문으로 하고 상기 암호화키와 논리 연산하여 다음 블록의 암호화수단으로 출력하는 제2 논리연산수단을 포함하는 CKC 암호화 장치.And a second logical operation means for converting the half-encryption text into an initialization statement and performing a logical operation with the encryption key to output to the encryption means of the next block. 제 1항에 있어서, 상기 암호화수단은The method of claim 1, wherein the encryption means 상기 제1 논리 연산 결과 및 평문을 각 단계별로 암호화하는 복수개의 라운드로 구성되며, 상기 반암호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되고, 상기 최종암호문은 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 하는 CKC 암호화 장치.Comprising a plurality of rounds for encrypting the first logical operation result and the plain text for each step, the anti-password statement is output in any one of the plurality of rounds, the final encryption statement is output in the last round of the plurality of rounds CKC encryption device, characterized in that. 암호화 방법으로서,As an encryption method, (a) 소정의 초기화문과 소정의 암호화키를 논리 연산하는 단계;(a) logically computing a predetermined initialization statement and a predetermined encryption key; (b) 상기 논리 연산 결과 및 암호화하고자 하는 현재 블록의 평문을 소정의 암호화 알고리즘으로 암호화하는 도중에 일정한 반암호문을 출력하는 단계;(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; (c) 상기 반암호문을 초기화문으로 하여 상기 암호화키와 배타적 논리 연산하여 다음 블록의 평문과 함께 암호화하는 중에 상기 (b)단계의 암호화를 계속 수행하여 현재 블록의 최종 암호문을 출력하는 단계를 포함하는 CKC 암호화 방법.(c) outputting the final ciphertext of the current block by continuing the encryption of step (b) while encrypting with the plaintext of the next block by performing an exclusive logical operation with the encryption key using the anti-cipher text as an initialization statement. CKC encryption method. 제 3항에 있어서, 상기 (b)단계에서 상기 암호화 알고리즘은4. The method of claim 3, wherein in step (b), the encryption algorithm is 상기 (a)단계의 논리 연산 결과 및 상기 현재 블록의 평문을 각 단계별로 암호화하는 복수개의 라운드로 구성되며, 상기 반암호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되는 것을 특징으로 하는 CKC 암호화 방법.CKC encryption method comprising a plurality of rounds to encrypt the logical operation result of the step (a) and the plaintext of the current block for each step, the anti-password is output in any one of the rounds . 제 4항에 있어서, 상기 (c)단계에서 출력되는 현재 블록의 최종 암호문은The final cipher text of the current block outputted in the step (c) 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 하는 CKC 암호화 방법.CKC encryption method characterized in that the output from the last round of the plurality of rounds. 복호화 장치로서,As a decoding device, 소정의 초기화문 및 소정의 복호화 키를 논리 연산하는 제1 논리연산수단;First logical operation means for performing a logical operation on a predetermined initialization statement and a predetermined decryption key; 입력되는 상기 제1 논리 연산 결과 및 복호화 하고자 하는 암호문을 소정의 복호화 알고리즘으로 복호화 하는 도중에 일정한 반복호문을 출력하고, 이어서 복호화를 계속 수행하여 최종 복호문인 평문을 출력하는 복호화수단; 및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 초기화문인 상기 반복호문 및 상기 복호화키를 논리 연산하여 다음 복호화수단으로 출력하는 제2 논리연산수단을 포함하는 CKC 복호화 장치.And second logical operation means for performing a logical operation on the repeated call statement and the decryption key, which are initialization statements, and outputting the logical result to the next decoding means. 제 6항에 있어서, 상기 복호화수단은The method of claim 6, wherein the decoding means 상기 제1 논리 연산 결과 및 암호문을 각 단계별로 복호화 하는 복수개의 라운드로 구성되며, 상기 반복호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되고, 상기 최종 복호문인 평문은 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 하는 CKC 복호화 장치.Comprising a plurality of rounds for decrypting the first logical operation result and the cipher text for each step, wherein the repeated loop is output in any one round of the plurality of rounds, the plain text that is the final decrypted statement is the last round of the plurality of rounds CKC decoding apparatus characterized in that the output from. 복호화 방법으로서,As the decoding method, (a) 소정의 초기화문과 소정의 복호화키를 논리 연산하는 단계;(a) logically computing a predetermined initialization statement and a predetermined decryption key; (b) 상기 논리 연산 결과 및 복호화 하고자 하는 현재 블록의 암호문을 소정의 복호화 알고리즘으로 복호화 하는 도중에 일정한 반복호문을 출력하는 단계;(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; (c) 상기 반복호문을 초기화문으로 하여 상기 복호화키와 논리 연산하여 다음 블록의 암호문과 함께 복호화 하는 중에 상기 (b)단계의 복호화를 계속 수행하여 현재 블록의 최종 복호문을 출력하는 단계를 포함하는 CKC 복호화 방법.(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 sentence and decrypting the ciphertext with the next block. CKC decryption method. 제 8항에 있어서, 상기 (b)단계에서 상기 복호화 알고리즘은The method of claim 8, wherein in step (b), the decoding algorithm is 상기 (a)단계의 논리 연산 결과 및 상기 현재 블록의 암호문을 각 단계별로 복호화 하는 복수개의 라운드로 구성되며, 상기 반복호문은 상기 복수개의 라운드 중 어느 한 라운드에서 출력되는 것을 특징으로 하는 CKC 복호화 방법.CKC decryption method comprising a plurality of rounds for decrypting the result of the logical operation of step (a) and the ciphertext of the current block for each step, the repeating passphrase is output in any one of the plurality of rounds . 제 9항에 있어서, 상기 (c)단계에서 출력되는 현재 블록의 최종 복호문은10. The method of claim 9, wherein the final decoded sentence of the current block output in step (c) is 상기 복수개의 라운드 중 마지막 라운드에서 출력되는 것을 특징으로 하는 CKC 복호화 방법.CKC decoding method characterized in that the output from the last round of the plurality of rounds.
KR1020030001608A 2003-01-10 2003-01-10 Apparatus and method for encrypting/decrypting cipher key chaining KR100965874B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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