KR100933312B1 - Aria encryption method capable of data encryption and authentication, and a system for performing the same - Google Patents
Aria encryption method capable of data encryption and authentication, and a system for performing the same Download PDFInfo
- Publication number
- KR100933312B1 KR100933312B1 KR1020070086912A KR20070086912A KR100933312B1 KR 100933312 B1 KR100933312 B1 KR 100933312B1 KR 1020070086912 A KR1020070086912 A KR 1020070086912A KR 20070086912 A KR20070086912 A KR 20070086912A KR 100933312 B1 KR100933312 B1 KR 100933312B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption
- data
- aria
- authentication
- input
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
아리아(ARIA) 블록 암호를 이용하여 암호운용 모드 중 인증 또는 암호화 모드와 인증 및 암호화 모드의 혼용이 가능하도록 하며, ARIA의 암호/복호화 회로 중 암호화 회로만 사용함으로써 무선 환경에 적합한 데이터 암호화와 인증이 가능한 ARIA 암호화 방법 및 이를 수행하기 위한 시스템이 개시된다. 본 발명은 입력된 초기 값(nonce)에 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산하여 씨드 데이터를 형성하고, 매번 입력되는 128비트의 메시지와 상기 씨드 데이터를 XOR연산시켜 암호화 하는 암호화 모드 단계; 입력된 초기 값(nonce)과 메시지(message)를 128비트로 블록화 시켜 출력된 데이터를 아리아 연산하며, 상기 아리아 연산된 데이터를 상기 블록화 된 데이터의 다음 데이터와 XOR연산 하고 난 다음, XOR연산된 데이터를 다시 아리아 연산하는 과정을 입력된 메시지의 길이만큼 수행하여 최종 128비트의 데이터를 출력하는 인증모드 단계; 및 암호화 모드 단계 및 인증 모드 단계를 선택적 또는 동시에 수행하도록 하는 제어단계를 포함한다. By using Aria block cipher, it is possible to mix authentication or encryption mode and authentication and encryption mode among cipher operation modes, and by using only encryption circuit among cipher / decryption circuits of ARIA, data encryption and authentication suitable for wireless environment is achieved. Possible ARIA encryption methods and systems for performing the same are disclosed. The present invention increments a counter value by 1 for each message input unit (128 bits) to an input initial value to aria operation to form seed data, and performs XOR operation on the 128-bit message and the seed data input each time. Encryption mode step of encrypting; Aria operation is performed on the outputted data by blocking the input initial value and message into 128 bits, and performing XOR operation on the aria operation data with the next data of the blocked data, and then performing XOR operation on the data. An authentication mode step of outputting the last 128 bits of data by performing an aria operation again as long as the input message length; And a control step of selectively or simultaneously performing an encryption mode step and an authentication mode step.
Description
본 발명은 데이터 암호화와 인증이 가능한 아리아(ARIA, Academy Research Institute Agency; 이하 ARIA) 암호화 방법 및 이를 수행하기 위한 시스템에 관한 것으로, 특히 아리아(ARIA) 블록 암호를 이용하여 암호운용 모드 중 인증 또는 암호화 모드와 인증 및 암호화 모드의 혼용이 가능하도록 하며, ARIA의 암호/복호화 회로 중 암호화 회로만 사용함으로써 무선 환경에 적합한 데이터 암호화와 인증이 가능한 ARIA 암호화 방법 및 이를 수행하기 위한 시스템에 관한 것이다. The present invention relates to an ARIA (ARIA) encryption method capable of data encryption and authentication, and a system for performing the same. Particularly, the present invention relates to authentication or encryption in an encryption operation mode using an ARIA block cipher. The present invention relates to an ARIA encryption method and a system for performing data encryption and authentication suitable for a wireless environment by using only an encryption circuit among ARIA encryption / decryption circuits.
아리아 암호화 알고리즘은 국가 보안 기술 연구소(National Security Research Institute)에서 개발된 민관 겸용 블록 대칭키 암호화 알고리즘이다. 인터넷을 기반으로 하는 사회 및 경제적 활동이 늘어나면서, 전자 거래의 안전성과 신뢰성, 사용자 프라이버시 보호에 관한 수요가 급증하고 있다. Aria encryption algorithm is a public-private block symmetric key encryption algorithm developed by the National Security Research Institute. As Internet-based social and economic activities increase, the demand for safety, reliability and user privacy of electronic transactions is rapidly increasing.
특히, 전자 정부 구현 등으로 국가기관과 민간(G2C, Government to Citizen) 사이에 자료소통의 필요성이 커지게 되어, 정보보호를 목적으로 블록 대칭키 암호 알고리즘인 아리아(ARIA)가 발표되었다. In particular, the necessity of data communication between government agencies and the private sector (G2C, Government to Citizen) has increased due to the implementation of e-government.
아리아(ARIA) 알고리즘의 라운드 수 및 키 크기는, 키가 16바이트 일 때 12라운드, 키가 24바이트 일 때는 14라운드, 키가 32바이트 일 때는 16라운드를 사용하도록 권고하고 있다. 아리아 알고리즘은 라운드 연산에 의하여 암호화를 수행하며, 각 라운드 연산은 치환(substitution) 연산 및 확산 (diffusion) 연산으로 이루어진다.The number of rounds and key size of the Aria algorithm is recommended to use 12 rounds when the key is 16 bytes, 14 rounds when the key is 24 bytes, and 16 rounds when the key is 32 bytes. The aria algorithm performs encryption by round operations, and each round operation consists of a substitution operation and a diffusion operation.
또한, AES(Advanced Encryption Standard)-CCM(CTR with CBC-MAC)은 미국 표준 대칭키 암호인 AES를 이용한 암호화 및 인증이 가능한 암호 알고리즘이다. AES-CCM은 메시지 인증코드를 연쇄하는 암호블록 CBC-MAC동작 모드와 메시지 암호화 블록인 CTR(카운터 : Counter)동작모드를 결합한 암호모드이다. In addition, AES (Advanced Encryption Standard) -CCM (CTR with CBC-MAC) is an encryption algorithm that can be encrypted and authenticated using AES, a US standard symmetric key cryptography. AES-CCM is an encryption mode that combines CBC-MAC operation mode, which is a chain of message authentication codes, and CTR (counter: counter) operation mode, which is a message encryption block.
AES-CCM의 장점은 설정 가능한 보안 레벨에 따라 암호화만을 위한 모드, 인증만을 위한 모드, 암호화 인증이 동시에 가능한 모드를 다양하게 지원한다. 또한, 고정된 길이의 인증 태그보다 다양한 길이의 인증 태그를 지원하기 때문에 다양한 개발환경에 유용하다.The advantage of AES-CCM is that it supports various modes for encryption only, authentication only mode, and encryption authentication at the same time, depending on the security level that can be set. In addition, since it supports authentication tags of various lengths rather than fixed length authentication tags, it is useful in various development environments.
종래의 AES-CCM은 암호 해독에 의해 알려진 기능을 사용하지만 암호화 및 데이터의 무결성을 위해 두 가지 작업이 필요하다는 약점을 갖고 있다. 따라서 컴퓨팅 비용이 많이 들고 암호화 프로세스에 상당히 많은 비용이 소요되는 문제점이 있다. Conventional AES-CCM uses a function known by decryption but has the disadvantage of requiring two tasks for encryption and data integrity. Therefore, there is a problem that the computing cost is high and the encryption process is quite expensive.
근래의 무선통신에 보안기능이 중요한 이슈로 떠오르면서 데이터 보호와 데이터 인증이 가능한 AES-CCM은 미국 표준 대칭키 암호인 AES를 사용하므로, 국내 실정에 맞는 데이터 보호와 데이터 인증이 가능한 국내표준 대칭키 암호인 ARIA를 사용하는 암호 알고리즘의 필요성이 중요하게 대두된다. AES-CCM, which enables data protection and data authentication, has emerged as an important issue for wireless communication in recent years, so it uses AES, the American standard symmetric key cryptography, so that domestic standard symmetric key that enables data protection and data authentication according to the domestic situation The need for cryptographic algorithms using ARIA, which is cryptographic, is important.
이와 같은 목적을 달성하기 위한 본 발명에 따른 암호화 방법은 Encryption method according to the present invention for achieving the above object
입력된 초기 값(nonce)에 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산하여 씨드 데이터를 형성하고, 매번 입력되는 128비트의 메시지와 상기 씨드 데이터를 XOR연산시켜 암호화 하는 암호화 모드 단계; It increases the counter value by 1 for each message input unit (128 bits) to the input initial value and generates arithmetic operation to form seed data, and encrypts the 128-bit input message and the seed data by XOR operation every time. Encryption mode step;
입력된 초기 값(nonce)과 메시지(message)를 128비트로 블록화 되어 출력된 데이터를 아리아 연산하며, 아리아 연산된 데이터를 블록화 되어 출력된 데이터의 다음 데이터와 XOR연산 하고 난 다음, XOR연산된 데이터를 다시 아리아 연산하는 과정을 입력된 메시지의 길이만큼 수행하여 최종 128비트의 데이터를 출력하는 인증모드 단계; 및 Aria operation is performed on the inputted initial value and message by 128 bits, and the aria operation is performed on the aria calculation data by blocking the aria operation data with the next data of the output data, and then XOR operation is performed. An authentication mode step of outputting the last 128 bits of data by performing an aria operation again as long as the input message length; And
암호화 모드 단계 및 인증 모드 단계를 선택적 또는 동시에 수행하도록 하는 제어단계를 포함한다. And a control step for selectively or simultaneously performing an encryption mode step and an authentication mode step.
또한, 본 발명에 따른 암호화시스템은,In addition, the encryption system according to the present invention,
인증모드의 선택, 암호화모드의 선택, 인증 및 암호화모드의 선택, 인증태그의 길이 및 암호화할 메시지를 입력받기 위한 입력부; An input unit for selecting an authentication mode, selecting an encryption mode, selecting an authentication and encryption mode, a length of an authentication tag, and a message to be encrypted;
입력부의 출력측에 접속되어 인증태그 연산을 위한 인증모드에서 입력 데이 터를 생성하기 위한 B블록; A B block connected to the output side of the input unit to generate input data in an authentication mode for authentication tag operation;
입력부에서 입력된 초기 값(nonce)에 카운터의 값을 덧붙여서 128비트의 데이터를 생성하여 입력부를 통하여 입력된 메시지의 암호화를 담당하는 암호화 모드에 사용되는 카운터블록; A counter block used for an encryption mode in which 128 bits of data are added by adding a counter value to an initial value input by an input unit and used for encryption of a message input through the input unit;
B블록 및 카운터블록에서 출력된 데이터를 MUX를 통하여 입력받으며, 키를 입력받아 초기화과정을 거쳐 키 확장을 수행하는 키확장부, 라운드 키를 생성하여 라운드 키 생성부, 라운드 키를 입력받아 암호화 하는 라운드 함수부로 구성되어 평문을 암호화로 변경시키는 아리아 연산블록;Receives data from B block and counter block through MUX, receives key and initializes key expansion unit to perform key expansion, round key to generate round key generator, round key to encrypt An aria operation block composed of a round function unit for converting plain text into encryption;
입력부에서 입력된 보안 등급의 선택에 따라 인증태그의 길이를 결정하고 인증모드, 암호화모드, 인증 및 암호모드에 따라 B블록, 카운터블록) 및 아리아 연산블록의 동작을 제어하기 위한 제어부; 및 A controller for determining the length of the authentication tag according to the selection of the security level input by the input unit and controlling the operations of the B block, the counter block) and the aria operation block according to the authentication mode, encryption mode, authentication and encryption mode; And
아리아 연산블록의 출력측에 접속되어, 제어부의 제어에 따라 연산이 종료된 인증태그와 암호문을 저장하고 출력하기 위한 출력부를 포함한다. It is connected to the output side of the aria operation block, and includes an output unit for storing and outputting the authentication tag and the cipher text, the operation is completed under the control of the control unit.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 시스템은 ARIA 블록 암호를 이용하여 암호운용 모드 중 두 가지 운용모드를 혼용하여 인증 또는 암호화 모드와 인증 및 암호화 모드가 가능하고 ARIA의 암호ㅇ복호화 회로 중 암호화 회로만 사용함으로써 무선 환경에 적합한 크기의 암호 알고리즘을 설계할 수 있다. Aria encryption method and system capable of data encryption and authentication according to the present invention is capable of authentication or encryption mode and authentication and encryption mode by using two operating modes of the encryption operation mode using ARIA block cipher, encryption and decryption of ARIA By using only the encryption circuit among the circuits, it is possible to design an encryption algorithm of a size suitable for a wireless environment.
따라서, 외국의 첨단 정보보호 기술의 수출규제 정책으로 선진기술도입에 의 한 국내 정보보호 기술의 발전은 어렵운 추세에서, 국내 정보보호 기술인 국내표준암호알고리즘 ARIA를 이용한 ARIA-CCM은 국제 사회의 글로벌화에 따라 국내 기밀 정보 보호의 향상을 증진시킨다.Therefore, the development of domestic information protection technology is difficult due to the introduction of advanced technology due to the export control policy of foreign advanced information security technology. ARIA-CCM using domestic standard encryption algorithm ARIA, a domestic information protection technology, is a globalization of the international society. Promote the improvement of domestic confidential information protection.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 시스템은 표준 대칭키 암호인 ARIA를 이용하여 암호화와 인증이 모두 가능하게 하기 위하여 ARIA 암호를 코어(core)로 사용하여 주변에 인증 동작모드와 암호화동작모드 두 가지 모드를 결합하였다. 보안 등급(Security level)에 따라 인증모드 동작만 하는 인증기능, 암호화모드 동작만하는 암호화기능, 인증과 암호화 두 가지 동작을 하는 인증 및 암호 기능들을 선택할 수 있다.Aria encryption method and system capable of data encryption and authentication according to the present invention uses an ARIA cipher as a core to enable both encryption and authentication using ARIA which is a standard symmetric key cipher. Encryption operation mode Two modes are combined. Depending on the security level (authentication), you can select the authentication function that operates only in authentication mode, the encryption function that operates only in encryption mode, and the authentication and encryption functions that operate in both authentication and encryption.
2004년 12월 국내 표준(KS)으로 제정된 블록암호인 ARIA 암호 알고리즘은 데이터는 128비트의 구조를 가지며 키의 종류는 128비트, 192비트, 256비트 3종류를 가진다. ARIA encryption algorithm, which is a block cipher established by the domestic standard (KS) in December 2004, has a 128-bit structure and three kinds of keys: 128-bit, 192-bit, and 256-bit.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 시스템은 128비트 한 종류만의 키를 갖으며, 암호화, 인증, 인증 및 암호화기능의 세 가지 모드 중에서 사용자가 선택하도록 구성된다. 128비트의 구조이기 때문에 최대 128비트의 인증코드가 가능하고 64비트, 32비트의 인증코드를 선택 가능하여 다양한 태그의 길이가 가능하여 무선통신상에서의 보안기능에 적합하다.Aria encryption method and system capable of data encryption and authentication according to the present invention has a 128-bit key, and is configured to be selected by the user from three modes of encryption, authentication, authentication and encryption. Because of the 128-bit structure, up to 128-bit authentication code is possible and 64-bit and 32-bit authentication codes can be selected to enable various tag lengths, which is suitable for security functions in wireless communication.
본 발명은 도1에서 보는 바와 같이, 입력을 받는 입력부 (110), 인증모드에 사용되는 B블록(120), 암호화모드에 사용되는 카운터블록(130), 암호화 연산을 담당하는 아리아 연산블록(140), 최종 데이터 출력을 담당하는 출력부(150), 그리고 제어부(160)로 구성된다. As shown in Figure 1, the
인증모드와 암호화모드 두 가지 모드를 지원하기 때문에 인증모드에서는 입력부(110), B블록(120), 아리아 연산 블록(140), 제어부(160) 및 출력부(150)이 사용되며, 암호화모드에서는 입력부(110), 카운터블록(130), 아리아 연산 블록(140), 제어부(160) 및 출력부(150)가 사용된다. In the authentication mode, the
여기서, 입력부(110)의 입력핀은 도 2에서 보는 바와 같이, 데이터의 입력을 받아들이는 부분으로, EN_DE는 암호화기능과 복호화 기능을 선택하는 신호가 입력되며, KEY는 아리아(ARIA)에서 암호화할 때 사용되는 키 값이 입력된다. As shown in FIG. 2, the input pin of the
CCM_START는 ARIA-CCM회로의 시작을 알려주는 신호이며, NONCE는 B블록(120) 및 카운터블록(130)에서 사용하는 약속된 초기 값이다. 보안 등급(Security level)은 입력 값에 따라 인증기능(CBC-MAC모드만 사용), 암호화기능(카운터 모드만 사용), 인증 및 암호화 기능(CBC-MAC과 카운터 모드를 모두 사용)을 선택하고 또 인증태그의 길이를 128비트, 64비트, 32비트 중에 선택할 수 있게 한다. MESSAGE는 암호화 기능일 때는 평문이 입력되고, 복호화 기능일 때는 암호문이 입력된다. CCM_START is a signal indicating the start of the ARIA-CCM circuit, and NONCE is a promised initial value used in the
또한, 카운터블록(130)은 도3에서 보는 바와 같이, 입력부(110)에서 입력된 메시지의 암호화를 담당하는 암호화모드에 사용된다. 카운터블록(130)은 입력부(110)에서 입력된 초기 값(nonce)에 카운터의 값을 덧붙여서 128비트의 데이터를 생성한다. 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산 블록(140)을 통해 암호화한다. 매번 입력된 128비트의 메시지(message)와 씨드(Seed)데이터를 XOR연산부(142)를 통하여 XOR연산시켜 암호화 한다. In addition, as shown in FIG. 3, the
그리고, B블록(120)은 인증태그 연산을 위한 인증모드에서 아리아 연산 블록(140)의 입력 데이터를 생성한다. 입력부(110)에서 입력된 초기 값(nonce)과 메시지(message)를 128비트로 블록화 하여 출력한다. B블록(120)에서 출력된 데이터는 아리아 연산 블록(140)으로 입력되며, 아리아 연산 블록(140)을 통과한 데이터는 다시 B블록(120)에서 생성된 다음 데이터와 XOR연산부(142)를 통하여 XOR연산하여 아리아 연산 블록(140)으로 입력된다. The
B블록(120), XOR연산부(142) 및 아리아 연산 블록(140)의 연산과정을 입력된 메시지의 길이만큼 수행하게 되면 최종 128비트의 데이터를 출력하게 되고 이 데이터를 인증태그로 사용한다. When the calculation process of the
아리아 연산 블록(140)은 도 5에서 보는 바와 같이 키 확장부(152), 라운드 키 생성부(154) 및 암호화 라운드 함수부(156)로 구성된다. 키 확장부(152)에서는 키를 입력받아 초기화과정을 거쳐 키 확장을 수행하고, 라운드 키 생성부(154)를 통하여 라운드 키를 생성하여 각 라운드의 암호화 라운드 함수부(156)에 라운드 키 를 입력하여 평문을 암호화로 변경시키는 최종 출력을 얻게 된다. As shown in FIG. 5, the
제어부(160)는 각 블록의 제어기능을 담당하며, 특히 입력부(110)에서 입력된 보안 등급의 선택에 따라 인증태그의 길이를 결정하고 세 가지 기능(인증, 암호화, 인증 및 암호화)을 결정한다. The
출력부(150)는 연산을 끝마친 인증태그와 암호문을 저장하고 출력하는 데, 출력핀중 CCM_DONE은 장치의 연산과정의 모든 연산이 끝났음을 알려주는 신호이며, DOUT_VALID는 유효한 출력데이터가 출력된다는 것을 알려주는 신호이고, MSG_IN은 메시지 입력이 유효한 상태임을 알려주는 신호이다. 또한, NONCE_IN은 초기 값인 nonce의 입력이 유효한 상태임을 알려주는 신호이며, BUSY는 장치의 연산이 진행 중임을 나타내는 신호이고, DOUT은 최종 출력되는 암호문과 인증태그 값을 나타낸다. The
이와 같이 구성된 본 발명에 따른 아리아 암호화 방법 및 시스템의 상세한 동작은 다음과 같다. Detailed operations of the aria encryption method and system according to the present invention configured as described above are as follows.
본 발명에 따른 아리아 암호화 방법 및 시스템은 암호화 모드와 인증모드 두 가지 모드를 제공하여 보안 등급에 따라 이 두 모드를 선택적으로 운용할 수 있다. 암호화 모드만 선택할 수 있고 인증 모드만 선택할 수도 있고 또 인증모드와 암호화 모드 둘을 동시에 사용할 수도 있다.The aria encryption method and system according to the present invention can provide two modes of encryption mode and authentication mode to selectively operate the two modes according to the security level. You can select only the encryption mode, only the authentication mode, or use both authentication and encryption modes at the same time.
데이터의 암호화 부분을 담당하는 암호화모드는 도 7에서 보는 바와 같이, 입력부(110)를 통하여 입력된 임의의 데이터 값을 아리아 연산블록(140)을 통해 암호화하고 암호화된 데이터를 씨드값으로 사용한다. 이 씨드(Seed)값과 암호화할 평문을 XOR연산하여 암호문을 생성한다.As shown in FIG. 7, the encryption mode in charge of the encryption portion of the data encrypts an arbitrary data value input through the
즉, 입력부(110)에서 입력된 초기 값(nonce)은 카운터블록(130)에 입력되어 카운터의 값을 덧붙여서 128비트의 데이터를 생성한다. 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산 블록(140)을 통하여 암호화하여 씨 드 데이터를 형성하고, 매번 입력된 128비트의 메시지(message)와 씨드(Seed)데이터를 XOR연산부(142)를 통하여 XOR연산시켜 암호화 하는 것이다. That is, the initial value (nonnce) input from the
또한, 이후의 평문을 암호화하기 위해 같은 동작을 반복하는데 이때는 아리아 연산 블록(140)에 입력되는 임의의 데이터 값에 1씩 증가시킨다. 송신측 장치에서 암호화된 데이터를 수신측의 장치에서 받아 복호화하는 동작도 암호화와 동일하다. In addition, the same operation is repeated to encrypt subsequent plain text, in which case the value is incremented by 1 for any data value input to the
복호화하는 수신측 장치가 암호화 하는 송신측 장치와 다른 점은 씨드값에 평문대신 암호문을 XOR연산하는 데, 씨드값이 동일한 경우 암호문을 입력하면 평문으로 복호화 시킬 수 있다. The difference between the decrypting receiving apparatus and the transmitting apparatus encrypting is that XOR operation is performed on the seed value instead of the plain text. If the seed value is the same, the ciphertext can be decrypted by the plain text.
데이터의 인증 부분을 담당하는 인증모드는 도 8에서 보는 바와 같이, 체인구조를 가지며, 인증 코드의 길이는 128비트 이내에서 가변적이고 보안등급에 따라 외부에서 선택하여 사용할 수 있다. 즉, 아리아 연산 블록(140)에 입력되는 B 데이터를 생성하는 B블록(120)은 아리아 연산 블록(140)의 입력 데이터를 생성한다. B블록(120)에서 출력된 데이터는 아리아 연산 블록(140)으로 입력되며, 아리아 연산 블록(140)을 통과한 데이터는 다시 B블록(120)에서 생성된 다음 데이터와 XOR연산부(142)를 통하여 XOR연산하여 아리아 연산 블록(140)으로 입력되는 체인 구조를 갖는 것이다.As shown in FIG. 8, the authentication mode in charge of the authentication part of the data has a chain structure, and the length of the authentication code is variable within 128 bits and can be selected from the outside according to the security level. That is, the B block 120 generating the B data input to the
B블록(120), XOR연산부(142) 및 아리아 연산 블록(140)의 연산과정을 입력된 메시지의 길이만큼 수행하게 되면 최종 128비트의 데이터를 출력하게 되고 이 데이터를 인증태그로 사용한다.When the calculation process of the
본 발명에 따른 아리아 암호화 방법 및 시스템은 도 9에서 보는 바와 같이, 입력부(110)와 출력부(150)가 정의된다. <표 1>은 이 입출력에 관한 설명을 나타낸다. 또한, 본 발명에 다른 시스템은 <표 2>에서와 같이 보안 등급에 따라 인증만 하는 모드와 암호화와 하는 모드 그리고 인증과 암호를 동시에 하는 모드를 결정할 수 있다.
<표 1> 본 발명에 따른 입/출력부의 동작상태 In the aria encryption method and system according to the present invention, as shown in FIG. 9, an
<Table 1> Operation state of the input / output unit according to the present invention
<표 2> 보안 등급에 따른 출력 값 정의<Table 2> Output value definition according to security level
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템의 일실시예는 아리아 연산 블록(140), B블록(120), 카운터 블록(130), 및 제어부(160)의 4가지 기능 블록을 중심으로 그 주변에 레지스터와 MUX로 구성되어있다. 아리아 연산 블록은 B블록(120)과 카운터블록(130)에서 생성하는 데이터를 키 값을 이용하여 암호화 연산한다. An embodiment of the aria encryption system capable of data encryption and authentication according to the present invention is centered around four functional blocks of the
삭제delete
암호화 기능은 B블록(120)에서 입력부(110)로부터 nonce(초기값), A_data, 메세지를 입력받아 CBC-MAC모드를 이용하여 인증태그를 생성한다. 카운터 블록(130)은 nonce(초기값)에 카운터를 덧붙여 메세지가 들어올 때마다 카운터의 값을 1씩 증가시킨다. 이렇게 생성된 값이 아리아 연산 블록(140)을 통해 암호화 되고 암호화된 값은 메세지와 XOR하여 암호문을 만들어낸다. The encryption function receives a nonce (initial value), A_data, and a message from the
이와 같이 생성된 인증태그와 암호문은 보안등급에 따른 모드 선택에 따라 인증모드일 경우 인증태그만 출력하고, 암호화 모드일 경우 암호문만 출력하고, 인증 및 암호화모드일 경우 인증 태그와 암호문을 같이 출력한다.The authentication tag and the ciphertext generated as described above output only the authentication tag in the authentication mode according to the mode selection according to the security level, only the ciphertext in the encryption mode, and output the authentication tag and the ciphertext together in the authentication and encryption mode. .
이상에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다.Although the preferred embodiments of the present invention have been described in detail with reference to the accompanying drawings, the present invention is not limited thereto and may be improved or modified by those skilled in the art within the scope of the technical idea of the present invention.
도 1은 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템의 구조를 보여주기 위한 블록도이다. 1 is a block diagram showing the structure of an aria encryption system capable of data encryption and authentication according to the present invention.
도 2는 도 1에서 입력부의 구조를 보여주기 위한 블록도이다.FIG. 2 is a block diagram illustrating a structure of an input unit in FIG. 1.
도 3은 도 1에서 암호화 모드에서 사용되는 블록들의 전체 구조에서 보여주기 위한 도면이다.FIG. 3 is a diagram illustrating the overall structure of blocks used in the encryption mode in FIG. 1.
도 4는 도 1에서 인증 모드에서 사용되는 블록들의 전체 구조에서 보여주기 위한 도면이다.FIG. 4 is a diagram illustrating the overall structure of blocks used in the authentication mode in FIG. 1.
도 5는 도 1에서 아리아 연산 블록의 구조 및 동작을 보여주기 위한 블록도이다.FIG. 5 is a block diagram illustrating the structure and operation of an aria operation block in FIG. 1.
도 6은 도 1에서 출력부의 구조를 보여주기 위한 블록도이다.FIG. 6 is a block diagram illustrating a structure of an output unit in FIG. 1.
도 7은 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템에서 암호화 모드의 동작을 설명하기 위한 블록도이다.7 is a block diagram illustrating the operation of the encryption mode in the aria encryption system capable of data encryption and authentication according to the present invention.
도 8은 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템에서 인증모드의 동작을 설명하기 위한 블록도이다.8 is a block diagram illustrating the operation of the authentication mode in the aria encryption system capable of data encryption and authentication according to the present invention.
도 9는 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템에서 입/출력의 동작을 설명하기 위한 블록도이다.9 is a block diagram illustrating an operation of input / output in an Aria encryption system capable of data encryption and authentication according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
110 : 입력부 120 : B 블록 110: input unit 120: B block
130 : 카운터 블록 140 : 아리아 연산 블록130: counter block 140: aria operation block
150 : 출력부 152 : 키 확장부150: output unit 152: key expansion unit
154 : 라운드 키 생성부 156 : 암호화 라운드부154: round key generation unit 156: encryption round unit
160 : 제어부160: control unit
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070086912A KR100933312B1 (en) | 2007-08-29 | 2007-08-29 | Aria encryption method capable of data encryption and authentication, and a system for performing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070086912A KR100933312B1 (en) | 2007-08-29 | 2007-08-29 | Aria encryption method capable of data encryption and authentication, and a system for performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090021972A KR20090021972A (en) | 2009-03-04 |
KR100933312B1 true KR100933312B1 (en) | 2009-12-22 |
Family
ID=40691931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070086912A KR100933312B1 (en) | 2007-08-29 | 2007-08-29 | Aria encryption method capable of data encryption and authentication, and a system for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100933312B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100978001B1 (en) * | 2010-03-15 | 2010-08-26 | 주식회사 유비즈코아 | Imformation protect and equipment manage system for applying aria algorithim and method of the same |
KR102457166B1 (en) | 2020-11-23 | 2022-10-20 | 부산대학교 산학협력단 | Hardware module and its control method with a 32bit instruction extension for processor supporting ARIA encryption and decryption |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070021883A (en) * | 2005-08-19 | 2007-02-23 | 한국전자통신연구원 | ARIA crypto module and method |
KR20070060882A (en) * | 2005-12-09 | 2007-06-13 | 한국전자통신연구원 | Aria encoding/decoding apparatus and method and method for genearating initialization keys for the same |
KR20070063713A (en) * | 2005-12-15 | 2007-06-20 | 주식회사 팬택앤큐리텔 | Block encryption apparatus for using the aria algorithm |
-
2007
- 2007-08-29 KR KR1020070086912A patent/KR100933312B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070021883A (en) * | 2005-08-19 | 2007-02-23 | 한국전자통신연구원 | ARIA crypto module and method |
KR20070060882A (en) * | 2005-12-09 | 2007-06-13 | 한국전자통신연구원 | Aria encoding/decoding apparatus and method and method for genearating initialization keys for the same |
KR20070063713A (en) * | 2005-12-15 | 2007-06-20 | 주식회사 팬택앤큐리텔 | Block encryption apparatus for using the aria algorithm |
Also Published As
Publication number | Publication date |
---|---|
KR20090021972A (en) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9819657B2 (en) | Protection of memory interface | |
US8416947B2 (en) | Block cipher using multiplication over a finite field of even characteristic | |
KR101725847B1 (en) | Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks | |
US8712036B2 (en) | System for encrypting and decrypting a plaintext message with authentication | |
US9166793B2 (en) | Efficient authentication for mobile and pervasive computing | |
US10623176B2 (en) | Authentication encryption method, authentication decryption method, and information-processing device | |
US20060159260A1 (en) | Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network | |
JPH1075240A (en) | Method for protecting data transmission and device for ciphering or deciphering data | |
RU2005104953A (en) | EFFECTIVE ENCRYPTION AND AUTHENTICATION FOR DATA PROCESSING SYSTEMS | |
JP2001007800A (en) | Ciphering device and ciphering method | |
US10148434B2 (en) | Random number generating device, cipher processing device, storage device, and information processing system | |
US20210266175A1 (en) | Device for data encryption and integrity | |
KR100933312B1 (en) | Aria encryption method capable of data encryption and authentication, and a system for performing the same | |
KR100848318B1 (en) | Method and Apparatus for generating user secret key in mobile communication system | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
KR20190037980A (en) | System and method for efficient lightweight block cipher in pervasive computing | |
KR20030027459A (en) | Method for encrypting and decrypting transmmited and received facket in wireless lan | |
KR100494560B1 (en) | Real time block data encryption/decryption processor using Rijndael block cipher and method therefor | |
JP2002108205A (en) | Block ciphering method and decoding method | |
JP4611642B2 (en) | Authentication system | |
JP2000004223A (en) | Encryption/authentication system | |
US8908861B2 (en) | AES algorithm-based encryption apparatus and method for mobile communication system | |
Praveen et al. | A highly secured three-phase symmetric cipher technique | |
KR20070063713A (en) | Block encryption apparatus for using the aria algorithm | |
Niharika et al. | Design and implementation of hybrid RC4 and Sha-2 algorithms for WIFI applications |
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: 20121119 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131216 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141210 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151211 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181213 Year of fee payment: 10 |