KR20050014590A - Method for encrypting in accordance with ccm mode and apparatus for performing the same, method for decrypting in accordance with ccm mode and apparatus for performing the same - Google Patents
Method for encrypting in accordance with ccm mode and apparatus for performing the same, method for decrypting in accordance with ccm mode and apparatus for performing the sameInfo
- Publication number
- KR20050014590A KR20050014590A KR1020030053262A KR20030053262A KR20050014590A KR 20050014590 A KR20050014590 A KR 20050014590A KR 1020030053262 A KR1020030053262 A KR 1020030053262A KR 20030053262 A KR20030053262 A KR 20030053262A KR 20050014590 A KR20050014590 A KR 20050014590A
- Authority
- KR
- South Korea
- Prior art keywords
- blocks
- block
- ciphertext
- ctr
- plaintext
- Prior art date
Links
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 CCM 모드에 따른 암호화 방법 및 이를 수행하기 위한 장치, 암호 해독 방법 및 이를 수행하기 위한 장치에 관한 것으로, 더욱 상세하게는 신속하게 암호화 및 암호 해독 동작을 수행할 수 있는 CCM 모드에 따른 암호화 방법 및 이를 수행하기 위한 장치, 암호 해독 방법 및 이를 수행하기 위한 장치에 관한 것이다.The present invention relates to an encryption method according to the CCM mode, an apparatus for performing the same, a decryption method and an apparatus for performing the same, more particularly, encryption according to the CCM mode that can perform encryption and decryption operations quickly A method and apparatus for performing the same, a decryption method and an apparatus for performing the same.
CCM 모드는 CBC 모드와 CTR 모드의 조합 모드이다. 상기 CTR 모드는 암호화 또는 암호 해독에 사용되며, 상기 CBC 모드는 본문 인증(message authentication)에 사용된다. 상기 CCM 모드를 이용하여 평문 블록을 암호화하는 경우, 제공되는 상기 평문 블록을 상기 CTR 모드를 이용하여 암호화한 후 상기 암호화된 블록을 메모리에 저장하고, 그런 후 상기 평문 블록들을 상기 메모리로부터 다시 읽고, 상기 읽은 평문 블록들을 상기 CBC 모드를 이용하여 암호화하여 본문 인증에 사용하였다. 또한, 종래의 암호 해독 장치는 제공되는 암호문 블록을 상기 CTR 모드를 이용하여 해독한 후 상기 해독된 블록을 상기 메모리에 저장하고, 그런 후 상기 암호문 블록을 상기 메모리로부터 다시 읽고, 상기 읽은 평문 블록들을 상기 CBC 모드를 이용하여 암호화한다. 즉, 종래의 암호화 장치/암호 해독 장치는 상기 평문 블록들/상기 암호문 블록들을 2번 읽기 때문에 암호화/암호 해독 속도가 느리다. 그러므로, 상기 속도를 개선할 수 있는 암호화 장치/암호 해독 장치가 요구된다.The CCM mode is a combination mode of the CBC mode and the CTR mode. The CTR mode is used for encryption or decryption, and the CBC mode is used for message authentication. When encrypting the plain text block using the CCM mode, encrypting the provided plain text block using the CTR mode and storing the encrypted block in a memory, and then reading the plain text blocks from the memory again, The read plaintext blocks were encrypted using the CBC mode and used for body authentication. In addition, the conventional decryption apparatus decrypts the provided ciphertext block using the CTR mode and stores the decrypted block in the memory, and then reads the ciphertext block back from the memory and reads the read plaintext blocks. Encrypt using the CBC mode. That is, the conventional encryption device / decryption device has a slow encryption / decryption rate because the plaintext blocks / the ciphertext blocks are read twice. Therefore, there is a need for an encryption device / decryption device that can improve the speed.
본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 신속하게 평문 블록들을 암호화할 수 있는 CCM 모드에 따른 암호화 방법 및 이를 수행하기 위한 장치를 제안하는 것을 목적으로 한다.The present invention is to solve the problems of the prior art as described above, it is an object of the present invention to propose an encryption method and apparatus for performing the same according to the CCM mode that can quickly encrypt the plain text blocks.
본 발명의 다른 목적은, 신속하게 암호문 블록들을 해독할 수 있는 CCM 모드에 따른 암호 해독 방법 및 이를 수행하기 위한 장치를 제안하는 것이다.Another object of the present invention is to propose a decryption method according to a CCM mode capable of quickly decrypting ciphertext blocks and an apparatus for performing the same.
도 1은 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 따른 암호화 장치의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of an encryption apparatus in CCM mode according to an embodiment of the present invention.
도 2는 본 발명의 바람직한 일 실시예에 따른 CCM 제어부(암호화 장치에 있어서)의 구성을 도시한 블록도이다.2 is a block diagram showing the configuration of a CCM control unit (in an encryption device) according to a preferred embodiment of the present invention.
도 3은 본 발명의 바람직한 일 실시예에 따른 조합부(암호화 장치에 있어서)의 구성을 도시한 블록도이다.Fig. 3 is a block diagram showing the construction of a combination part (in an encryption device) according to a preferred embodiment of the present invention.
도 4는 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 따른 암호 해독 장치의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a decryption apparatus according to a CCM mode according to an embodiment of the present invention.
도 5는 본 발명의 바람직한 일 실시예에 따른 입력부(암호 해독 장치에 있어서)의 구성을 도시한 블록도이다.5 is a block diagram showing the configuration of an input unit (in the decryption device) according to an embodiment of the present invention.
도 6은 본 발명의 바람직한 일 실시예에 따른 CCM 제어부(암호 해독 장치에 있어서)의 구성을 도시한 블록도이다.6 is a block diagram showing the configuration of a CCM control unit (in the decryption apparatus) according to a preferred embodiment of the present invention.
도 7은 본 발명의 바람직한 일 실시예에 따른 조합부(암호 해독 장치에 있어서)의 구성을 도시한 블록도이다.Fig. 7 is a block diagram showing the construction of a combination portion (in the decryption apparatus) according to a preferred embodiment of the present invention.
도 8a는 본 발명의 바람직한 일 실시예에 따른 CBC 모드에 의한 동작 과정을 도시한 순서도이다.8A is a flowchart illustrating an operation process according to a CBC mode according to an exemplary embodiment of the present invention.
도 8b는 본 발명의 바람직한 일 실시예에 따른 CBC 모드를 이용함에 의해 발생된 블록들을 도시한 도면이다.8B is a diagram illustrating blocks generated by using a CBC mode according to an exemplary embodiment of the present invention.
도 9는 본 발명의 바람직한 일 실시예에 따른 CTR 모드에 의한 암호화 동작을 도시한 순서도이다.9 is a flowchart illustrating an encryption operation in a CTR mode according to an embodiment of the present invention.
도 10은 본 발명의 바람직한 일 실시예에 따른 CTR 모드에 의한 암호 해독 과정을 도시한 순서도이다.10 is a flowchart illustrating a decryption process by the CTR mode according to an embodiment of the present invention.
도 11은 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 의한 1개의 평문 블록에 대한 암호화 동작을 도시한 순서도이다.11 is a flowchart illustrating an encryption operation for one plaintext block in CCM mode according to an embodiment of the present invention.
도 12는 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 의한 전체적인 암호화 과정을 도시한 순서도이다.12 is a flowchart illustrating the overall encryption process in the CCM mode according to an embodiment of the present invention.
도 13a는 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 의한 암호 해독 과정을 도시한 순서도이다.13A is a flowchart illustrating a decryption process in a CCM mode according to an embodiment of the present invention.
도 13b는 본 발명의 바람직한 일 실시예에 따른 암호 해독 과정에 의해 발생된 블록들을 도시한 도면이다.13B illustrates blocks generated by a decryption process according to an exemplary embodiment of the present invention.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 따른 암호화 방법은 (a) 1개 이상의 평문 블록들을 순차적으로 제공하는 단계; (b) 제공되는 평문 블록을 CTR 모드를 이용하여 암호화하는 단계; (c) 상기 평문 블록과 제공되는 제 1 블록을 XOR 연산시키는 단계; (d) 상기 XOR 연산에 의해 발생된 블록을 암호화시켜 CBC 암호문 블록을 발생시키는 단계; (e) 상기 CBC 암호문 블록을 이용하여 제 1 블록을 변화시키는 단계; (f) 상기 평문 블록의 다음 평문 블록을 제공하는 단계; (g) 상기 (b) 단계 내지 상기 (f) 단계를 반복시키는 단계; 및 (h) 순차적으로 제공되는 평문 블록들 중 마지막 평문 블록에 상응하여 발생된 CBC 암호문 블록을 상기 CTR 모드를 이용하여 암호화하여 제 2 CTR 암호문 블록을 발생시키는 단계를 포함할 수 있다.In order to achieve the above object, the encryption method according to the CCM mode according to an embodiment of the present invention comprises the steps of (a) providing one or more plaintext blocks sequentially; (b) encrypting the provided plaintext block using the CTR mode; (c) XORing the first block provided with the plaintext block; (d) encrypting the block generated by the XOR operation to generate a CBC ciphertext block; (e) changing a first block using the CBC ciphertext block; (f) providing a next plaintext block of the plaintext block; (g) repeating steps (b) to (f); And (h) encrypting the CBC ciphertext block generated corresponding to the last plaintext block among the sequentially provided plaintext blocks using the CTR mode to generate a second CTR ciphertext block.
본 발명의 일 실시예에 따른 CCM 모드에 따른 암호 해독 방법은 (a) 1개 이상의 암호문 블록들을 순차적으로 제공하는 단계; (b) 제공되는 암호문 블록을 CTR 모드를 이용하여 해독하는 단계; (c) 상기 해독된 블록인 CTR 해독 블록을 제공하는 단계; (d) 상기 CTR 해독 블록과 제공되는 제 1 블록을 XOR 연산시키는 단계; (e) 상기 XOR 연산에 의해 발생된 블록을 암호화시켜 CBC 암호문 블록을 발생시키는 단계; (f) 상기 CBC 암호문 블록을 이용하여 상기 제 1 블록을 변화시키는 단계; (g) 상기 암호문 블록의 다음 암호문 블록을 제공하는 단계; 및 (h) 상기 (b)단계 내지 상기 (g) 단계를 반복시키는 단계를 포함할 수 있다.Decryption method according to the CCM mode according to an embodiment of the present invention comprises the steps of (a) providing one or more ciphertext blocks sequentially; (b) decrypting the provided ciphertext block using the CTR mode; (c) providing a CTR decryption block that is the decrypted block; (d) XORing the first block provided with the CTR decoding block; (e) encrypting the block generated by the XOR operation to generate a CBC ciphertext block; (f) changing the first block using the CBC ciphertext block; (g) providing a next ciphertext block of the ciphertext block; And (h) repeating the steps (b) to (g).
본 발명의 일 실시예에 따른 CCM 모드에 따른 암호화 장치는 제공되는 평문 블록들을 순차적으로 제공하며, 제공되는 마지막 평문 블록에 상응하는 CBC 암호문 블록을 제공하는 입력부; CBC 암호문 블록들에 상응하여 변하는 제 1 블록들 및 상기 평문 블록들에 상응하여 변하는 제 2 블록들을 제공하며, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록을 제공하는 CCM 제어부; 상기 평문 블록들, 상기 제 1 블록들, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록 및 암호화된 제 2 블록들을 선택적으로 XOR 연산시키고, 상기 XOR 연산에 의해 생성된 XOR 블록들, 제 1 CTR 암호문 블록들 및 제 2 CTR 암호문 블록을 제공하는 조합부; 및 상기 XOR 블록들을 암호화하여 상기 CBC 암호문 블록들을 생성하고, 상기 제 2 블록들을 암호화하며, 상기 생성된 CBC 암호문 블록들과 상기 암호화된 제 2 블록들을 제공하는 블록 사이퍼를 포함할 수 있다. 또한, CTR 모드에 의해 암호화된 평문 블록들인 상기 제 1 CTR 암호문 블록들 및 상기 제 2 CTR 암호문 블록을 저장하는 출력부를 더 포함할 수 있다.An encryption apparatus according to a CCM mode according to an embodiment of the present invention includes an input unit for sequentially providing the provided plaintext blocks, and providing a CBC ciphertext block corresponding to the last plaintext block provided; A CCM controller providing first blocks that change in correspondence with CBC ciphertext blocks and second blocks that change in correspondence with the plaintext blocks, and providing a CBC ciphertext block corresponding to the last plaintext block; Selectively XOR the CBC ciphertext block and the encrypted second blocks corresponding to the plaintext blocks, the first blocks, the last plaintext block, XOR blocks generated by the XOR operation, a first CTR ciphertext block And a combination unit for providing a second CTR ciphertext block; And a block cipher that encrypts the XOR blocks to generate the CBC ciphertext blocks, encrypts the second blocks, and provides the generated CBC ciphertext blocks and the encrypted second blocks. The apparatus may further include an output unit configured to store the first CTR ciphertext blocks and the second CTR ciphertext block, which are plaintext blocks encrypted by the CTR mode.
본 발명의 일 실시예에 따른 CCM 모드에 따른 암호 해독 장치는 순차적으로 제공되는 암호문 블록들 및 CTR 해독 블록들을 제공하는 입력부; CBC 암호문 블록들에 상응하여 변하는 제 1 블록들 및 상기 암호문 블록들에 상응하여 변하는 제 2 블록들을 제공하는 CCM 제어부; 상기 암호문 블록들과 암호화된 제 2 블록들을 XOR 연산시켜 상기 CTR 해독 블록들을 발생시키고, 상기 CTR 해독 블록들과 상기 제 1 블록들을 XOR 연산시켜 XOR 블록들을 발생시키는 조합부; 상기 XOR 블록들을 암호화하여 상기 CBC 암호문 블록들을 생성하고, 상기 제 2 블록들을 암호화하며, 상기 생성된 CBC 암호문 블록들과 상기 암호화된 제 2 블록들을 제공하는 블록 사이퍼; 및 CTR 모드에 의해 해독된 암호문 블록인 상기 CTR 해독 블록들을 제공하는 출력부를 포함할 수 있다.Decryption apparatus according to the CCM mode according to an embodiment of the present invention comprises an input unit for providing the ciphertext blocks and CTR decryption blocks are provided sequentially; A CCM control unit providing first blocks that change in correspondence with CBC ciphertext blocks and second blocks that change in correspondence with the ciphertext blocks; A combination unit for generating the CTR decryption blocks by performing an XOR operation on the ciphertext blocks and the encrypted second blocks, and generating an XOR blocks by performing an XOR operation on the CTR decryption blocks and the first blocks; A block cipher that encrypts the XOR blocks to generate the CBC ciphertext blocks, encrypts the second blocks, and provides the generated CBC ciphertext blocks and the encrypted second blocks; And an output unit for providing the CTR decryption blocks, which are ciphertext blocks decrypted by the CTR mode.
이하에서는 첨부된 도면을 참조하여 본 발명에 따른 CCM 모드에 따른 암호화 방법 및 이를 수행하기 위한 암호화 장치, CCM 모드에 따른 암호 해독 방법 및 이를 수행하기 위한 암호 해독 장치의 바람직한 실시예를 자세히 설명하도록 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the preferred embodiment of the encryption method according to the CCM mode and the encryption device for performing the same, the decryption method according to the CCM mode and the decryption apparatus for performing the same in detail according to the present invention. .
도 1은 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 따른 암호화 장치의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of an encryption apparatus in CCM mode according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 CCM 모드에 따른 암호화 장치는 입력부(10), CCM 제어부(30), 조합부(50), 블록 사이퍼(70) 및 출력부(90)를 포함할 수 있다.Referring to FIG. 1, the encryption apparatus according to the CCM mode of the present invention may include an input unit 10, a CCM control unit 30, a combination unit 50, a block cipher 70, and an output unit 90.
상기 CCM 모드는 CBC(cipher block chaining) 모드와 CTR(counter) 모드의 조합 모드이다. 즉, 상기 CCM 모드는 상기 CBC 모드와 CTR 모드 중 하나의 모드로 동작할 수 있을 뿐만 아니라 상기 CBC 모드의 동작과 CTR 모드의 동작을 함께 수행할 수도 있다.The CCM mode is a combination mode of a cipher block chaining (CBC) mode and a counter (CTR) mode. That is, the CCM mode may not only operate in one of the CBC mode and the CTR mode, but also perform the operation of the CBC mode and the operation of the CTR mode.
입력부(10)는 복수의 평문 블록들(plaintexts)을 제공받고, 상기 제공받은 평문 블록들을 저장하며, 상기 평문 블록들을 순차적으로 제공하고, 마지막 평문 블록에 상응하는 CBC 암호문 블록을 제공한다. 상기 마지막 평문 블록에 상응하는 상기 CBC 암호문 블록은 MAC(message authentication code)/MIC(message integrity code)라 불린다. AES(advanced encryption standard) 표준에 있어서, 상기 각 평문블록들은 길이가 각기 128비트이다. 본 발명의 일 실시예에 따른 CCM 모드에 따른 암호화 장치는 1개의 평문 블록에 대하여 상기 CCM 모드를 이용하여 암호화한 후 다음 평문 블록에 대하여 상기 CCM 모드를 이용하여 암호화하며, 상기의 과정을 순차적으로 제공되는 상기 평문 블록들 전부에 대하여 수행한다. 본 발명의 일 실시예에 따른 입력부(10)는 레지스터이다.The input unit 10 is provided with a plurality of plaintext blocks, stores the provided plaintext blocks, sequentially provides the plaintext blocks, and provides a CBC ciphertext block corresponding to the last plaintext block. The CBC ciphertext block corresponding to the last plaintext block is called a message authentication code (MAC) / message integrity code (MIC). In the advanced encryption standard (AES) standard, each plaintext block is 128 bits in length. An encryption apparatus according to a CCM mode according to an embodiment of the present invention encrypts one plaintext block using the CCM mode and then encrypts the next plaintext block using the CCM mode, and sequentially processes the above process. Perform all of the plaintext blocks provided. The input unit 10 according to an embodiment of the present invention is a register.
CCM 제어부(30)는 상기 CBC 암호문 블록들을 제공받고, 상기 제공받은 CBC 암호문 블록들을 이용하여 제 1 블록들을 변화시키며, 상기 제 1 블록들, 상기 평문 블록들에 상응하여 변하는 제 2 블록들 및 상기 마지막 평문 블록에 상응하는 상기 CBC 암호문 블록을 제공한다. 본 발명의 일 실시예에 따른 CCM 제어부(30)는 레지스터이다. 그리고, 본 발명의 일 실시예에 따른 상기 제 1 블록은 이니셜 벡터(initial vector)이다.The CCM control unit 30 receives the CBC ciphertext blocks, changes the first blocks using the provided CBC ciphertext blocks, changes the first blocks, the second blocks corresponding to the plaintext blocks, and the Provide the CBC ciphertext block corresponding to the last plaintext block. CCM control unit 30 according to an embodiment of the present invention is a register. In addition, the first block according to an embodiment of the present invention is an initial vector.
조합부(50)는 상기 평문 블록들과 상기 제 1 블록들을 XOR 연산시켜 XOR 블록들을 발생시키고, 상기 평문 블록들과 암호화된 제 2 블록들을 XOR 연산시켜 제 1 CTR 암호문 블록들을 발생시키며, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록과 상기 마지막 평문 블록에 상응하는 암호화된 제 2 블록을 XOR 연산시켜 제 2 CTR 암호문 블록을 발생시킨다.The combining unit 50 generates XOR blocks by performing an XOR operation on the plaintext blocks and the first blocks, and generates first CTR ciphertext blocks by performing an XOR operation on the plaintext blocks and the encrypted second blocks. A CBC ciphertext block corresponding to the plaintext block and an encrypted second block corresponding to the last plaintext block are XORed to generate a second CTR ciphertext block.
블록 사이퍼(70)는 상기 XOR 블록들을 암호화하여 상기 CBC 암호문 블록들을 생성하고, 상기 제 2 블록들을 암호화시킨다. 상세하게는, 본 발명의 일 실시예에 따른 블록 사이퍼(70)는 상기 XOR 블록들 및 상기 제 2 블록들을 상기 AES 표준을 이용하여 암호화한다.Block cipher 70 encrypts the XOR blocks to generate the CBC ciphertext blocks and encrypts the second blocks. Specifically, the block cipher 70 according to an embodiment of the present invention encrypts the XOR blocks and the second blocks using the AES standard.
출력부(90)는 상기 제 1 CTR 암호문 블록들 및 상기 제 2 CTR 암호문 블록을 저장한다. 본 발명의 일 실시예에 따른 출력부(90)는 레지스터이다.The output unit 90 stores the first CTR ciphertext blocks and the second CTR ciphertext block. The output unit 90 according to an embodiment of the present invention is a register.
본 발명의 CCM 모드에 따른 암호화 장치는 상기 각 평문 블록들을 블록 단위로 순차적으로 암호화시킨다. 상기 암호화 과정은 제어부(미도시)에 의해 제어된다. 그리고, 상기 제어부는 본 발명의 암호화 장치에 포함되어 있을 수도 있고 외부 장치에 포함되어 있을 수도 있다.The encryption apparatus according to the CCM mode of the present invention sequentially encrypts the plaintext blocks in block units. The encryption process is controlled by a controller (not shown). The controller may be included in the encryption device of the present invention or may be included in an external device.
본 발명의 CCM 모드에 따른 암호화 장치는 1개의 평문 블록에 대하여 상기 CBC 모드 및 상기 CTR 모드를 이용하여 암호화한 후 다음 평문 블록을 암호화하므로, 종래의 기술보다 빨리 암호화할 수 있다. 즉, 본 발명의 암호화 장치는 상기 평문 블록들을 메모리로부터 1번 읽기 때문에, 종래의 기술보다 신속하게 상기 평문 블록들을 암호화할 수 있다.The encryption apparatus according to the CCM mode of the present invention encrypts one plaintext block by using the CBC mode and the CTR mode, and then encrypts the next plaintext block, so that encryption can be performed faster than the prior art. That is, since the encryption apparatus of the present invention reads the plaintext blocks once from the memory, it is possible to encrypt the plaintext blocks faster than in the prior art.
도 2는 본 발명의 바람직한 일 실시예에 따른 CCM 제어부(암호화 장치에 있어서)의 구성을 도시한 블록도이다.2 is a block diagram showing the configuration of a CCM control unit (in an encryption device) according to a preferred embodiment of the present invention.
도 2를 참조하면, CCM 제어부(30)는 CBC 제어부(100) 및 CTR 제어부(120)를 포함할 수 있다.Referring to FIG. 2, the CCM control unit 30 may include a CBC control unit 100 and a CTR control unit 120.
CBC 제어부(100)는 제공되는 상기 CBC 암호문 블록들을 이용하여 상기 제 1 블록들을 변화시키고, 상기 제 1 블록들과 상기 마지막 평문 블록에 상응하는 상기 CBC 암호문 블록을 제공한다. 상세하게는, CBC 제어부(100)는 처음 평문 블록에 상응하여 기설정된 제 1 블록을 조합부(50)에 제공하고, 상기 기설정된 제 1 블록에 상응하는 CBC 암호문 블록을 이용하여 상기 기설정된 제 1 블록을 변화시킨다. 상기의 과정이 반복된다.The CBC control unit 100 changes the first blocks using the provided CBC ciphertext blocks, and provides the CBC ciphertext block corresponding to the first blocks and the last plaintext block. In detail, the CBC control unit 100 provides the combination unit 50 with a first block corresponding to the first plain text block, and uses the CBC ciphertext block corresponding to the predetermined first block. Change 1 block. The above process is repeated.
CTR 제어부(120)는 순차적으로 제공되는 상기 평문 블록들에 상응하여 변하는 상기 제 2 블록들을 블록 사이퍼(70)에 제공한다. 상세하게는, CTR 제어부(120)는 상기 처음 평문 블록에 상응하는 기설정된 제 2 블록을 제공하고, 다음 평문 블록에 상응하는 상기 제 2 블록의 값을 1 증가시킨다. 상기의 과정이 반복된다.The CTR control unit 120 provides the block cipher 70 with the second blocks that change corresponding to the plain text blocks that are sequentially provided. In detail, the CTR control unit 120 provides a preset second block corresponding to the first plaintext block, and increases the value of the second block corresponding to the next plaintext block by one. The above process is repeated.
도 3은 본 발명의 바람직한 일 실시예에 따른 조합부(암호화 장치에 있어서)의 구성을 도시한 블록도이다.Fig. 3 is a block diagram showing the construction of a combination part (in an encryption device) according to a preferred embodiment of the present invention.
도 3을 참조하면, 조합부(50)는 제 1 조합부(200) 및 제 2 조합부(220)를 포함할 수 있다.Referring to FIG. 3, the combining unit 50 may include a first combining unit 200 and a second combining unit 220.
제 1 조합부(200)는 상기 평문 블록들과 상기 제 1 블록들을 XOR 연산시켜 상기 XOR 블록들을 발생시킨다. 상세하게는, 제 1 조합부(200)는 상기 처음 평문 블록과 상기 기설정된 제 1 블록을 XOR 연산시키고, 상기 다음 평문 블록과 상기 다음 평문 블록에 상응하는 제 1 블록을 XOR 연산시킨다. 상기의 과정이 반복된다.The first combiner 200 generates the XOR blocks by performing an XOR operation on the plaintext blocks and the first blocks. In detail, the first combining unit 200 performs an XOR operation on the first plaintext block and the predetermined first block, and performs an XOR operation on a first block corresponding to the next plaintext block and the next plaintext block. The above process is repeated.
제 2 조합부(220)는 상기 평문 블록들과 상기 암호화된 제 2 블록들을 XOR 연산시켜 상기 제 1 CTR 암호문 블록들을 발생시키고, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록과 상기 마지막 평문 블록에 상응하는 암호화된 제 2 블록을 XOR 연산시켜 상기 제 2 CTR 암호문 블록을 발생시킨다. 상세하게는, 제 2 조합부(220)는 상기 처음 평문 블록과 상기 처음 평문 블록에 상응하는 암호화된 제 2 블록을 XOR 연산시키고, 상기 다음 평문 블록과 상기 다음 평문 블록에 상응하는 암호화된 제 2 블록을 XOR 연산시킨다. 상기의 과정이 반복된다.The second combining unit 220 generates the first CTR ciphertext blocks by XORing the plaintext blocks and the encrypted second blocks, and corresponds to the CBC ciphertext block and the last plaintext block corresponding to the last plaintext block. XOR operation of the encrypted second block to generate the second CTR ciphertext block. In detail, the second combining unit 220 performs an XOR operation on the first plaintext block and the encrypted second block corresponding to the first plaintext block, and encrypts the second plaintext block and the encrypted second block corresponding to the next plaintext block. XOR the block. The above process is repeated.
도 4는 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 따른 암호 해독 장치의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a decryption apparatus according to a CCM mode according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 CCM 모드에 따른 암호 해독 장치는 입력부(300), CCM 제어부(320), 조합부(340), 블록 사이퍼(360) 및 출력부(380)를 포함할 수 있다.Referring to FIG. 4, the decryption apparatus according to the CCM mode of the present invention may include an input unit 300, a CCM control unit 320, a combination unit 340, a block cipher 360, and an output unit 380. .
입력부(300)는 암호문(ciphertext) 블록들과 CTR 해독 블록들을 제공받고, 상기 암호문 블록들/보정된 암호문 블록들을 순차적으로 제공하며, 상기 CTR 해독 블록들을 조합부(340)에 제공한다. AES(advanced encryption standard) 표준에 있어서, 상기 각 암호문 블록들은 길이가 각기 128비트이다. 본 발명의 일 실시예에 따른 CCM 모드에 따른 암호 해독 장치는 1개의 암호문 블록을 CCM 모드를 이용하여 해독한 후 다음 암호문 블록을 해독한다. 상기 과정이 반복된다. 상세하게는, CCM 모드에 따른 암호 해독 장치는 각 암호문 블록들에 대하여 상기 CTR 모드를 이용하여 해독한 후 상기 CBC 모드를 이용하여 상기 MAC/MIC를 생성한다.The input unit 300 receives ciphertext blocks and CTR decryption blocks, sequentially provides the ciphertext blocks / corrected ciphertext blocks, and provides the CTR decryption blocks to the combination unit 340. In the advanced encryption standard (AES) standard, each ciphertext block is 128 bits each. The decryption apparatus according to the CCM mode according to an embodiment of the present invention decrypts one ciphertext block using the CCM mode and then decrypts the next ciphertext block. The process is repeated. In detail, the decryption apparatus according to the CCM mode decrypts each ciphertext block using the CTR mode and then generates the MAC / MIC using the CBC mode.
CCM 제어부(320)는 상기 CBC 암호문 블록들을 제공받고, 상기 제공받은 CBC 암호문 블록들을 이용하여 제 1 블록들을 변화시키며, 상기 제 1 블록들, 상기 암호문 블록들에 상응하여 변하는 제 2 블록들을 제공한다. 본 발명의 일 실시예에 따른 CCM 제어부(320)는 레지스터이다.The CCM control unit 320 is provided with the CBC ciphertext blocks, changes the first blocks using the provided CBC ciphertext blocks, and provides the first blocks and the second blocks corresponding to the ciphertext blocks. . CCM controller 320 according to an embodiment of the present invention is a register.
조합부(340)는 상기 암호문 블록들과 암호화된 제 2 블록들을 XOR 연산시켜 상기 CTR 해독 블록들을 발생시키고, 상기 CTR 해독 블록들과 상기 제 1 블록들을 XOR 연산시켜 XOR 블록들을 발생시킨다.The combiner 340 generates the CTR decryption blocks by XORing the ciphertext blocks and the encrypted second blocks, and generates XOR blocks by XORing the CTR decryption blocks and the first blocks.
블록 사이퍼(360)는 상기 XOR 블록들을 암호화하여 상기 CBC 암호문 블록들을 생성하고, 상기 제 2 블록들을 암호화시킨다. 상세하게는, 본 발명의 일 실시예에 따른 블록 사이퍼(70)는 상기 XOR 블록들 및 상기 제 2 블록들을 상기 AES 표준을 이용하여 암호화한다.Block cipher 360 encrypts the XOR blocks to generate the CBC ciphertext blocks and encrypts the second blocks. Specifically, the block cipher 70 according to an embodiment of the present invention encrypts the XOR blocks and the second blocks using the AES standard.
출력부(300)는 제공받은 상기 CTR 해독 블록들을 입력부(300)에 제공한다. 본 발명의 일 실시예에 따른 출력부(300)는 상기 CTR 해독 블록들을 저장하며, 레지스터이다.The output unit 300 provides the received CTR decoding blocks to the input unit 300. The output unit 300 according to an embodiment of the present invention stores the CTR decryption blocks and is a register.
본 발명의 CCM 모드에 따른 암호 해독 장치는 상기 각 암호문 블록들을 블록 단위로 순차적으로 해독시킨다. 상기 암호 해독 과정은 제어부(미도시)에 의해 제어된다. 그리고, 상기 제어부는 본 발명의 암호 해독 장치에 포함되어 있을 수도 있고 외부 장치에 포함되어 있을 수도 있다.The decryption apparatus according to the CCM mode of the present invention sequentially decrypts each ciphertext block in block units. The decryption process is controlled by a controller (not shown). The controller may be included in the decryption apparatus of the present invention or may be included in an external device.
본 발명의 CCM 모드에 따른 암호 해독 장치는 1개의 암호문 블록을 상기 CCM 모드를 이용하여 해독한 후 다음 암호문 블록을 해독하므로, 종래의 기술보다 신속하게 상기 암호문 블록들을 해독할 수 있다. 즉, 본 발명의 암호 해독 장치는 상기 암호문 블록을 메모리로부터 1번 읽기 때문에, 신속하게 상기 암호문 블록들을 해독할 수 있다.The decryption apparatus according to the CCM mode of the present invention decrypts one ciphertext block using the CCM mode and then decrypts the next ciphertext block, so that the ciphertext blocks can be decrypted faster than in the prior art. That is, since the decryption apparatus of the present invention reads the ciphertext block once from the memory, it is possible to quickly decrypt the ciphertext blocks.
도 5는 본 발명의 바람직한 일 실시예에 따른 입력부(암호 해독 장치에 있어서)의 구성을 도시한 블록도이다.5 is a block diagram showing the configuration of an input unit (in the decryption device) according to an embodiment of the present invention.
도 5를 참조하면, 입력부(300)는 입력 레지스터(400) 및 블록 길이 제어부(420)를 포함할 수 있다.Referring to FIG. 5, the input unit 300 may include an input register 400 and a block length control unit 420.
입력 레지스터(400)는 제공받은 상기 암호문 블록들을 블록 길이 제어부(420)에 순차적으로 제공하고, 제공받은 상기 CTR 해독 블록들을 조합부(340)에 제공한다.The input register 400 sequentially provides the ciphertext blocks provided to the block length control unit 420, and provides the provided CTR decryption blocks to the combination unit 340.
블록 길이 제어부(420)는 암호문 블록이 평문 블록 시 길이 보정된 블록인 경우, 상기 암호문 블록을 보정한다. 즉, 상기 평문 블록의 길이가 128 비트보다 작은 경우, 상기 평문 블록의 길이를 128 비트로 보정한다. 이 경우, 블록 길이 제어부(420)는 상기 암호문 블록 중 상기 평문 블록 시 보정된 부분을 모두 "0"으로 보정한다.The block length controller 420 corrects the ciphertext block when the ciphertext block is a length corrected block in the plaintext block. That is, when the length of the plain text block is smaller than 128 bits, the length of the plain text block is corrected to 128 bits. In this case, the block length control unit 420 corrects all portions of the ciphertext block corrected at the plaintext block to "0".
도 6은 본 발명의 바람직한 일 실시예에 따른 CCM 제어부(암호 해독 장치에 있어서)의 구성을 도시한 블록도이다.6 is a block diagram showing the configuration of a CCM control unit (in the decryption apparatus) according to a preferred embodiment of the present invention.
도 6을 참조하면, CCM 제어부(320)는 CBC 제어부(500) 및 CTR 제어부(520)를 포함할 수 있다.Referring to FIG. 6, the CCM control unit 320 may include a CBC control unit 500 and a CTR control unit 520.
CBC 제어부(500)는 제공되는 상기 CBC 암호문 블록들을 이용하여 상기 제 1 블록들을 변화시키고, 상기 제 1 블록들을 제공한다. 상세하게는, CBC 제어부(500)는 처음 평문 블록에 상응하는 기설정된 제 1 블록을 조합부(340)에 제공하고, 상기 기설정된 제 1 블록에 상응하는 CBC 암호문 블록을 이용하여 상기 기설정된 제 1 블록을 변화시킨다. 상기의 과정이 반복된다.The CBC control unit 500 changes the first blocks using the provided CBC ciphertext blocks and provides the first blocks. In detail, the CBC controller 500 provides the combination unit 340 with a preset first block corresponding to the first plaintext block, and uses the CBC ciphertext block corresponding to the preset first block. Change 1 block. The above process is repeated.
CTR 제어부(520)는 순차적으로 제공되는 상기 암호문 블록들에 상응하여 변하는 상기 제 2 블록들을 블록 사이퍼(360)에 제공한다. 상세하게는, CTR 제어부(520)는 상기 처음 암호문 블록에 상응하는 기설정된 제 2 블록을 제공하고,다음 암호문 블록에 상응하여 상기 제 2 블록의 값을 1 증가시킨다. 상기의 과정이 반복된다.The CTR control unit 520 provides the block ciphers 360 with the second blocks that change in correspondence with the ciphertext blocks. In detail, the CTR control unit 520 provides a preset second block corresponding to the first ciphertext block, and increases the value of the second block by 1 corresponding to the next ciphertext block. The above process is repeated.
도 7은 본 발명의 바람직한 일 실시예에 따른 조합부(암호 해독 장치에 있어서)의 구성을 도시한 블록도이다.Fig. 7 is a block diagram showing the construction of a combination portion (in the decryption apparatus) according to a preferred embodiment of the present invention.
도 7을 참조하면, 조합부(340)는 제 1 조합부(600) 및 제 2 조합부(620)를 포함할 수 있다.Referring to FIG. 7, the combination unit 340 may include a first combination unit 600 and a second combination unit 620.
제 1 조합부(600)는 상기 CTR 해독 블록들과 상기 제 1 블록들을 XOR 연산시켜 상기 XOR 블록들을 발생시킨다. 상세하게는, 제 1 조합부(600)는 처음의 암호문 블록에 상응하는 상기 CTR 해독 블록과 상기 기설정된 제 1 블록을 XOR 연산시키고, 상기 다음 CTR 해독 블록과 상기 다음 암호문 블록에 상응하는 제 1 블록을 XOR 연산시킨다. 상기의 과정이 반복된다.The first combiner 600 generates the XOR blocks by performing an XOR operation on the CTR decoding blocks and the first blocks. In detail, the first combining unit 600 performs an XOR operation on the CTR decryption block corresponding to the first ciphertext block and the predetermined first block, and performs a first XOR operation on the next CTR decryption block and the next ciphertext block. XOR the block. The above process is repeated.
제 2 조합부(620)는 상기 암호문 블록들과 상기 암호화된 제 2 블록들을 XOR 연산시켜 상기 CTR 해독 블록들을 발생시킨다. 상세하게는, 제 2 조합부(620)는 상기 처음 암호문 블록과 상기 처음 암호문 블록에 상응하는 암호화된 제 2 블록을 XOR 연산시키고, 상기 다음 암호문 블록과 상기 다음 암호문 블록에 상응하는 암호화된 제 2 블록을 XOR 연산시킨다. 상기의 과정이 반복된다.The second combining unit 620 generates the CTR decryption blocks by performing an XOR operation on the ciphertext blocks and the encrypted second blocks. In detail, the second combining unit 620 performs an XOR operation on the first ciphertext block and the encrypted second block corresponding to the first ciphertext block, and encrypts the second ciphertext block and the second encrypted cipher corresponding to the next ciphertext block. XOR the block. The above process is repeated.
도 8a는 본 발명의 바람직한 일 실시예에 따른 CBC 모드에 의한 동작 과정을 도시한 순서도이다.8A is a flowchart illustrating an operation process according to a CBC mode according to an exemplary embodiment of the present invention.
도 8a를 참조하면, 상기 평문 블록들이 제공된다(S100). 이어서, 1개의 평문 블록과 상기 평문 블록에 상응하는 제 1 블록이 XOR 연산되어 XOR 블록을발생된다(S120). 계속하여, 상기 XOR 블록이 암호화되어 CBC 암호문 블록이 발생된다(S140). 이어서, 상기 평문 블록이 순차적으로 제공되는 상기 평문 블록들 중 마지막 평문 블록인지의 여부가 판단된다(S160). 상기 평문 블록이 상기 마지막 평문 블록이 아닌 경우, 상기 CBC 암호문 블록이 이용됨에 의해 상기 제 1 블록이 변화된다(S180). 반면에, 상기 평문 블록이 상기 마지막 평문 블록인 경우, 동작이 종료된다.Referring to FIG. 8A, the plaintext blocks are provided (S100). Subsequently, one plaintext block and a first block corresponding to the plaintext block are XORed to generate an XOR block (S120). Subsequently, the XOR block is encrypted to generate a CBC ciphertext block (S140). Subsequently, it is determined whether the plaintext block is the last plaintext block among the plaintext blocks that are sequentially provided (S160). If the plaintext block is not the last plaintext block, the first block is changed by using the CBC ciphertext block (S180). On the other hand, if the plaintext block is the last plaintext block, the operation ends.
도 8b는 본 발명의 바람직한 일 실시예에 따른 CBC 모드를 이용함에 의해 발생된 블록들을 도시한 도면이다.8B is a diagram illustrating blocks generated by using a CBC mode according to an exemplary embodiment of the present invention.
도 8b에 도시된 바와 같이, 상기 CBC 모드를 이용함에 의해 상기 MAC/MIC가 발생된다.As shown in FIG. 8B, the MAC / MIC is generated by using the CBC mode.
도 9는 본 발명의 바람직한 일 실시예에 따른 CTR 모드에 의한 암호화 동작을 도시한 순서도이다.9 is a flowchart illustrating an encryption operation in a CTR mode according to an embodiment of the present invention.
도 9를 참조하면, 1개의 평문 블록에 상응하는 제 2 블록이 암호화된다(S300). 이어서, 상기 평문 블록과 상기 암호화된 제 2 블록이 XOR 연산된다(S320). 계속하여, 상기 평문 블록이 상기 마지막 평문 블록인지의 여부가 판단된다(S340). 상기 평문 블록이 상기 마지막 평문 블록이 아닌 경우, 상기 제 2 블록의 값이 1 증가된다(S360). 반면에, 상기 평문 블록이 상기 마지막 평문 블록인 경우, 동작이 종료된다.Referring to FIG. 9, a second block corresponding to one plaintext block is encrypted (S300). Subsequently, the plaintext block and the encrypted second block are XORed (S320). Subsequently, it is determined whether the plaintext block is the last plaintext block (S340). If the plaintext block is not the last plaintext block, the value of the second block is increased by one (S360). On the other hand, if the plaintext block is the last plaintext block, the operation ends.
도 10은 본 발명의 바람직한 일 실시예에 따른 CTR 모드에 의한 암호 해독 과정을 도시한 순서도이다.10 is a flowchart illustrating a decryption process by the CTR mode according to an embodiment of the present invention.
도 10을 참조하면, 1개의 암호문 블록이 제공된다(S500). 이어서, 상기 암호문 블록에 상응하는 제 2 블록이 암호화된다(S520). 계속하여, 상기 암호문 블록과 상기 암호화된 제 2 블록이 XOR 연산된다(S540). 이어서, 상기 암호문 블록이 순차적으로 제공되는 상기 암호문 블록들 중 마지막 암호문 블록인지의 여부가 판단된다(S560). 상기 암호문 블록이 상기 마지막 암호문 블록이 아닌 경우, 상기 제 2 블록의 값이 1 증가된다. 반면에, 상기 암호문 블록이 상기 마지막 암호문 블록인 경우, 동작이 종료된다.Referring to FIG. 10, one ciphertext block is provided (S500). Subsequently, a second block corresponding to the ciphertext block is encrypted (S520). Subsequently, the ciphertext block and the encrypted second block are XORed (S540). Subsequently, it is determined whether the ciphertext block is the last ciphertext block among the ciphertext blocks provided sequentially (S560). If the ciphertext block is not the last ciphertext block, the value of the second block is increased by one. On the other hand, if the ciphertext block is the last ciphertext block, the operation ends.
도 11은 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 의한 1개의 평문 블록에 대한 암호화 동작을 도시한 순서도이다.11 is a flowchart illustrating an encryption operation for one plaintext block in CCM mode according to an embodiment of the present invention.
도 11을 참조하면, 1개의 평문 블록이 제공된다(S700). 이어서, 상기 평문 블록에 상응하는 제 2 블록이 암호화된다(S720). 계속하여, 상기 평문 블록과 상기 암호화된 제 2 블록이 XOR 연산된다(S740). 이어서, 상기 평문 블록과 상기 평문 블록에 상응하는 제 1 블록이 XOR 연산되어 XOR 블록이 발생된다(S760). 계속하여, 상기 XOR 블록이 암호화된다(S780).Referring to FIG. 11, one plain text block is provided (S700). Subsequently, a second block corresponding to the plaintext block is encrypted (S720). Subsequently, the plaintext block and the encrypted second block are XORed (S740). Subsequently, the plaintext block and the first block corresponding to the plaintext block are XORed to generate an XOR block (S760). Subsequently, the XOR block is encrypted (S780).
도 12는 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 의한 전체적인 암호화 과정을 도시한 순서도이다.12 is a flowchart illustrating the overall encryption process in the CCM mode according to an embodiment of the present invention.
도 12를 참조하면, 제공된 상기 평문 블록들 중 1개의 평문 블록이 제공된다(S800). 이어서, 상기 CTR 모드에 의해 상기 평문 블록이 암호화된다(S820). 계속하여, 상기 CBC 모드에 의해 상기 평문 블록이 암호화된다(S840). 이어서, 상기 평문 블록이 상기 마지막 평문 블록인지의 여부가판단된다(S860). 상기 평문 블록이 상기 마지막 평문 블록이 아닌 경우, 상기 S800 단계부터 다시 실행된다. 즉, 다음 평문 블록이 제공된다. 반면에, 상기 평문 블록이 상기 마지막 평문 블록인 경우, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록이 상기 CTR 모드에 의해 암호화된다(S880).Referring to FIG. 12, one plain text block among the provided plain text blocks is provided (S800). Subsequently, the plaintext block is encrypted by the CTR mode (S820). Subsequently, the plaintext block is encrypted by the CBC mode (S840). Subsequently, it is determined whether the plaintext block is the last plaintext block (S860). If the plain text block is not the last plain text block, the plain text block is executed again from the step S800. That is, the next plaintext block is provided. On the other hand, if the plaintext block is the last plaintext block, the CBC ciphertext block corresponding to the last plaintext block is encrypted by the CTR mode (S880).
도 13a는 본 발명의 바람직한 일 실시예에 따른 CCM 모드에 의한 암호 해독 과정을 도시한 순서도이다.13A is a flowchart illustrating a decryption process in a CCM mode according to an embodiment of the present invention.
도 13a를 참조하면, 1개의 암호문 블록이 상기 CTR 모드에 의해 해독되어 상기 암호문 블록에 상응하는 CTR 해독 블록이 발생된다(S1000). 이어서, 상기 CTR 해독 블록이 제공된다(S1020). 계속하여, 상기 암호문 블록이 평문 블록 시 길이 보정된 블록인지의 여부가 판단된다(S1040). 상기 암호문 블록이 길이 보정된 블록인 경우, 상기 CTR 해독 블록 중 상기 보정된 블록에 상응하는 부분이 보정된다(S1060). 반면에, 상기 암호문 블록이 길이 보정된 블록이 아닌 경우, 상기 CTR 해독 블록이 제공된다. 이어서, 상기 CBC 모드에 의해 상기 CTR 해독 블록이 암호화되어 상기 MAC/MIC가 발생된다(S1080). 계속하여, 상기 암호문 블록이 마지막 암호문 블록인지의 여부가 판단된다(S1100). 상기 암호문 블록이 상기 마지막 암호문 블록이 아닌 경우, 상기 S1000 단계부터 다시 실행된다. 반면에, 상기 암호문 블록이 상기 마지막 암호문 블록인 경우, 동작이 종료된다.Referring to FIG. 13A, one ciphertext block is decrypted by the CTR mode to generate a CTR decryption block corresponding to the ciphertext block (S1000). Subsequently, the CTR decoding block is provided (S1020). Subsequently, it is determined whether the ciphertext block is a length corrected block in the plaintext block (S1040). If the ciphertext block is a length corrected block, a portion corresponding to the corrected block of the CTR decryption block is corrected (S1060). On the other hand, if the ciphertext block is not a length corrected block, the CTR decryption block is provided. Subsequently, the CTR decryption block is encrypted by the CBC mode to generate the MAC / MIC (S1080). Subsequently, it is determined whether the ciphertext block is the last ciphertext block (S1100). If the ciphertext block is not the last ciphertext block, the ciphertext block is executed again from the step S1000. On the other hand, if the ciphertext block is the last ciphertext block, the operation ends.
도 13b는 본 발명의 바람직한 일 실시예에 따른 암호 해독 과정에 의해 발생된 블록들을 도시한 도면이다.13B illustrates blocks generated by a decryption process according to an exemplary embodiment of the present invention.
도 13b에 도시된 바와 같이, 상기 암호문 블록들이 상기 CTR 모드에 의해 해독된 경우, 상기 CTR 해독 블록들이 발생된다. 상기 CTR 해독 블록들은 도 13b에 도시된 바와 같이 복수개의 평문 블록들과 제 1 MAC/제 1 MIC를 가지고 있다. 본 발명의 CCM 모드에 따른 암호 해독 장치는 상기 평문 블록들을 상기 CBC 모드를 이용하여 암호화시켜 제 2 MAC/제 2 MIC를 발생시킨다. 그 결과, 상기 제 2 MAC/MIC가 상기 제 1 MAC/MIC와 같은 경우, 암호화된 상기 평문 블록들이 정확하게 해독된 것이다.As shown in Fig. 13B, when the ciphertext blocks are decrypted by the CTR mode, the CTR decryption blocks are generated. The CTR decryption blocks have a plurality of plaintext blocks and a first MAC / first MIC as shown in FIG. 13B. The decryption apparatus according to the CCM mode of the present invention encrypts the plaintext blocks using the CBC mode to generate a second MAC / second MIC. As a result, when the second MAC / MIC is the same as the first MAC / MIC, the encrypted plaintext blocks are correctly decrypted.
본 발명의 CCM 모드에 따른 암호/해독 시스템은 암호화 장치 및 암호 해독 장치를 각각 가질 수도 있고, 암호화하고 동시에 암호를 해독할 수 있는 하나의 장치를 가질 수도 있다.The encryption / decryption system according to the CCM mode of the present invention may have an encryption device and a decryption device, respectively, or may have one device that can encrypt and decrypt at the same time.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art having ordinary knowledge of the present invention will be able to make various modifications, changes, additions within the spirit and scope of the present invention, such modifications, changes and Additions should be considered to be within the scope of the following claims.
이상에서 설명한 바와 같이, 본 발명의 CCM 모드에 따른 암호화 방법 및 이를 수행하기 위한 장치는 평문 블록들을 메모리로부터 1번 읽기 때문에, 신속하게 상기 평문 블록들을 암호화할 수 있는 장점이 있다.As described above, the encryption method and the apparatus for performing the same according to the CCM mode of the present invention has the advantage that the plain text blocks can be quickly encrypted because the plain text blocks are read once from the memory.
아울러, 본 발명의 CCM 모드에 따른 암호 해독 방법 및 이를 수행하기 위한 장치는 암호문 블록들을 메모리로부터 1번 읽기 때문에, 신속하게 상기 암호문 블록들을 해독할 수 있는 장점이 있다.In addition, the decryption method and the apparatus for performing the same according to the CCM mode of the present invention has the advantage that it is possible to quickly decrypt the ciphertext blocks because the ciphertext blocks are read once from the memory.
Claims (29)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030053262A KR100549867B1 (en) | 2003-07-31 | 2003-07-31 | Method for encrypting in accordance with ccm mode and apparatus for performing the same, method for decrypting in accordance with ccm mode and apparatus for performing the same |
US10/721,398 US7336783B2 (en) | 2003-01-24 | 2003-11-25 | Cryptographic systems and methods supporting multiple modes |
TW093100636A TW200417219A (en) | 2003-01-24 | 2004-01-12 | Cryptographic systems and methods supporting multiple modes |
JP2004008782A JP2004226969A (en) | 2003-01-24 | 2004-01-16 | Cryptographic system and method for supporting multiple modes |
US11/972,387 US7885404B2 (en) | 2003-01-24 | 2008-01-10 | Cryptographic systems and methods supporting multiple modes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030053262A KR100549867B1 (en) | 2003-07-31 | 2003-07-31 | Method for encrypting in accordance with ccm mode and apparatus for performing the same, method for decrypting in accordance with ccm mode and apparatus for performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050014590A true KR20050014590A (en) | 2005-02-07 |
KR100549867B1 KR100549867B1 (en) | 2006-02-06 |
Family
ID=37225700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030053262A KR100549867B1 (en) | 2003-01-24 | 2003-07-31 | Method for encrypting in accordance with ccm mode and apparatus for performing the same, method for decrypting in accordance with ccm mode and apparatus for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100549867B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100749414B1 (en) * | 2005-12-10 | 2007-08-14 | 한국전자통신연구원 | Apparatus and method of encryption, and apparatus and method of decryption of mobile internet system |
WO2008069403A1 (en) * | 2006-12-05 | 2008-06-12 | Electronics And Telecommunications Research Institute | Apparatus and method for protecting rfid data |
-
2003
- 2003-07-31 KR KR1020030053262A patent/KR100549867B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100749414B1 (en) * | 2005-12-10 | 2007-08-14 | 한국전자통신연구원 | Apparatus and method of encryption, and apparatus and method of decryption of mobile internet system |
WO2008069403A1 (en) * | 2006-12-05 | 2008-06-12 | Electronics And Telecommunications Research Institute | Apparatus and method for protecting rfid data |
US8386794B2 (en) | 2006-12-05 | 2013-02-26 | Electronics And Telecommunications Research Institute | Apparatus and method for protecting RFID data |
Also Published As
Publication number | Publication date |
---|---|
KR100549867B1 (en) | 2006-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102609221B1 (en) | Methods and systems for improved authenticated encryption in counter-based cryptographic systems | |
US7860241B2 (en) | Simple universal hash for plaintext aware encryption | |
US5483598A (en) | Message encryption using a hash function | |
US7532721B2 (en) | Implementation of a switch-box using a subfield method | |
US9363074B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
US20060285684A1 (en) | Method and apparatus for facilitating efficient authenticated encryption | |
US20020044651A1 (en) | Method and apparatus for improving the security of cryptographic ciphers | |
CA2493569A1 (en) | Efficient encryption and authentication for data processing systems | |
WO2008049046A2 (en) | Method for securely extending key stream to encrypt high-entropy data | |
CA2441392A1 (en) | Encrypting apparatus | |
KR101815175B1 (en) | Apparatus and method for data encryption, apparatus and method for data decryption | |
JPH1022994A (en) | Ciphering device, deciphering device, ciphering method, deciphering method and communication system using the same | |
US7093126B1 (en) | Encryption schemes with almost free integrity awareness | |
KR100549867B1 (en) | Method for encrypting in accordance with ccm mode and apparatus for performing the same, method for decrypting in accordance with ccm mode and apparatus for performing the same | |
KR100362170B1 (en) | Apparatus of encryption for round key generating and encryption processing | |
JP2003263108A (en) | Enhanced encryption processing method for message in call to be processed by communication device | |
KR19980083221A (en) | N-Round Round Output Statement Precious Block Encryption / Decryption Method | |
KR20040108311A (en) | Apparatus for rijndael block cipher and encryption/decryption method thereof | |
US7583800B2 (en) | Encryption apparatus and method in a wireless communications system | |
KR20070061686A (en) | Apparatus and method of encryption, and apparatus and method of decryption of mobile internet system | |
JP3079032B2 (en) | Data encryption device and data decryption device | |
JP2001285281A (en) | Encryption system | |
US8908861B2 (en) | AES algorithm-based encryption apparatus and method for mobile communication system | |
KR200279546Y1 (en) | Device for coding/decoding document | |
JPH10303883A (en) | Enciphering method |
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: 20130102 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140103 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20141231 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160104 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20191226 Year of fee payment: 15 |