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 same

Info

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
Application number
KR1020030053262A
Other languages
Korean (ko)
Other versions
KR100549867B1 (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 KR1020030053262A priority Critical patent/KR100549867B1/en
Priority to US10/721,398 priority patent/US7336783B2/en
Priority to TW093100636A priority patent/TW200417219A/en
Priority to JP2004008782A priority patent/JP2004226969A/en
Publication of KR20050014590A publication Critical patent/KR20050014590A/en
Application granted granted Critical
Publication of KR100549867B1 publication Critical patent/KR100549867B1/en
Priority to US11/972,387 priority patent/US7885404B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes 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

PURPOSE: A method and an apparatus for encrypting and decrypting codes in accordance with a CCM(CBC and CTR Mixed) mode are provided to encrypt and decrypt plain text blocks quickly by reading the plane text blocks only one time. CONSTITUTION: An apparatus for encrypting in accordance with a CCM mode includes an input member(300), a CCM controller(320), a combiner(340), and a block cipher(360). The input member sequentially provides plane text blocks and CBC(Cipher Block Changing) cipher text blocks. The CCM controller provides the first blocks varying in accordance of the CBC cipher text blocks and second blocks corresponding to the last plain text block. The combiner selectively XORs the first and second blocks and provides resultant XOR blocks, and the first and second CTR(CounTeR) cipher text blocks. The block cipher generates the CBC cipher text blocks, encodes the second blocks, and provides resultant CBC cipher text blocks and the encoded second blocks.

Description

씨씨엠 모드에 따른 암호화 방법 및 이를 수행하기 위한 장치, 씨씨엠 모드에 따른 암호 해독 방법 및 이를 수행하기 위한 장치{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}CMD mode and apparatus for performing the same, CMD mode decryption method and apparatus for performing the same TECHNICAL MODE AND APPARATUS FOR PERFORMING THE SAME}

본 발명은 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)

(a) 1개 이상의 평문 블록들을 순차적으로 제공하는 단계;(a) sequentially providing one or more plaintext blocks; (b) 제공되는 평문 블록을 씨티알(CTR) 모드를 이용하여 암호화하는 단계;(b) encrypting the provided plaintext block using a CTR mode; (c) 상기 평문 블록과 제공되는 제 1 블록을 XOR 연산시키는 단계;(c) XORing the first block provided with the plaintext block; (d) 상기 XOR 연산에 의해 발생된 블록을 암호화시켜 CBC 암호문 블록을 발생시키는 단계;(d) encrypting the block generated by the XOR operation to generate a CBC ciphertext block; (e) 상기 CBC 암호문 블록을 이용하여 제 1 블록을 변화시키는 단계;(e) changing a first block using the CBC ciphertext block; (f) 상기 평문 블록의 다음 평문 블록을 제공하는 단계;(f) providing a next plaintext block of the plaintext block; (g) 상기 (b) 단계 내지 상기 (f) 단계를 반복시키는 단계; 및(g) repeating steps (b) to (f); And (h) 순차적으로 제공되는 평문 블록들 중 마지막 평문 블록에 상응하여 발생된 CBC 암호문 블록을 상기 씨티알(CTR) 모드를 이용하여 암호화하여 제 2 CTR 암호문 블록을 발생시키는 단계를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 방법.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. Encryption method according to the CCM mode. 제 1 항에 있어서, 상기 (a) 단계는, 상기 제공되는 평문 블록들을 저장하는 단계를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 방법.The encryption method according to claim 1, wherein the step (a) includes storing the provided plain text blocks. 제 1 항에 있어서, 상기 (b) 단계는,According to claim 1, wherein step (b), 제공되는 제 2 블록을 암호화하는 단계;Encrypting the provided second block; 상기 평문 블록과 상기 암호화된 제 2 블록을 XOR 연산시켜 제 1 CTR 암호문 블록을 발생시키는 단계;XORing the plaintext block and the encrypted second block to generate a first CTR ciphertext block; 상기 제 2 블록의 값을 1 증가시키는 단계; 및Increasing the value of the second block by one; And 상기 증가된 값을 가지는 제 2 블록을 제공하는 단계를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 방법.And providing a second block having the increased value. 제 3 항에 있어서, 상기 (b) 단계는,The method of claim 3, wherein step (b) comprises: 상기 제 1 CTR 암호문 블록을 저장하는 단계를 더 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 방법.And storing the first CTR ciphertext block. 제 1 항에 있어서, 상기 각 블록들은 길이가 각기 128 비트인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 방법.2. The method of claim 1, wherein each of the blocks is 128 bits long. (a) 1개 이상의 암호문 블록들을 순차적으로 제공하는 단계;(a) sequentially providing one or more ciphertext blocks; (b) 제공되는 암호문 블록을 씨티알(CTR) 모드를 이용하여 해독하는 단계;(b) decrypting the provided ciphertext block using a CTR mode; (c) 상기 해독된 블록인 CTR 해독 블록을 제공하는 단계;(c) providing a CTR decryption block that is the decrypted block; (d) 상기 CTR 해독 블록과 제공되는 제 1 블록을 XOR 연산시키는 단계;(d) XORing the first block provided with the CTR decoding block; (e) 상기 XOR 연산에 의해 발생된 블록을 암호화시켜 CBC 암호문 블록을 발생시키는 단계;(e) encrypting the block generated by the XOR operation to generate a CBC ciphertext block; (f) 상기 CBC 암호문 블록을 이용하여 상기 제 1 블록을 변화시키는 단계;(f) changing the first block using the CBC ciphertext block; (g) 상기 암호문 블록의 다음 암호문 블록을 제공하는 단계; 및(g) providing a next ciphertext block of the ciphertext block; And (h) 상기 (b) 단계 내지 상기 (g) 단계를 반복시키는 단계를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.and (h) repeating steps (b) to (g). 제 6 항에 있어서, 상기 (a) 단계는,According to claim 6, wherein step (a), 상기 암호문 블록들을 저장하는 단계를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.And decrypting the ciphertext blocks. 제 6 항에 있어서, 상기 (b) 단계는,The method of claim 6, wherein step (b) comprises: 제공되는 제 2 블록을 암호화시키는 단계;Encrypting the provided second block; 상기 암호문 블록과 상기 암호화된 제 2 블록을 XOR 연산시켜 상기 암호문 블록을 해독하는 단계;XORing the ciphertext block and the encrypted second block to decrypt the ciphertext block; 상기 제 2 블록의 값을 1 증가시키는 단계; 및Increasing the value of the second block by one; And 상기 증가된 값을 가지는 제 2 블록을 제공하는 단계를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.And providing a second block having the increased value. 제 6 항에 있어서, 상기 (c) 단계는,The method of claim 6, wherein step (c) comprises: 상기 CTR 해독 블록을 저장하는 단계를 더 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.And a step of storing the CTR decryption block. 제 6 항에 있어서, 상기 각 블록들은 길이가 각기 128 비트인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.7. The method of claim 6, wherein each of the blocks has a length of 128 bits. 제 6 항에 있어서, 상기 순차적으로 제공되는 암호문 블록이 평문 블록 시 길이 보정된 블록인지의 여부를 판단하는 단계;The method of claim 6, further comprising: determining whether the sequentially provided ciphertext block is a length corrected block in a plaintext block; 상기 암호문 블록이 길이 보정된 블록인 경우, 상기 암호문 블록에 상응하는 상기 CTR 해독 블록을 보정하는 단계; 및If the ciphertext block is a length corrected block, correcting the CTR decryption block corresponding to the ciphertext block; And 상기 보정된 CTR 해독 블록을 제공하는 단계를 더 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.And providing the corrected CTR decryption block. 제 11 항에 있어서, 상기 보정하는 단계는,The method of claim 11, wherein the correcting step, 상기 평문 블록 시 보정된 부분에 해당하는 부분의 값들을 모두 0으로 설정하는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 방법.The decryption method according to the CCM mode, characterized in that all of the values of the portion corresponding to the portion corrected in the plain text block set to 0. 제공되는 평문 블록들을 순차적으로 제공하며, 제공되는 마지막 평문 블록에 상응하는 CBC 암호문 블록을 제공하는 입력부;An input unit sequentially providing the provided plaintext blocks and providing a CBC ciphertext block corresponding to the last plaintext block provided; CBC 암호문 블록들에 상응하여 변하는 제 1 블록들 및 상기 평문 블록들에 상응하여 변하는 제 2 블록들을 제공하며, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록을 제공하는 CCM 제어부;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; 상기 평문 블록들, 상기 제 1 블록들, 상기 마지막 평문 블록에 상응하는CBC 암호문 블록 및 암호화된 제 2 블록들을 선택적으로 XOR 연산시키고, 상기 XOR 연산에 의해 생성된 XOR 블록들, 제 1 CTR 암호문 블록들 및 제 2 CTR 암호문 블록을 제공하는 조합부; 및Selectively XOR the CBC ciphertext block and the encrypted second blocks corresponding to the plaintext blocks, the first blocks, the last plaintext block, the XOR blocks generated by the XOR operation, a first CTR ciphertext block And a combination unit for providing a second CTR ciphertext block; And 상기 XOR 블록들을 암호화하여 상기 CBC 암호문 블록들을 생성하고, 상기 제 2 블록들을 암호화하며, 상기 생성된 CBC 암호문 블록들과 상기 암호화된 제 2 블록들을 제공하는 블록 사이퍼를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.And a block cipher for encrypting the XOR blocks to generate the CBC ciphertext blocks, encrypting the second blocks, and providing the generated CBC ciphertext blocks and the encrypted second blocks. Encryption device according to (CCM) mode. 제 13 항에 있어서, 씨티알(CTR) 모드에 의해 암호화된 평문 블록들인 상기 제 1 CTR 암호문 블록들 및 상기 제 2 CTR 암호문 블록을 저장하는 출력부를 더 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.15. The CCM of claim 13, further comprising an output unit for storing the first CTR ciphertext blocks and the second CTR ciphertext block, which are plaintext blocks encrypted by a CTR mode. Encryption device according to the mode. 제 14 항에 있어서, 상기 각 블록들은 길이가 각기 128비트인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.15. The apparatus of claim 14, wherein each of the blocks has a length of 128 bits. 제 14 항에 있어서, 상기 CCM 제어부는,The method of claim 14, wherein the CCM control unit, 상기 CBC 암호문 블록들을 수신하고, 상기 제 1 블록들 및 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록을 제공하는 CBC 제어부; 및A CBC control unit for receiving the CBC ciphertext blocks and providing a CBC ciphertext block corresponding to the first blocks and the last plaintext block; And 제공되는 상기 평문 블록의 수에 상응하여 값이 변하는 상기 제 2 블록들을 제공하는 CTR 제어부를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.And a CTR control unit for providing the second blocks whose values change in correspondence with the number of the plain text blocks provided. 제 16 항에 있어서, 상기 제 2 블록들의 값은 제공되는 상기 평문 블록들의 수에 상응하여 순차적으로 1씩 증가하는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.17. The apparatus of claim 16, wherein a value of the second blocks is sequentially increased by 1 corresponding to the number of plaintext blocks provided. 제 14 항에 있어서, 상기 조합부는,The method of claim 14, wherein the combination portion, 상기 평문 블록들과 상기 평문 블록들에 상응하는 상기 제 1 블록들을 제 1 XOR 연산시키고, 상기 제 1 XOR 연산에 의해 생성된 상기 XOR 블록들을 제공하는 제 1 조합부; 및A first combination unit configured to perform a first XOR operation on the plaintext blocks and the first blocks corresponding to the plaintext blocks and provide the XOR blocks generated by the first XOR operation; And 상기 평문 블록들과 상기 암호화된 제 2 블록들을 제 2 XOR 연산시키고, 상기 제 2 XOR 연산에 의해 생성된 상기 제 1 CTR 암호문 블록들을 제공하며, 상기 마지막 평문 블록에 상응하는 CBC 암호문 블록과 상기 마지막 평문 블록에 상응하는 암호화된 제 2 블록을 제 3 XOR 연산시키고, 상기 제 3 XOR 연산에 의해 생성된 상기 제 2 CTR 암호문 블록을 제공하는 제 2 조합부를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.A second XOR operation on the plaintext blocks and the encrypted second blocks, providing the first CTR ciphertext blocks generated by the second XOR operation, a CBC ciphertext block corresponding to the last plaintext block, and the last And a second combining unit configured to perform a third XOR operation on the encrypted second block corresponding to the plaintext block and to provide the second CTR ciphertext block generated by the third XOR operation. Encryption device according to the mode. 제 18 항에 있어서, 상기 제 1 조합부 및 상기 제 2 조합부는 각기 레지스터인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.19. The encryption apparatus of claim 18, wherein the first combining unit and the second combining unit are registers. 제 14 항에 있어서, 상기 입력부 및 상기 출력부는 각기 레지스터인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.15. The encryption apparatus of claim 14, wherein the input unit and the output unit are registers. 제 20 항에 있어서, 상기 입력부는 상기 평문 블록들을 저장하는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호화 장치.21. The encryption apparatus of claim 20, wherein the input unit stores the plain text blocks. 순차적으로 제공되는 암호문 블록들 및 CTR 해독 블록들을 제공하는 입력부;An input unit for sequentially providing ciphertext blocks and CTR decryption blocks; CBC 암호문 블록들에 상응하여 변하는 제 1 블록들 및 상기 암호문 블록들에 상응하여 변하는 제 2 블록들을 제공하는 CCM 제어부;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; 상기 암호문 블록들과 암호화된 제 2 블록들을 XOR 연산시켜 상기 CTR 해독 블록들을 발생시키고, 상기 CTR 해독 블록들과 상기 제 1 블록들을 XOR 연산시켜 XOR 블록들을 발생시키는 조합부;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; 상기 XOR 블록들을 암호화하여 상기 CBC 암호문 블록들을 생성하고, 상기 제 2 블록들을 암호화하며, 상기 생성된 CBC 암호문 블록들과 상기 암호화된 제 2 블록들을 제공하는 블록 사이퍼; 및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 씨티알(CTR) 모드에 의해 해독된 암호문 블록인 상기 CTR 해독 블록들을 제공하는 출력부를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.And an output unit for providing the CTR decryption blocks, which are ciphertext blocks decrypted by a CTR mode. 제 22 항에 있어서, 상기 블록들은 길이가 각기 128 비트인 것을 특징으로하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.23. The apparatus of claim 22, wherein the blocks are each 128 bits long. 제 22 항에 있어서, 상기 입력부는,The method of claim 22, wherein the input unit, 제공되는 상기 암호문 블록들 및 상기 CTR 해독 블록들을 제공하는 입력 레지스터; 및An input register providing the ciphertext blocks and the CTR decryption blocks provided; And 제공되는 암호문 블록이 평문 블록 시 길이 보정된 블록인 경우, 상기 암호문 블록에 상응하는 상기 CTR 해독 블록을 보정하는 블록 길이 제어부를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.And a block length controller for correcting the CTR decryption block corresponding to the ciphertext block when the ciphertext block is a length corrected block in the plaintext block. 제 22 항에 있어서, 상기 CCM 제어부는,The method of claim 22, wherein the CCM control unit, 상기 CBC 암호문 블록들을 이용하여 상기 제 1 블록들을 변화시키는 CBC 제어부; 및A CBC control unit for changing the first blocks using the CBC ciphertext blocks; And 제공되는 상기 암호문 블록들의 수에 상응하여 값이 변하는 상기 제 2 블록들을 제공하는 CTR 제어부를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.And a CTR control unit for providing the second blocks whose values change in correspondence with the number of ciphertext blocks provided. 제 25 항에 있어서, 상기 CBC 제어부 및 상기 CTR 제어부는 각기 레지스터인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.26. The apparatus of claim 25, wherein the CBC control unit and the CTR control unit are registers. 제 25 항에 있어서, 상기 제 2 블록의 값은 제공되는 상기 암호문 블록의 수에 상응하여 순차적으로 1씩 증가되는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.27. The apparatus of claim 25, wherein the value of the second block is sequentially increased by one corresponding to the number of ciphertext blocks provided. 제 22 항에 있어서, 상기 조합부는,The method of claim 22, wherein the combination portion, 상기 CTR 해독 블록들과 상기 제 1 블록들을 XOR 연산시켜 상기 XOR 블록들을 발생시키는 제 1 조합부; 및A first combining unit generating the XOR blocks by performing an XOR operation on the CTR decoding blocks and the first blocks; And 상기 암호문 블록들과 상기 암호화된 제 2 블록들을 XOR 연산시켜 상기 CTR 해독 블록들을 발생시키는 제 2 조합부를 포함하고 있는 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.And a second combination unit configured to generate the CTR decryption blocks by performing XOR operation on the ciphertext blocks and the encrypted second blocks. 제 22 항에 있어서, 상기 출력부는 레지스터인 것을 특징으로 하는 씨씨엠(CCM) 모드에 따른 암호 해독 장치.23. The apparatus of claim 22, wherein the output unit is a register.
KR1020030053262A 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 KR100549867B1 (en)

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)

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

Cited By (3)

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