KR101725127B1 - ARIA encoding/decoding apparatus and method - Google Patents

ARIA encoding/decoding apparatus and method Download PDF

Info

Publication number
KR101725127B1
KR101725127B1 KR1020120146775A KR20120146775A KR101725127B1 KR 101725127 B1 KR101725127 B1 KR 101725127B1 KR 1020120146775 A KR1020120146775 A KR 1020120146775A KR 20120146775 A KR20120146775 A KR 20120146775A KR 101725127 B1 KR101725127 B1 KR 101725127B1
Authority
KR
South Korea
Prior art keywords
value
unit
permutation
counter
aria
Prior art date
Application number
KR1020120146775A
Other languages
Korean (ko)
Other versions
KR20140079529A (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 KR1020120146775A priority Critical patent/KR101725127B1/en
Publication of KR20140079529A publication Critical patent/KR20140079529A/en
Application granted granted Critical
Publication of KR101725127B1 publication Critical patent/KR101725127B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 블록 암호 아리아(ARIA) 암복호화 장치에 관한 것으로, 본 발명에 따른 아리아 암복호화 장치는 입력된 평문 데이터를 분할하여 저장하는 데이터 입력부; 소정의 카운터 값을 생성하는 카운터 생성부; 아리아(ARIA) 알고리즘에 따라 소정의 카운터 값에 대한 상기 입력된 데이터의 암호화 연산을 수행하는 아리아 라운드 연산부; 및 상기 아리아 라운드 연산부의 각 라운드에서 사용되는 라운드 키를 생성하는 아리아 키 생성부를 포함한다. 본 발명에 따르면, 아리아 암복호화 장치는 메시지 인증 및 암호화를 동시에 수행함에 있어서, 하나의 아리아 암호화 모듈을 이용하여 하드웨어 크기를 줄일 수 있다. 또한, 평문 데이터가 입력되기 전에 카운터에 대한 암호화를 미리 수행하는 형태의 연산 방법을 제공하여 블록 암호 아리아를 이용한 메시지 인증 및 암호화의 연산 속도를 높일 수 있다. 또한, 파이프라인 레지스터를 활용한 아리아 라운드 연산부를 이용하여 메시지 인증 코드를 생성할 때 발생할 수 있는 연산 지연 시간을 감소시킨다.The present invention relates to a block cipher ARIA encryption / decryption apparatus, which comprises: a data input unit for dividing and storing input plain text data; A counter generating unit for generating a predetermined counter value; An ARI round operator for performing an encryption operation on the input data with respect to a predetermined counter value according to an ARIA algorithm; And an ary key generation unit for generating a round key used in each round of the aria round operation unit. According to the present invention, in performing the message authentication and the encryption at the same time, the aria encryption device can reduce the hardware size by using one aria encryption module. Also, it is possible to increase the operation speed of the message authentication and encryption using the block cipher ARIA by providing a calculation method of performing the encryption on the counter before the plaintext data is input. Also, it reduces the computation delay time that can occur when the message authentication code is generated by using the Aria round operation unit using the pipeline register.

Description

아리아 암복호화 장치 및 방법{ARIA encoding/decoding apparatus and method} {ARIA encoding / decoding apparatus and method}

본 발명은 블록 암호 아리아(ARIA) 암복호화 장치에 관한 것으로, 보다 상세하게는 메시지 인증 및 암호화를 동시에 수행하는 고속 아리아 암복호화 장치에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a block cipher ARIA encryption / decryption apparatus, and more particularly, to a high speed cipher encryption / decryption apparatus for performing message authentication and encryption at the same time.

아리아 암복호 알고리즘은 국가 보안 기술 연구소(NSRI)에서 개발된 민관 겸용 블록 대칭키암호 알고리즘이다. The aria encryption decryption algorithm is a public-private key block symmetric key encryption algorithm developed by National Institute of Security Technology (NSRI).

아리아 알고리즘의 라운드 수 및 키 크기는 마스터키가 128비트 일 때는, 12라운드, 마스터키가 192비트 일 때는 14라운드, 마스터키가 256비트 일 때는 16라운드를 사용하도록 권고하고 있다.The rounding number and the key size of the aria algorithm are recommended to use 12 rounds when the master key is 128 bits, 14 rounds when the master key is 192 bits, and 16 rounds when the master key is 256 bits.

아리아 알고리즘은 라운드 연산에 의하여 암복호화 연산을 수행하며, 각 라운드 연산은 치환연산(Substitution), 확산연산(Diffusion)으로 이루어진다.The Aria algorithm performs an encryption / decryption operation by round operation, and each round operation is performed by a substitution operation (diffusion) and a diffusion operation (diffusion operation).

아리아 알고리즘에서 키 확장 과정은 마스터키(MK) 및 특정 초기화 상수들(CK1, CK2, CK3)을 입력으로 주었을 때, 4개의 128비트 초기키값 W0, W1, W2, W3을 생성하는 키 초기화 과정 및 라운드키 생성과정으로 이루어진다.The key expansion process in the aria algorithm is a key initialization process for generating four 128-bit initial key values W0, W1, W2, and W3 when the master key (MK) and specific initialization constants (CK1, CK2, CK3) Round key generation process.

상기한 치환 연산 및 확산 연산을 수행하는 방법 및 키 확장 과정을 수행하는 방법에 따라 아리아 암복호화 연산에 소요되는 시간 및 사용되는 하드웨어 리소스에 차이가 있으며, 이는 더 나아가 아리아 암호 프로세서의 성능과 직결되는 문제가 된다. There is a difference between the time required for the aria encryption decryption operation and the hardware resources used according to the method of performing the replacement operation and the diffusion operation and the method of performing the key expansion process, It becomes a problem.

종래의 블록 암호화를 이용하여 메시지 인증을 하고자 할 때는 MAC(message Authentication Code)를 생성하게 된다. 이것은 블록 암호 알고리즘을 이용하여, 이전 블록의 암호문과 현재 평문의 배타적 논리합에 대한 암호문 연산을 수행하는 방법으로 통해 수행된다. 한편, 블록 암호를 이용한 메시지 암호화 방법에는 ECB(Electronic Code Book), CBC(Cipher Block Chaining), CTR(Counter) 등의 다양한 운용 방법이 존재한다. 여기서, 블록 암호를 이용하여 메시지 인증 및 암호화를 동시에 수행하는 블록 암호 운영 모드 중 CCM 모드는 메시지 인증을 위한 CBC-MAC 모드와 메시지 암호화를 위한 CTR 모드로 구성된다.When message authentication is performed using conventional block encryption, a MAC (message authentication code) is generated. This is accomplished by using a block cipher algorithm to perform a ciphertext operation on the exclusive OR of the ciphertext and the current plaintext of the previous block. On the other hand, various methods of operation such as ECB (Electronic Code Book), CBC (Cipher Block Chaining) and CTR (Counter) exist in the message encryption method using the block cipher. Here, among the block cipher operating modes that simultaneously perform message authentication and encryption using a block cipher, the CCM mode includes a CBC-MAC mode for message authentication and a CTR mode for message encryption.

종래의 CCM 모드를 수행하기 위한 아리아 암복호화 장치를 구성함에 있어서, CBC-MAC을 운용하기 위한 아리아 암호 연산 모듈과 CTR 모드를 운용하기 위한 아리아 암호 연산 모듈이 별도로 구비되어 하드웨어 크기가 증가한다는 문제점이 있었다.There is a problem that the hardware size is increased due to the separately provided aria cryptographic operation module for operating the CBC-MAC and the ariya cryptographic operation module for operating the CTR mode in constructing the aria cryptosystem for performing the conventional CCM mode there was.

본 발명은 상기 종래 기술의 문제를 해결하기 위하여 안출된 것으로서, 본 발명은 블록 암호 아리아를 이용하여 메시지 인증 및 암호화를 동시에 수행함에 있어서, 하나의 아리아 암호화 모듈을 이용하여 하드웨어 크기를 줄이는 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been conceived to solve the problems of the prior art, and it is an object of the present invention to provide a method of reducing hardware size by using a single encryption module in simultaneously performing message authentication and encryption using a block cipher architecture .

또한, 평문 데이터가 입력되기 전에 카운터에 대한 암호화를 미리 수행하는 형태의 연산 방법을 제공하여 블록 암호 아리아를 이용한 메시지 인증 및 암호화의 연산 속도를 높이는 방법을 제공하는 것을 목적으로 한다.It is another object of the present invention to provide a method of performing encryption before a plaintext data is input, and to provide a method for increasing the speed of operation of message authentication and encryption using a block cipher.

상기 기술적 과제를 해결하기 위한 본 실시예에 따른 아리아 암복호화 장치는 입력된 평문 데이터를 분할하여 저장하는 데이터 입력부; 소정의 카운터 값을 생성하는 카운터 생성부; 아리아(ARIA) 알고리즘에 따라 소정의 카운터 값에 대한 상기 입력된 데이터의 암호화 연산을 수행하는 아리아 라운드 연산부; 및 상기 아리아 라운드 연산부의 각 라운드에서 사용되는 라운드 키를 생성하는 아리아 키 생성부를 포함한다.According to an aspect of the present invention, there is provided an apparatus for decoding an aria coded data, comprising: a data input unit for dividing and storing input plain text data; A counter generating unit for generating a predetermined counter value; An ARI round operator for performing an encryption operation on the input data with respect to a predetermined counter value according to an ARIA algorithm; And an ary key generation unit for generating a round key used in each round of the aria round operation unit.

상기 암복호화 장치는 상기 아리아 라운드 연산부의 결과를 출력하는 데이터 출력부를 더 포함한다.The encryption / decryption apparatus further includes a data output unit for outputting a result of the aria round operation unit.

상기 암복호화 장치는 상기 카운터 값의 한계 값을 설정하고, 상기 한계 값만큼의 카운터 값에 대한 상기 암호화 연산을 수행하도록 제어하는 제어부를 포함한다.The encryption / decryption apparatus includes a control unit for setting a limit value of the counter value and controlling the encryption / decryption unit to perform the encryption operation on the counter value corresponding to the limit value.

상기 제어부는 상기 카운터 값을 암호화하는 카운터 암호화 단계, 상기 분할된 데이터를 암호화하는 메시지 암호화 단계 및 상기 분할된 데이터의 인증코드를 생성하는 메시지 인증 코드 생성 단계를 수행하도록 상기 카운터 생성부와 상기 아리아 라운드 연산부와 상기 아리아 키 생성부를 제어하는 것이 바람직하다.The control unit may include a counter encrypting step of encrypting the counter value, a message encrypting step of encrypting the divided data, and a message authentication code generating step of generating an authentication code of the divided data, And controls the arithmetic operation unit and the ary key generation unit.

상기 카운터 암호화 단계는, 상기 카운터 값을 증가시키는 단계; 상기 카운터를 아리아 알고리즘에 따라 암호화하는 단계; 상기 암호화된 값을 저장하는 단계를 포함한다.Wherein the counter encrypting step comprises: incrementing the counter value; Encrypting the counter according to an aria algorithm; And storing the encrypted value.

상기 메시지 암호화 단계는, 상기 분할된 데이터 블록의 개수와 상기 카운터 한계 값을 비교하는 단계; 상기 한계 값 초과 카운터 값을 암호화 하는 단계; 상기 암호화된 카운터 값과 상기 데이터 블록을 배타적 논리합 연산하는 단계; 및 상기 논리합 연산 결과로서 상기 입력된 데이터의 암호문을 저장하는 단계를 포함한다.The message encrypting step may include: comparing the number of the divided data blocks with the counter threshold value; Encrypting the counter value exceeding the threshold value; Performing an XOR operation on the encrypted counter value and the data block; And storing the cipher text of the input data as a result of the OR operation.

상기 메시지 인증 코드 생성 단계는 상기 카운터 값에 대응되는 상기 데이터 블록과 상기 암호문의 암호문 블록을 베타적 논리합 연산하는 단계; 및 상기 암호문 블록을 메시지 인증 코드 값으로 출력하는 단계를 포함한다.Wherein the message authentication code generation step comprises a step of performing a bitwise OR operation on the data block corresponding to the counter value and the ciphertext block of the cipher text; And outputting the ciphertext block as a message authentication code value.

본 발명에 따르면, 아리아 암복호화 장치는 메시지 인증 및 암호화를 동시에 수행함에 있어서, 하나의 아리아 암호화 모듈을 이용하여 하드웨어 크기를 줄일 수 있다. 또한, 평문 데이터가 입력되기 전에 카운터에 대한 암호화를 미리 수행하는 형태의 연산 방법을 제공하여 블록 암호 아리아를 이용한 메시지 인증 및 암호화의 연산 속도를 높일 수 있다. According to the present invention, in performing the message authentication and the encryption at the same time, the aria encryption device can reduce the hardware size by using one aria encryption module. Also, it is possible to increase the operation speed of the message authentication and encryption using the block cipher ARIA by providing a calculation method of performing the encryption on the counter before the plaintext data is input.

또한, 파이프라인 레지스터를 활용한 아리아 라운드 연산부를 이용하여 메시지 인증 코드를 생성할 때 발생할 수 있는 연산 지연 시간을 감소시킨다.Also, it reduces the computation delay time that can occur when the message authentication code is generated by using the Aria round operation unit using the pipeline register.

도 1은 본 발명의 일실시예에 따른 아리아 암복호화 장치를 나타내는 블록도이다.
도 2는 본 발명의 일실시예에 따른 아리아 암복호화 장치의 아리아 라운드 연산부를 나타내는 블록도이다.
도 3은 본 실시예에 따른 아리아 암복호화 방법 중 카운터 암호화 단계를 나타내는 흐름도이다.
도 4는 본 실시예에 따른 아리아 암복호화 방법 중 메시지 암호화 단계를 나타내는 흐름도이다.
도 5는 본 실시예에 따른 아리아 암복호화 방법 중 메시지 인증 코드 생성 단계를 나타내는 흐름도이다.
도 6은 도 5의 메시지 인증 코드 생성 단계를 보다 상세히 나타내는 흐름도이다.
1 is a block diagram illustrating an apparatus for decoding an aria according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an aria rounding unit of an aria decoding apparatus according to an embodiment of the present invention. Referring to FIG.
3 is a flowchart illustrating a counter encrypting step in the method of decrypting aria according to the present embodiment.
FIG. 4 is a flowchart illustrating a message encryption step in the method of decrypting aria according to the present embodiment.
5 is a flowchart illustrating a message authentication code generation step in the method of decoding an aria according to the present embodiment.
6 is a flowchart showing the message authentication code generation step of FIG. 5 in more detail.

이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. The following merely illustrates the principles of the invention. Therefore, those skilled in the art will be able to devise various apparatuses which, although not explicitly described or shown herein, embody the principles of the invention and are included in the concept and scope of the invention. It is also to be understood that all conditional terms and examples recited in this specification are, in principle, expressly intended for the purpose of enabling the inventive concept to be understood, and are not intended to be limiting as to such specifically recited embodiments and conditions .

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: . In the following description, a detailed description of known technologies related to the present invention will be omitted when it is determined that the gist of the present invention may be unnecessarily blurred. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 메시지 인증 및 암호화를 수행하기 위한 아리아 암복호화 장치(100)의 블록도이다.FIG. 1 is a block diagram of an encryption apparatus 100 for performing message authentication and encryption according to an embodiment of the present invention. Referring to FIG.

도 1을 참조하면, 본 실시예에 따른 아리아 암복호화 장치(100)는 데이터 입력부(110), 카운터 생성부(120), 아리아 라운드 연산부(130), 아리아 키 생성부(140), 제어부(150) 및 데이터 출력부(160)를 포함한다.Referring to FIG. 1, an arial-decoding apparatus 100 according to the present embodiment includes a data input unit 110, a counter generating unit 120, an aria rounding unit 130, an ariary key generating unit 140, a controller 150 And a data output unit 160.

데이터 입력부(110)는 입력된 평문 데이터를 분할하여 저장한다. 즉 입력되는 평문 데이터를 128비트 단위로 분할하여 저장한다. 따라서 본 실시예에 따른 데이터 입력부는 평문 데이터를 분할하여 128비트의 메시지를 생성한다.The data input unit 110 divides and stores the input plain text data. That is, the input plain text data is divided into 128-bit units and stored. Therefore, the data input unit according to the present embodiment divides the plaintext data into 128-bit messages.

카운터 생성부(120)는 소정의 개수만큼의 카운터 값을 생성하고 저장한다.The counter generation unit 120 generates and stores a predetermined number of counter values.

아리아 라운드 연산부(130)는 아리아 알고리즘에 따라 카운터 값에 대한 암호화 연산을 수행한다.The Aria round calculator 130 performs an encryption operation on the counter value according to the Aria algorithm.

아리아키 생성부(140)는 아리아 라운드 연산부의 각 라운드에서 사용되는 라운드 키를 생성한다.The ARI key generation unit 140 generates a round key used in each round of the Arya round operation unit.

제어부(150)는 카운터 한계값을 설정하고, 카운터 한계값에 개수만큼의 카운터 값에 대한 암호화 연산을 수행하도록 제어하고, 카운터 암호화 단계, 메시지 암호화 단계 및 메시지 인증 코드 생성 단계를 수행하도록 상기 카운터 생성부(120)와 상기 아리아 라운드 연산부(130) 및 아리아 키 생성부(140)를 제어 한다.The control unit 150 sets a counter threshold value, controls the counter threshold value to perform an encryption operation on the counter values as many as the counter threshold value, and performs the counter encryption step, the message encryption step, and the message authentication code generation step, The arithmetic operation unit 130, and the ariaki key generation unit 140, as shown in FIG.

나아가 데이터 출력부(160)는 아리아 라운드 연산부(130)의 결과를 출력한다.Furthermore, the data output unit 160 outputs the result of the aria round calculator 130.

도 1의 아리아 라운드 연산부(130)는 CTR 모드를 고속으로 수행하기 위하여 다중의 라운드 연산부를 구비하고, 각 라운드 연산부 간에 파이프라인 레지스터를 삽입하고 또한, 라운드 연산부 내부에 서브파이프라인 레지스터를 삽입한 형태로 구성이 가능하다. The arithmetic round unit 130 of FIG. 1 includes a plurality of round operation units for performing a CTR mode at high speed, a pipeline register is inserted between each round operation units, and a sub-pipeline register is inserted in the round operation unit .

그러나, 상기와 같이 파이프라인 형태의 아리아 라운드 연산부를 활용하여 CBC-MAC 모드를 수행하기 되면, 내부의 서브파이프라인 레지스터로 인하여 암호화 연산 속도가 감소하는 결과를 초래하게 된다. 따라서, 본 발명에 따른 아리아 라운드 연산부는 CTR 모드에서는 서브파이프라인 레지스터를 활용하고, CBC-MAC 모드에서는 서브파이프라인 레지스터를 활용하지 않는 것을 특징으로 한다. 이하 도 2를 참조하여 아리아 라운드 연산부에 대하여 보다 상세히 설명한다.
However, if the CBC-MAC mode is performed using the pipeline-type Arya round operation unit as described above, the encryption operation speed is reduced due to the internal sub-pipeline register. Therefore, the aria round operation unit according to the present invention utilizes a sub-pipeline register in the CTR mode and does not utilize the sub-pipeline register in the CBC-MAC mode. Hereinafter, the aria round operation unit will be described in more detail with reference to FIG.

도 2는 본 발명을 일실시예에 따른 아리아 라운드 연산부(130)의 세부 블럭도로서 아리아 알고리즘의 제1 라운드를 수행하기 위한 아리아 라운드 연산부(130)를 예시한다.FIG. 2 is a detailed block diagram of the aria round calculator 130 according to an embodiment of the present invention, illustrating an aria round calculator 130 for performing a first round of the aria algorithm.

제1 라운드 이후의 아리아 라운드 연산부(130)는 제1라운드를 수행하기 위한 아리아 라운드 연산부를 재활용하여 연산할 수 있다.The ariah round calculation unit 130 after the first round can recycle the ariah round calculation unit for performing the first round.

도 2를 참조하면, 본 실시예에 따른 아리아 라운드 연산부는 제1 및 제2 다중화기(131a, 131b), 제1 XOR 연산기(133a), 제1 치환부(134), 서브파이프라인 레지스터(135), 제3 다중화기(131c), 제2 치환부(131c), 확산부(137), 제2 XOR 연산기(133b)를 포함한다.2, the aria round operation unit according to the present embodiment includes first and second multiplexers 131a and 131b, a first XOR operator 133a, a first permutation unit 134, a sub-pipeline register 135 A third multiplexer 131c, a second permutation unit 131c, a spreading unit 137, and a second XOR operator 133b.

도 2에서 블록 암호 아리아 알고리즘에서 마스터키는 제1키와 제2키로 분할된다.  In FIG. 2, in the block cipher algorithm, the master key is divided into a first key and a second key.

제1 XOR 연산기(133a)는 평문 그리고/또는 제1키는 제1 다중화기(131a)를 통해 키초기화 상수 및/또는 라운드키는 제2 다중화기(131b)를 통해 입력 받고 배타적 논리합 연산을 수행한다.The first XOR operator 133a receives the key initialization constant and / or the round key through the first multiplexer 131a of the plain text and / or the first key through the second multiplexer 131b and performs the exclusive-OR operation do.

제1 치환부(134a)는 상기한 제1 XOR기의 결과값에 대한 치환 연산 중의 일부를 수행한다.The first replacement unit 134a performs a part of the replacement operation for the result value of the first XOR unit.

서브파이프라인 레지스터(135)는 상기한 제1 치환부의 결과값을 저장한다.The sub pipeline register 135 stores the result of the first permutation.

제3 다중화기(131c)는 서브파이프라인 레지스터(135)의 출력값과 상기 제1치환부(134a)의 결과값을 선택한다.The third multiplexer 131c selects an output value of the sub-pipeline register 135 and a result value of the first permutation unit 134a.

제2 치환부(134b)는 제3 다중화기(131c)의 출력값에 대한 치환 연산의 일부를 수행한다.The second permutation unit 134b performs a part of the permutation operation on the output value of the third multiplexer 131c.

확산부(137)는 제2 치환부의 결과값에 대한 확산 연산을 수행하며, 제2 XOR 연산기(133b)는 상기한 확산부(137)의 결과값과 제2키에 대한 배타적 논리합 연산을 수행한다.The spreading unit 137 performs a spreading operation on the result of the second permutation unit and the second XOR operator 133b performs an exclusive OR operation on the result of the spreading unit 137 and the second key .

상기한 제1 XOR 연산기(133a)의 입력을 선택하는 다중화기(131a, 131b)들과 상기한 제2 XOR 연산기(133b)는 상기한 제1 라운드를 수행하는 아리아 라운드 연산부(130)를 이용하여 평문에 대한 라운드 연산 및 키 초기화 과정을 수행하기 위하여 필요하다.The multiplexers 131a and 131b for selecting the input of the first XOR operator 133a and the second XOR operator 133b may use the Aria round operator 130 for performing the first round It is necessary to perform the round operation and the key initialization process for the plain text.

이하 도 3내지 5를 참조하여 본 실시예에 따른 아리아 암복호화 장치(100)에서 수행되는 아리아 암복호화 방법에 대하여 설명한다.Hereinafter, a method of decoding an aria coded by the aria-decoding apparatus 100 according to the present embodiment will be described with reference to Figs. 3 to 5. Fig.

본 실시예에 따른 아리아 암복호화 방법은 카운터 값을 암호화하는 카운터 암호화 단계, 상기 분할된 데이터를 암호화하는 메시지 암호화 단계 및 상기 분할된 데이터의 인증코드를 생성하는 메시지 인증 코드 생성 단계를 포함한다.
The method includes a counter encrypting step of encrypting a counter value, a message encrypting step of encrypting the divided data, and a message authentication code generating step of generating an authentication code of the divided data.

도 3은 본 실시예에 따른 아리아 암복호화 방법 중 카운터 암호화 단계를 나타내는 흐름도이다. 도 3을 참조하면, 카운터 암호화 단계는 카운터 값 증가 단계(S110), 카운터 암호화 단계(S120), 암호화 값 저장 단계(S130), 카운터 한계값 비교 단계(S140)를 포함한다.3 is a flowchart illustrating a counter encrypting step in the method of decrypting aria according to the present embodiment. Referring to FIG. 3, the counter encrypting step includes a counter value increasing step S110, a counter encrypting step S120, an encrypted value storing step S130, and a counter threshold value comparing step S140.

카운터 값 증가 단계(S110)는 소정의 비트로 구성되는 카운터 값을 1 증가시킨다.The counter value increasing step (S110) increments the counter value composed of predetermined bits by one.

카운터 암호화 단계(S120)는 상기한 카운터 값을 아리아 알고리즘에 따라 암호화한다.The counter encryption step (S120) encrypts the counter value according to the aria algorithm.

암호화 값 저장 단계(S130)는 상기한 암호화된 값을 저장한다.The encryption value storage step (S130) stores the encrypted value.

나아가 카운터 한계값 비교 단계(S140)는 증가된 카운터 값과 미리 결정된 카운터 한계값과 비교하여 카운터값이 카운터 한계값과 같으면 종료하고, 상기한 카운터 값이 카운터 한계값보다 작으면 상기 과정을 반복한다.If the counter value is less than the counter threshold value, the counter is compared with the counter threshold value. If the counter value is less than the counter threshold value, the process is repeated (S140) .

본 실시예에 따른 카운터 암호화 단계는 암호화하기 위한 메시지가 입력되기 이전에, 카운터 한계값이 설정되는 시점에 미리 연산되는 것이 바람직하다.The counter encryption step according to the present embodiment is preferably performed before the message for encryption is input, at the time when the counter limit value is set.

본 실시예에 따라 카운터 암호화를 사전에 수행함으로써, 실제적으로 메시지가 입력될 때, 메시지의 암호화의 시간을 단축 시킬 수 있다. 이하 메시지 암호화 단계에 대하여 설명한다.
By performing counter encryption in advance according to the present embodiment, it is possible to shorten the time of encryption of a message when a message is actually input. The message encryption step will be described below.

도 4는 본 실시예에 따른 아리아 암복호화 방법 중 메시지 암호화 단계를 나타내는 흐름도이다. 도 4를 참조하면, 메시지 암호화 단계는 카운터 한계값 비교 단계(S210), 초과 카운터 암호화 단계(S220), 카운터 값과 데이트 블록 논리합 단계(S230), 암호문 저장 단계(S240)를 포함한다.FIG. 4 is a flowchart illustrating a message encryption step in the method of decrypting aria according to the present embodiment. Referring to FIG. 4, the message encryption step includes a counter threshold value comparison step S210, an excess counter encryption step S220, a counter value and date block logical sum step S230, and a ciphertext storage step S240.

카운터 한계값 비교 단계(S210)는 설정된 카운터 한계값과 입력 데이터 블록의 개수를 비교한다. 본 실시예에서 메시지 암호화 단계는 비교 결과, 입력 데이터 블록 개수가 카운터 한계값보다 크면 카운터 암호화 단계를 수행하여, 카운터 한계값을 초과하는 입력 데이터 블록 수만큼 카운터의 암호화 연산을 수행한다.The counter threshold value comparison step (S210) compares the set counter threshold value with the number of input data blocks. In the message encrypting step, if the number of input data blocks is larger than the counter limit value as a result of the comparison, the counter encrypting step is performed to perform encryption of the counter by the number of input data blocks exceeding the counter limit value.

예를 들어, 입력 데이터의 블록 크기가 128비트이고, 그 블록의 수가 10이고, 카운터 한계값이 6이라고 가정하면, 암호화하기 위한 입력데이터가 입력되기 이전에 6개의 카운터 블록이 미리 계산되어 있다. 따라서, 카운터 한계값을 초과한 4개의 카운터 값 암호화가 필요하다.For example, assuming that the block size of the input data is 128 bits, the number of blocks is 10, and the counter limit value is 6, six counter blocks are calculated before the input data for encryption is inputted. Therefore, encryption of four counter values exceeding the counter threshold value is required.

따라서 본 실시예에서 초과 카운터 암호화 단계(S220)는 상술한 카운터 암호화 단계를 통해 카운터 한계값을 초과하여, 블록의 수에 비해 부족한 카운터 값에 대한 암호화를 수행한다.Therefore, in the present embodiment, the excess counter encryption step (S220) exceeds the counter limit value through the above-described counter encryption step, and performs encryption on the counter value that is insufficient compared to the number of blocks.

카운터 값과 데이터 블록 논리합 단계(S230)는 입력 데이터의 블록 개수가 카운터 한계값과 같거나, 작으면, 별도의 카운터 증가 연산을 수행하지 않고, 기저장된 카운터의 암호문과 입력되는 데이터 블록에 대하여 배타적 논리합 연산을 수행한다.If the number of blocks of the input data is equal to or smaller than the counter limit value, the counter value and data block logical sum operation S230 are performed without performing a separate counter increment operation, And performs a logical sum operation.

나아가 암호문 저장 단계(S240)는 그 결과를 입력되는 데이터의 암호문으로 저장하고 출력한다. 이하 메시지 인증 코드 생성 단계에 대하여 설명한다.
Further, the ciphertext storage step (S240) stores the result as a ciphertext of the input data and outputs the ciphertext. The message authentication code generation step will be described below.

도 5는 본 실시예에 따른 아리아 암복호화 방법 중 메시지 인증 코드 생성 단계를 도시한 것이다. 메시지 인증 코드 생성 단계는 배타적 논리합 단계(S310), 메시지 인증 코드 값 출력 단계(S320)를 포함한다.FIG. 5 illustrates a message authentication code generation step in the method of decoding an aria according to the present embodiment. The message authentication code generation step includes an exclusive-OR step S310 and a message authentication code value output step S320.

배타적 논리합 단계(S310)는 카운터 값에 대응되는 상기 데이터 블록과 상기 암호문의 암호문 블록을 베타적 논리합 연산을 수행한다.The exclusive-OR step S310 performs a bitwise OR operation on the data block corresponding to the counter value and the ciphertext block of the cipher text.

나아가 메시지 인증 코드 값 출력 단계(S320)는 암호문 블록을 메시지 인증 코드 값으로 출력한다.Further, the message authentication code value output step (S320) outputs the ciphertext block as a message authentication code value.

도 6을 통해 보다 상세히 설명하면, 배타적 논리합 단계는 초기 값을 설정하고(S302) 여기서, i는 임의의 카운터 값, M은 입력 메시지, C는 암호문을 의미한다. C[i]의 의미는 i번째 입력 데이터 블록을 의미한다. C[0]는 C의 초기값을 의미한다. 예를 들어, 입력 데이터가 128비트 블록 단위로 10개의 블록으로 구성된다면, C[1] ~ C[10] 으로 표현된다. 초기 변수 설정과정으로 i=0으로 설정하고, C[0] = 0으로 설정한다. 6, the exclusive-OR step sets an initial value (S302), where i denotes an arbitrary counter value, M denotes an input message, and C denotes a cipher text. C [i] means the i-th input data block. C [0] means the initial value of C. For example, if the input data consists of 10 blocks in units of 128 bits, it is expressed as C [1] to C [10]. Set i = 0 and C [0] = 0 in the initial parameter setting process.

초기값 설정 후 카운터 값을 1 증가 시킨다(S304).After setting the initial value, the counter value is increased by 1 (S304).

이후, i번째 입력 메시지 블록과 i번째 암호문 블록의 배타적 논리합 연산을 수행한다(S312). 논리합 연산후 카운터 값 i를 데이터 블록 수와 비교하여, 입력 데이터의 블록 수보다 작으면 상기 단계를 반복하고, 카운터 값 i가 입력 데이터의 블록 수와 같으면, 가장 마지막 암호문 블록을 메시지 인증 코드 값으로 출력한다(S322).Then, an exclusive OR operation is performed between the i-th input message block and the i-th ciphertext block (S312). If the counter value i is smaller than the number of input data blocks, the above step is repeated. If the counter value i is equal to the number of input data blocks, the last ciphertext block is set as the message authentication code value (S322).

한편 본 발명의 아리아 암복호화 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the method of the present invention may be embodied as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트 들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. Computer-readable code in a distributed fashion can be stored and executed. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. It will be apparent to those skilled in the art that various modifications, substitutions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. will be.

따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate and not to limit the technical spirit of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings . The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

Claims (9)

입력된 평문 데이터를 분할하여 데이터 블록으로 저장하는 데이터 입력부;
카운터 값을 생성하는 카운터 생성부;
아리아(ARIA) 알고리즘에 따라 라운드 키를 이용하여 상기 카운터 값에 대한 상기 데이터 블록의 암호화 연산을 수행하는 아리아 라운드 연산부; 및
상기 아리아 라운드 연산부의 각 라운드에서 사용되는 상기 라운드 키를 생성하는 아리아 키 생성부를 포함하고,
상기 라운드 연산부는,
상기 데이터 블록 또는 제1 키를 출력하는 제1 다중화기;
키초기화 상수 또는 상기 라운드키를 출력하는 제2 다중화기;
상기 데이터 블록 또는 상기 제1 키와 상기 키초기화 상수 또는 상기 라운드키에 대한 배타적 논리합을 산출하는 제1 XOR 연산기;
상기 배타적 논리합에 대한 치환 연산을 적용하여 제1 치환 연산값을 생성하는 제1 치환부;
상기 제1 치환 연산값을 저장하는 서브파이프라인 레지스터;
상기 제1 치환부 또는 상기 서브파이프라인 레지스터로부터 제1 치환 연산값을 수신하여 출력하는 제3 다중화기;
제1 치환 연산값에 대해 추가 치환 연산을 적용하여 제2 치환 연산값을 생성하는 제2 치환부;
상기 제2 치환 연산값에 대해 확산 연산을 적용하여 확산 연산값을 생성하는 확산부; 및
상기 확산 연산값과 제2 키에 대한 배타적 논리합을 생성하는 제2 XOR 연산기;
를 포함하되,
상기 제3 다중화기는 CTR(Counter) 모드에서 상기 서브파이프라인 레지스터로부터 수신한 상기 제1 치환 연산값을 상기 제2 치환부로 전송하고, CBC(Cipher Block Chaining)-MAC(message Authentication Code) 모드에서 상기 제1 치환부로부터 수신한 상기 제1 치환 연산값을 상기 제2 치환부로 전송하는 것을 특징으로 하는 아리아 암복호화 장치.
A data input unit for dividing input plain text data into a plurality of data blocks;
A counter generating unit for generating a counter value;
An aria round operator for performing an encryption operation on the data block with respect to the counter value using a round key according to an ARIA algorithm; And
And an ary key generation unit for generating the round key used in each round of the aria round operation unit,
The round calculator calculates,
A first multiplexer for outputting the data block or the first key;
A second multiplexer for outputting a key initialization constant or the round key;
A first XOR operator for calculating an exclusive OR of the data block or the first key and the key initialization constant or the round key;
A first permutation unit for generating a first permutation operation value by applying a permutation operation to the exclusive logical sum;
A sub-pipeline register for storing the first permutation operation value;
A third multiplexer for receiving and outputting a first permutation operation value from the first permutation unit or the subpipeline line register;
A second permutation unit for applying a further permutation operation to the first permutation operation value to generate a second permutation operation value;
A diffusion unit for applying a diffusion operation to the second permutation operation value to generate a diffusion operation value; And
A second XOR operator for generating an exclusive OR for the spreading operation value and the second key;
, ≪ / RTI &
The third multiplexer transmits the first permutation value received from the sub-pipeline register in the CTR (Counter) mode to the second permutation unit, and transmits the first permutation value to the second permutation unit in the Cipher Block Chaining (MAC) And transfers the first replacement operation value received from the first replacement unit to the second replacement unit.
제1 항에 있어서,
상기 아리아 라운드 연산부는
복수의 라운드 연산부;
상기 라운드 연산부 간을 연결하는 파이프라인 레지스터를 포함하는 것을 특징으로 하는 아리아 암복호화 장치.
The method according to claim 1,
The aria round operation unit
A plurality of round operators;
And a pipeline register for connecting between the round operation units.
삭제delete 제1 항에 있어서,
상기 카운터 생성부를 통해 카운터 한계값까지 카운터 값을 1씩 증가시켜 생성하고, 상기 아리아 라운드 연산부를 통해 상기 카운터 값을 암호화하여 저장하고,
상기 아리아 라운드 연산부를 통해 데이터 블록의 개수가 상기 카운터 한계 값을 초과하는 경우, 한계 값 초과 카운터 값을 암호화 하고,
상기 암호화된 카운터 값 및 상기 암호화된 한계값 초과 카운터 값 중 하나 이상과 상기 데이터 블록의 배타적 논리합 연산을 통해 암호문을 생성하는 제어부를 더 포함하는 것을 특징으로 하는 아리아 암복호화 장치.
The method according to claim 1,
The counter value is incremented by one to a counter limit value through the counter generation unit, and the counter value is encrypted and stored through the aria round operation unit,
When the number of data blocks exceeds the counter limit value through the aria round operation unit,
Further comprising a controller for generating a ciphertext by performing an exclusive OR operation on at least one of the encrypted counter value and the encrypted exceeded value counter and the data block.
제4 항에 있어서,
상기 제어부는 상기 아리아 라운드 연산부를 통해 상기 카운터 값에 대응하는 상기 데이터 블록과 상기 암호문의 암호문 블록을 베타적 논리합 연산을 수행하고,
상기 암호문 블록 중 가장 마지막 암호문 블록을 메시지 인증 코드 값으로 출력하는 단계를 포함하는 것을 특징으로 하는 아리아 암복호화 장치.
5. The method of claim 4,
Wherein the control unit performs a bitwise OR operation on the data block corresponding to the counter value and the ciphertext block of the cipher text through the ariA round operation unit,
And outputting the last ciphertext block of the ciphertext block as a message authentication code value.
아리아 암복호화 장치가 아리아 암복호화를 수행하는 방법에 있어서,
카운터 값을 생성하고, 상기 카운터 값을 암호화하는 단계;
평문 데이터의 데이터 블록을 암호화하는 단계; 및
상기 평문 데이터에 대한 메시지 인증 코드를 생성하는 단계;
를 포함하고,
상기 카운터 값을 암호화하는 단계는
제1 다중화기에서, 상기 데이터 블록 또는 제1 키를 출력하는 단계;
제2 다중화기에서, 키초기화 상수 또는 라운드키를 출력하는 단계;
제1 XOR 연산기에서, 상기 데이터 블록 또는 상기 제1 키와 상기 키초기화 상수 또는 상기 라운드키에 대한 배타적 논리합을 산출하는 단계;
제1 치환부에서, 상기 배타적 논리합에 대한 치환 연산을 적용하여 제1 치환 연산값을 생성하는 단계;
서브파이프라인 레지스터에서, 상기 제1 치환 연산값을 저장하는 단계;
제3 다중화기에서, 상기 제1 치환부 또는 상기 서브파이프라인 레지스터로부터 제1 치환 연산값을 수신하여 출력하는 단계;
제2 치환부에서, 상기 제1 치환 연산값에 대해 추가 치환 연산을 적용하여 제2 치환 연산값을 생성하는 단계;
확산부에서, 상기 제2 치환 연산값에 대해 확산 연산을 적용하여 확산 연산값을 생성하는 단계; 및
제2 XOR 연산기에서, 상기 확산 연산값과 제2 키에 대한 배타적 논리합을 생성하는 단계;
를 포함하되,
상기 제3 다중화기에서, 상기 제1 치환부 또는 상기 서브파이프라인 레지스터로부터 제1 치환 연산값을 수신하여 출력하는 단계는 CTR(Counter) 모드에서 상기 서브파이프라인 레지스터로부터 수신한 상기 제1 치환 연산값을 상기 제2 치환부로 전송하고, CBC(Cipher Block Chaining)-MAC(message Authentication Code) 모드에서 상기 제1 치환부로부터 수신한 상기 제1 치환 연산값을 상기 제2 치환부로 전송하는 것을 특징으로 하는 아리아 암복호화 방법.
A method for performing a cryptographic aria encryption in an aria cryptosystem,
Generating a counter value and encrypting the counter value;
Encrypting a data block of plaintext data; And
Generating a message authentication code for the plaintext data;
Lt; / RTI >
The step of encrypting the counter value
In the first multiplexer, outputting the data block or the first key;
Outputting, in the second multiplexer, a key initialization constant or a round key;
Calculating, in the first XOR operator, an exclusive OR of the data block or the first key and the key initialization constant or the round key;
Generating a first permutation operation value by applying a permutation operation to the exclusive-OR in the first permutation unit;
Storing, in a sub-pipeline register, the first permutation operation value;
Receiving and outputting a first permutation operation value from the first permutation unit or the subpipeline line register in the third multiplexer;
Generating a second permutation operation value by applying an additional permutation operation to the first permutation operation value in a second permutation unit;
Generating a spreading operation value by applying a spreading operation to the second permutation operation value in a spreading unit; And
In a second XOR operator, generating an exclusive OR for the spreading operation value and the second key;
, ≪ / RTI &
In the third multiplexer, the step of receiving and outputting the first permutation operation value from the first permutation unit or the subpipeline line register may include receiving the first permutation operation from the subpipeline line register in the CTR (Counter) mode, Value to the second replacing unit and transmits the first permutation value received from the first permutation unit to the second permutation unit in a CBC (Cipher Block Chaining) -MAC (message authentication code) mode. A method for decoding an aria.
제6 항에 있어서,
카운터 값을 생성하고, 상기 카운터 값을 암호화하는 단계는,
카운터 한계값까지 카운터 값을 1씩 증가시켜 생성하고, 아리아 라운드 연산부를 통해 상기 카운터 값을 암호화하여 저장하는 단계인 것을 특징으로 하는 아리아 암복호화 방법.
The method according to claim 6,
Generating a counter value, and encrypting the counter value,
Wherein the counter value is incremented by 1 to a counter limit value, and the counter value is encrypted and stored through an aria round operation unit.
제7 항에 있어서,
평문 데이터의 데이터 블록을 암호화하는 단계는,
상기 아리아 라운드 연산부를 통해 데이터 블록의 개수가 상기 카운터 한계 값을 초과하는 경우, 한계 값 초과 카운터 값을 암호화 하는 단계; 및
상기 암호화된 카운터 값 및 상기 암호화된 한계값 초과 카운터 값 중 하나 이상과 상기 데이터 블록의 배타적 논리합 연산을 통해 암호문을 생성하는 단계;
를 포함하는 아리아 암복호화 방법.
8. The method of claim 7,
The step of encrypting the data block of plaintext data comprises:
If the number of data blocks exceeds the counter limit value through the ariah rounding operation, encrypting the counter value exceeds the limit value; And
Generating a ciphertext by performing an XOR operation on at least one of the encrypted counter value and the encrypted exceeded counter value and the data block;
/ RTI >
제8 항에 있어서,
상기 평문 데이터에 대한 메시지 인증 코드를 생성하는 단계는,
상기 아리아 라운드 연산부를 통해 상기 카운터 값에 대응하는 상기 데이터 블록과 상기 암호문의 암호문 블록을 베타적 논리합 연산을 수행하는 단계; 및
상기 암호문 블록 중 가장 마지막 암호문 블록을 메시지 인증 코드 값으로 출력하는 단계를 포함하는 것을 특징으로 하는 아리아 암복호화 방법.
9. The method of claim 8,
Wherein generating the message authentication code for the plaintext data comprises:
Performing a beta OR operation on the cipher text block of the cipher text and the data block corresponding to the counter value through the aria round operation unit; And
And outputting the last ciphertext block of the ciphertext block as a message authentication code value.
KR1020120146775A 2012-12-14 2012-12-14 ARIA encoding/decoding apparatus and method KR101725127B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120146775A KR101725127B1 (en) 2012-12-14 2012-12-14 ARIA encoding/decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120146775A KR101725127B1 (en) 2012-12-14 2012-12-14 ARIA encoding/decoding apparatus and method

Publications (2)

Publication Number Publication Date
KR20140079529A KR20140079529A (en) 2014-06-27
KR101725127B1 true KR101725127B1 (en) 2017-04-27

Family

ID=51130570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120146775A KR101725127B1 (en) 2012-12-14 2012-12-14 ARIA encoding/decoding apparatus and method

Country Status (1)

Country Link
KR (1) KR101725127B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102531876B1 (en) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 Intelligent smart low-power encryption method and system for secure communication of unmanned weapon system
WO2024090760A1 (en) * 2022-10-25 2024-05-02 주식회사 쿼드마이너 Low-power encryption method and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074440A1 (en) 2008-09-19 2010-03-25 Electronics Telecommunications Research Institute High-speed pipelined aria encryption apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074440A1 (en) 2008-09-19 2010-03-25 Electronics Telecommunications Research Institute High-speed pipelined aria encryption apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102531876B1 (en) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 Intelligent smart low-power encryption method and system for secure communication of unmanned weapon system
WO2024090760A1 (en) * 2022-10-25 2024-05-02 주식회사 쿼드마이너 Low-power encryption method and system

Also Published As

Publication number Publication date
KR20140079529A (en) 2014-06-27

Similar Documents

Publication Publication Date Title
US10164769B2 (en) Flexible architecture and instruction for advanced encryption standard (AES)
KR101068367B1 (en) Method and apparatus for optimizing advanced encryption standard aes encryption and decryption in parallel modes of operation
US11546135B2 (en) Key sequence generation for cryptographic operations
KR20110129932A (en) Key recovery mechanism for cryptographic systems
US9716586B2 (en) Precomputing internal AES states in counter mode to protect keys used in AES computations
KR101095386B1 (en) A Cryptosystem with a Discretized Chaotic Map
WO2012132621A1 (en) Encryption processing device, encryption processing method, and programme
KR101725127B1 (en) ARIA encoding/decoding apparatus and method
US8774402B2 (en) Encryption/decryption apparatus and method using AES rijndael algorithm
US10594476B1 (en) Reduced-latency packet ciphering
JP2015022269A (en) Encryption device, decryption device, encryption method, decryption method, and program
KR101824315B1 (en) Method and apparatus for encrypting data, and method and apparatus decrypting data
KR20210049412A (en) Communication method and system through cbc encryption and decryption
WO2017036251A1 (en) Advanced encryption standard encryption and decryption method, device, and storage medium
JP2010130353A (en) Encryption processing apparatus

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