KR20090021972A - 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템 - Google Patents

데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템 Download PDF

Info

Publication number
KR20090021972A
KR20090021972A KR1020070086912A KR20070086912A KR20090021972A KR 20090021972 A KR20090021972 A KR 20090021972A KR 1020070086912 A KR1020070086912 A KR 1020070086912A KR 20070086912 A KR20070086912 A KR 20070086912A KR 20090021972 A KR20090021972 A KR 20090021972A
Authority
KR
South Korea
Prior art keywords
encryption
authentication
aria
block
mode
Prior art date
Application number
KR1020070086912A
Other languages
English (en)
Other versions
KR100933312B1 (ko
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 KR1020070086912A priority Critical patent/KR100933312B1/ko
Publication of KR20090021972A publication Critical patent/KR20090021972A/ko
Application granted granted Critical
Publication of KR100933312B1 publication Critical patent/KR100933312B1/ko

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/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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/80Wireless

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비트의 데이터를 출력하는 인증모드 단계; 및 암호화 모드 단계 및 인증 모드 단계를 선택적 또는 동시에 수행하도록 하는 제어단계를 포함한다.

Description

데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 이를 수행하기 위한 시스템{method for ARIA encryption possible data code and certification and system for performing the same}
본 발명은 데이터 암호화와 인증이 가능한 아리아(ARIA, Academy Research Institute Agency; 이하 ARIA) 암호화 방법 및 이를 수행하기 위한 시스템에 관한 것으로, 특히 아리아(ARIA) 블록 암호를 이용하여 암호운용 모드 중 인증 또는 암호화 모드와 인증 및 암호화 모드의 혼용이 가능하도록 하며, ARIA의 암호/복호화 회로 중 암호화 회로만 사용함으로써 무선 환경에 적합한 데이터 암호화와 인증이 가능한 ARIA 암호화 방법 및 이를 수행하기 위한 시스템에 관한 것이다.
아리아 암호화 알고리즘은 국가 보안 기술 연구소(National Security Research Institute)에서 개발된 민관 겸용 블록 대칭키 암호화 알고리즘이다. 인터넷을 기반으로 하는 사회 및 경제적 활동이 늘어나면서, 전자 거래의 안전성과 신뢰성, 사용자 프라이버시 보호에 관한 수요가 급증하고 있다.
특히, 전자 정부 구현 등으로 국가기관과 민간(G2C, Government to Citizen) 사이에 자료소통의 필요성이 커지게 되어, 정보보호를 목적으로 블록 대칭키 암호 알고리즘인 아리아(ARIA)가 발표되었다.
아리아(ARIA) 알고리즘의 라운드 수 및 키 크기는, 키가 16바이트 일 때 12라운드, 키가 24바이트 일 때는 14라운드, 키가 32바이트 일 때는 16라운드를 사용하도록 권고하고 있다. 아리아 알고리즘은 라운드 연산에 의하여 암호화를 수행하며, 각 라운드 연산은 치환(substitution) 연산 및 확산 (diffusion) 연산으로 이루어진다.
또한, AES(Advanced Encryption Standard)-CCM(CTR with CBC-MAC)은 미국 표준 대칭키 암호인 AES를 이용한 암호화 및 인증이 가능한 암호 알고리즘이다. AES-CCM은 메시지 인증코드를 연쇄하는 암호블록 CBC-MAC동작 모드와 메시지 암호화 블록인 CTR(카운터 : Counter)동작모드를 결합한 암호모드이다.
AES-CCM의 장점은 설정 가능한 보안 레벨에 따라 암호화만을 위한 모드, 인증만을 위한 모드, 암호화 인증이 동시에 가능한 모드를 다양하게 지원한다. 또한, 고정된 길이의 인증 태그보다 다양한 길이의 인증 태그를 지원하기 때문에 다양한 개발환경에 유용하다.
종래의 AES-CCM은 암호 해독에 의해 알려진 기능을 사용하지만 암호화 및 데이터의 무결성을 위해 두 가지 작업이 필요하다는 약점을 갖고 있다. 따라서 컴퓨팅 비용이 많이 들고 암호화 프로세스에 상당히 많은 비용이 소요되는 문제점이 있다.
근래의 무선통신에 보안기능이 중요한 이슈로 떠오르면서 데이터 보호와 데이터 인증이 가능한 AES-CCM은 미국 표준 대칭키 암호인 AES를 사용하므로, 국내 실정에 맞는 데이터 보호와 데이터 인증이 가능한 국내표준 대칭키 암호인 ARIA를 사용하는 암호 알고리즘의 필요성이 중요하게 대두된다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 암호화 방법은
입력된 초기 값(nonce)에 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산하여 씨드 데이터를 형성하고, 매번 입력되는 128비트의 메시지와 상기 씨드 데이터를 XOR연산시켜 암호화 하는 암호화 모드 단계;
입력된 초기 값(nonce)과 메시지(message)를 128비트로 블록화 하고, 상기 출력된 데이터를 상기 아리아 연산하며, 아리아 연산된 데이터를 상기 블록화 된 다음 데이터와 XOR연산하여 하고 난 다음, XOR연산된 데이터를 다시 아리아 연산하는 과정을 입력된 메시지의 길이만큼 수행하여 최종 128비트의 데이터를 출력하는 인증모드 단계; 및
암호화 모드 단계 및 인증 모드 단계를 선택적 또는 동시에 수행하도록 하는 제어단계를 포함한다.
또한, 본 발명에 따른 암호화시스템은,
인증모드, 암호화모드, 인증 및 암호화모드의 선택, 인증태그의 길이 및 암호화할 메시지를 입력받기 위한 입력부;
입력부의 출력측에 접속되어 인증태그 연산을 위한 인증모드에서 입력 데이 터를 생성하기 위한 B블록;
입력부에서 입력된 초기 값(nonce)에 카운터의 값을 덧붙여서 128비트의 데이터를 생성하여 입력부를 통하여 입력된 메시지의 암호화를 담당하는 암호화 모드에 사용되는 카운터블록;
B블록 및 카운터블록에서 출력된 데이터를 MUX를 통하여 입력받으며, 키를 입력받아 초기화과정을 거쳐 키 확장을 수행하는 키확장부, 라운드 키를 생성하여 라운드 키 생성부, 라운드 키를 입력받아 암호화 하는 라운드 함수부로 구성되어 평문을 암호화로 변경시키는 아리아 연산블록;
입력부에서 입력된 보안 등급의 선택에 따라 인증태그의 길이를 결정하고 인증모드, 암호화모드, 인증 및 암호모드에 따라 상기 각 블록의 기능을 제어하기 위한 제어부; 및
아리아 연산블록의 출력측에 접속되어, 제어부의 제어에 따라 연산이 종료된 인증태그와 암호문을 저장하고 출력하기 위한 출력부를 포함한다.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 시스템은 ARIA 블록 암호를 이용하여 암호운용 모드 중 두 가지 운용모드를 혼용하여 인증 또는 암호화 모드와 인증 및 암호화 모드가 가능하고 ARIA의 암호ㅇ복호화 회로 중 암호화 회로만 사용함으로써 무선 환경에 적합한 크기의 암호 알고리즘을 설계할 수 있다.
따라서, 외국의 첨단 정보보호 기술의 수출규제 정책으로 선진기술도입에 의 한 국내 정보보호 기술의 발전은 어렵운 추세에서, 국내 정보보호 기술인 국내표준암호알고리즘 ARIA를 이용한 ARIA-CCM은 국제 사회의 글로벌화에 따라 국내 기밀 정보 보호의 향상을 증진시킨다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 시스템은 표준 대칭키 암호인 ARIA를 이용하여 암호화와 인증이 모두 가능하게 하기 위하여 ARIA 암호를 코어(core)로 사용하여 주변에 인증 동작모드와 암호화동작모드 두 가지 모드를 결합하였다. 보안 등급(Security level)에 따라 인증모드 동작만 하는 인증기능, 암호화모드 동작만하는 암호화기능, 인증과 암호화 두 가지 동작을 하는 인증 및 암호 기능들을 선택할 수 있다.
2004년 12월 국내 표준(KS)으로 제정된 블록암호인 ARIA 암호 알고리즘은 데이터는 128비트의 구조를 가지며 키의 종류는 128비트, 192비트, 256비트 3종류를 가진다.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및 시스템은 128비트 한 종류만의 키를 갖으며, 암호화, 인증, 인증 및 암호화기능의 세 가지 모드 중에서 사용자가 선택하도록 구성된다. 128비트의 구조이기 때문에 최대 128비트의 인증코드가 가능하고 64비트, 32비트의 인증코드를 선택 가능하여 다양한 태그의 길이가 가능하여 무선통신상에서의 보안기능에 적합하다.
본 발명은 도1에서 보는 바와 같이, 입력을 받는 입력부 (110), 인증모드에 사용되는 B블록(120), 암호화모드에 사용되는 카운터블록(130), 암호화 연산을 담당하는 아리아 연산블록(140), 최종 데이터 출력을 담당하는 출력부(150), 그리고 제어부(160)로 구성된다.
인증모드와 암호화모드 두 가지 모드를 지원하기 때문에 인증모드에서는 입력부(110), B블록(120), 아리아 연산 블록(140), 제어부(160) 및 출력부(150)이 사용되며, 암호화모드에서는 입력부(110), 카운터블록(130), 아리아 연산 블록(140), 제어부(160) 및 출력부(150)가 사용된다.
여기서, 입력부(110)의 입력핀은 도 2에서 보는 바와 같이, 데이터의 입력을 받아들이는 부분으로, EN_DE는 암호화기능과 복호화 기능을 선택하는 신호가 입력되며, KEY는 아리아(ARIA)에서 암호화할 때 사용되는 키 값이 입력된다.
CCM_START는 ARIA-CCM회로의 시작을 알려주는 신호이며, NONCE는 B블록(120) 및 카운터블록(130)에서 사용하는 약속된 초기 값이다. 보안 등급(Security level)은 입력 값에 따라 인증기능(CBC-MAC모드만 사용), 암호화기능(카운터 모드만 사용), 인증 및 암호화 기능(CBC-MAC과 카운터 모드를 모두 사용)을 선택하고 또 인증태그의 길이를 128비트, 64비트, 32비트 중에 선택할 수 있게 한다. MESSAGE는 암호화 기능일 때는 평문이 입력되고, 복호화 기능일 때는 암호문이 입력된다.
또한, 카운터블록(130)은 도3에서 보는 바와 같이, 입력부(110)에서 입력된 메시지의 암호화를 담당하는 암호화모드에 사용된다. 카운터블록(130)은 입력부(110)에서 입력된 초기 값(nonce)에 카운터의 값을 덧붙여서 128비트의 데이터를 생성한다. 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산 블록(140)을 통해 암호화한다. 매번 입력된 128비트의 메시지(message)와 씨드(Seed)데이터를 XOR연산부(142)를 통하여 XOR연산시켜 암호화 한다.
그리고, B블록(120)은 인증태그 연산을 위한 인증모드에서 아리아 연산 블록(140)의 입력 데이터를 생성한다. 입력부(110)에서 입력된 초기 값(nonce)과 메시지(message)를 128비트로 블록화 하여 출력한다. B블록(120)에서 출력된 데이터는 아리아 연산 블록(140)으로 입력되며, 아리아 연산 블록(140)을 통과한 데이터는 다시 B블록(120)에서 생성된 다음 데이터와 XOR연산부(142)를 통하여 XOR연산하여 아리아 연산 블록(140)으로 입력된다.
B블록(120), XOR연산부(142) 및 아리아 연산 블록(140)의 연산과정을 입력된 메시지의 길이만큼 수행하게 되면 최종 128비트의 데이터를 출력하게 되고 이 데이터를 인증태그로 사용한다.
아리아 연산 블록(140)은 도 5에서 보는 바와 같이 키 확장부(152), 라운드 키 생성부(154) 및 암호화 라운드 함수부(156)로 구성된다. 키 확장부(152)에서는 키를 입력받아 초기화과정을 거쳐 키 확장을 수행하고, 라운드 키 생성부(154)를 통하여 라운드 키를 생성하여 각 라운드의 암호화 라운드 함수부(156)에 라운드 키 를 입력하여 평문을 암호화로 변경시키는 최종 출력을 얻게 된다.
제어부(160)는 각 블록의 제어기능을 담당하며, 특히 입력부(110)에서 입력된 보안 등급의 선택에 따라 인증태그의 길이를 결정하고 세 가지 기능(인증, 암호화, 인증 및 암호화)을 결정한다.
출력부(150)는 연산을 끝마친 인증태그와 암호문을 저장하고 출력하는 데, 출력핀중 CCM_DONE은 장치의 연산과정의 모든 연산이 끝났음을 알려주는 신호이며, DOUT_VALID는 유효한 출력데이터가 출력된다는 것을 알려주는 신호이고, MSG_IN은 메시지 입력이 유효한 상태임을 알려주는 신호이다. 또한, NONCE_IN은 초기 값인 nonce의 입력이 유효한 상태임을 알려주는 신호이며, BUSY는 장치의 연산이 진행 중임을 나타내는 신호이고, DOUT은 최종 출력되는 암호문과 인증태그 값을 나타낸다.
이와 같이 구성된 본 발명에 따른 아리아 암호화 방법 및 시스템의 상세한 동작은 다음과 같다.
본 발명에 따른 아리아 암호화 방법 및 시스템은 암호화 모드와 인증모드 두 가지 모드를 제공하여 보안 등급에 따라 이 두 모드를 선택적으로 운용할 수 있다. 암호화 모드만 선택할 수 있고 인증 모드만 선택할 수도 있고 또 인증모드와 암호화 모드 둘을 동시에 사용할 수도 있다.
데이터의 암호화 부분을 담당하는 암호화모드는 도 7에서 보는 바와 같이, 입력부(110)를 통하여 입력된 임의의 데이터 값을 아리아 연산블록(140)을 통해 암호화하고 암호화된 데이터를 씨드값으로 사용한다. 이 씨드(Seed)값과 암호화할 평문을 XOR연산하여 암호문을 생성한다.
즉, 입력부(110)에서 입력된 초기 값(nonce)은 카운터블록(130)에 입력되어 카운터의 값을 덧붙여서 128비트의 데이터를 생성한다. 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산 블록(140)을 통하여 암호화하여 씨 드 데이터를 형성하고, 매번 입력된 128비트의 메시지(message)와 씨드(Seed)데이터를 XOR연산부(142)를 통하여 XOR연산시켜 암호화 하는 것이다.
또한, 이후의 평문을 암호화하기 위해 같은 동작을 반복하는데 이때는 아리아 연산 블록(140)에 입력되는 임의의 데이터 값에 1씩 증가시킨다. 송신측 장치에서 암호화된 데이터를 수신측의 장치에서 받아 복호화하는 동작도 암호화와 동일하다.
복호화하는 수신측 장치가 암호화 하는 송신측 장치와 다른 점은 씨드값에 평문대신 암호문을 XOR연산하는 데, 씨드값이 동일한 경우 암호문을 입력하면 평문으로 복호화 시킬 수 있다.
데이터의 인증 부분을 담당하는 인증모드는 도 8에서 보는 바와 같이, 체인구조를 가지며, 인증 코드의 길이는 128비트 이내에서 가변적이고 보안등급에 따라 외부에서 선택하여 사용할 수 있다. 즉, 아리아 연산 블록(140)에 입력되는 B 데이터를 생성하는 B블록(120)은 아리아 연산 블록(140)의 입력 데이터를 생성한다. B블록(120)에서 출력된 데이터는 아리아 연산 블록(140)으로 입력되며, 아리아 연산 블록(140)을 통과한 데이터는 다시 B블록(120)에서 생성된 다음 데이터와 XOR연산부(142)를 통하여 XOR연산하여 아리아 연산 블록(140)으로 입력되는 체인 구조를 갖는 것이다.
B블록(120), XOR연산부(142) 및 아리아 연산 블록(140)의 연산과정을 입력된 메시지의 길이만큼 수행하게 되면 최종 128비트의 데이터를 출력하게 되고 이 데이터를 인증태그로 사용한다.
본 발명에 따른 아리아 암호화 방법 및 시스템은 도 9에서 보는 바와 같이, 입력부(110)와 출력부(150)가 정의된다. <표 1>은 이 입출력에 관한 설명을 나타낸다. 또한, 본 발명에 다른 시스템은 <표 2>에서와 같이 보안 등급에 따라 인증만 하는 모드와 암호화와 하는 모드 그리고 인증과 암호를 동시에 하는 모드를 결정할 수 있다.
입출력 모드 기능
en_de 입력 암복호화 선택 (0: 암호, 1: 복호)
key 입력 암복호키
ccm_start 입력 CCM 시작 명령 신호
nonce 입력 임의의 서로 약속한 초기 값
security level 입력 <표 2>
A_data 입력 서로 약속된 추가 인증 데이터(가변적인 길이)
message 입력 암호화(송신측) : 평문 복호화(수신측) : 암호문
ccm_done 출력 CCM 완료 신호
dout_valid 출력 출력 메시지 유효 신호
msg_in 출력 메시지 입력 가능 신호
nonce_in 출력 NONCE 입력 가능 신호
busy 출력 AES 동작 중 신호
dout 출력 출력 값 (암호 또는 복호 값)
<표 1> 본 발명에 따른 입/출력부의 동작상태
보안 등급 출력(dout)의 정의
0x00 없음
0x01 32bit 인증태그
0x02 64bit 인증태그
0x03 128bit 인증태그
0x04 암호문
0x05 암호문 | 32bit 인증태그
0x06 암호문 | 64bit 인증태그
0x07 암호문 | 128bit 인증태그
<표 > 보안 등급에 따른 출력 값 정의 입력부 (110), 인증모드에 사용되는 B블록(120), 암호화모드에 사용되는 카운터블록(130), 암호화 연산을 담당하는 아리아 연산블록(140), 최종 데이터 출력을 담당하는 출력부(150), 그리고 제어부(160)로 구성된다.
본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템의 일 실시예는 아리아 연산 블록(140), B블록(120), 카운터 블록(130), 및 제어부(160)의 4가지 기능 블록을 중심으로 그 주변에 레지스터와 MUX로 구성되어있다. 아리아 연산 블록은 B블록(120)과 카운터블록(130)에서 생성하는 데이터를 키 값을 이용하여 암호화 연산한다.
암호화 기능은 B블록(120)에서 입력부(110)로부터 nonce(초기값), A_data, 메세지를 입력받아 CBC-MAC모드를 이용하여 인증태그를 생성한다. 카운터 블록(130)은 nonce(초기값)에 카운터를 덧붙여 메세지가 들어올 때마다 카운터의 값을 1씩 증가시킨다. 이렇게 생성된 값이 아리아 연산 블록(140)을 통해 암호화 되고 암호화된 값은 메세지와 XOR하여 암호문을 만들어낸다.
이와 같이 생성된 인증태그와 암호문은 보안등급에 따른 모드 선택에 따라 인증모드일 경우 인증태그만 출력하고, 암호화 모드일 경우 암호문만 출력하고, 인증 및 암호화모드일 경우 인증 태그와 암호문을 같이 출력한다.
이상에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다.
도 1은 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템의 구조를 보여주기 위한 블록도이다.
도 2는 도 1에서 입력부의 구조를 보여주기 위한 블록도이다.
도 3은 도 1에서 암호화 모드에서 사용되는 블록들의 전체 구조에서 보여주기 위한 도면이다.
도 4는 도 1에서 인증 모드에서 사용되는 블록들의 전체 구조에서 보여주기 위한 도면이다.
도 5는 도 1에서 아리아 연산 블록의 구조 및 동작을 보여주기 위한 블록도이다.
도 6은 도 1에서 출력부의 구조를 보여주기 위한 블록도이다.
도 7은 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템에서 암호화 모드의 동작을 설명하기 위한 블록도이다.
도 8은 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템에서 인증모드의 동작을 설명하기 위한 블록도이다.
도 9는 본 발명에 따른 데이터 암호화와 인증이 가능한 아리아 암호화 시스템에서 입/출력의 동작을 설명하기 위한 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
110 : 입력부 120 : B 블록
130 : 카운터 블록 140 : 아리아 연산 블록
150 : 출력부 152 : 키 확장부
154 : 라운드 키 생성부 156 : 암호화 라운드부
160 : 제어부

Claims (3)

  1. ⅰ)입력된 초기 값(nonce)에 각 메시지 입력단위(128비트)마다 1씩 카운터 값을 증가시켜 아리아 연산하여 씨드 데이터를 형성하고, 매번 입력되는 128비트의 메시지와 상기 씨드 데이터를 XOR연산시켜 암호화 하는 암호화 모드 단계;
    ⅱ)입력된 초기 값(nonce)과 메시지(message)를 128비트로 블록화 하고, 상기 출력된 데이터를 상기 아리아 연산하며, 상기 아리아 연산된 데이터를 상기 블록화 된 다음 데이터와 XOR연산하여 하고 난 다음, 상기 XOR연산된 데이터를 다시 아리아 연산하는 과정을 입력된 메시지의 길이만큼 수행하여 최종 128비트의 데이터를 출력하는 인증모드 단계; 및
    ⅲ)상기 암호화 모드 단계 및 상기 인증 모드 단계를 선택적 또는 동시에 수행하도록 하는 제어단계를 포함하는 데이터 암호화와 인증이 가능한 아리아 암호화 방법.
  2. 제 1 항에 있어서, 상기 아리아 연산은 키를 입력받아 초기화과정을 거쳐 키 확장을 수행하고, 라운드 키를 생성하여 각 라운드의 암호화 라운드 함수에 상기 생성된 라운드 키를 입력하여 평문을 암호화로 변경시키는 연산임을 특징으로 하는 데이터 암호화와 인증이 가능한 아리아 암호화 방법.
  3. 인증모드, 암호화모드, 인증 및 암호화모드의 선택, 인증태그의 길이 및 암 호화할 메시지를 입력받기 위한 입력부(110);
    상기 입력부(110)의 출력측에 접속되어 인증태그 연산을 위한 인증모드에서 입력 데이터를 생성하기 위한 B블록(120);
    상기 입력부(110)에서 입력된 초기 값(nonce)에 카운터의 값을 덧붙여서 128비트의 데이터를 생성하여 상기 입력부(110)를 통하여 입력된 메시지의 암호화를 담당하는 암호화 모드에 사용되는 카운터블록(130);
    상기 B블록(120) 및 카운터블록(130)에서 출력된 데이터를 MUX를 통하여 입력받으며, 키를 입력받아 초기화과정을 거쳐 키 확장을 수행하는 키확장부(152), 라운드 키를 생성하여 라운드 키 생성부(154), 라운드 키를 입력받아 암호화 하는 라운드 함수부(156)로 구성되어 평문을 암호화로 변경시키는 아리아 연산블록(140);
    상기 입력부(110)에서 입력된 보안 등급의 선택에 따라 인증태그의 길이를 결정하고 인증모드, 암호화모드, 인증 및 암호모드에 따라 상기 각 블록의 기능을 제어하기 위한 제어부(160); 및
    아리아 연산블록(140)의 출력측에 접속되어, 제어부(160)의 제어에 따라 연산이 종료된 인증태그와 암호문을 저장하고 출력하기 위한 출력부(150)를 포함하는 데이터 암호화와 인증이 가능한 아리아 암호화 시스템.
KR1020070086912A 2007-08-29 2007-08-29 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템 KR100933312B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070086912A KR100933312B1 (ko) 2007-08-29 2007-08-29 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070086912A KR100933312B1 (ko) 2007-08-29 2007-08-29 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템

Publications (2)

Publication Number Publication Date
KR20090021972A true KR20090021972A (ko) 2009-03-04
KR100933312B1 KR100933312B1 (ko) 2009-12-22

Family

ID=40691931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070086912A KR100933312B1 (ko) 2007-08-29 2007-08-29 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템

Country Status (1)

Country Link
KR (1) KR100933312B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100978001B1 (ko) * 2010-03-15 2010-08-26 주식회사 유비즈코아 Aria 알고리즘이 적용된 정보보호 및 설비관리 시스템 및 그 방법
KR20220071048A (ko) 2020-11-23 2022-05-31 부산대학교 산학협력단 ARIA의 암호화 및 복호화를 지원하는 프로세서용 32bit 확장 명령어 체계를 갖는 하드웨어 모듈 및 이의 제어 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100734877B1 (ko) * 2005-08-19 2007-07-03 한국전자통신연구원 Aria 암호 모듈 및 그 방법
KR100779076B1 (ko) * 2005-12-09 2007-11-27 한국전자통신연구원 아리아 암/복호화 장치, 그 방법 및 이를 위한 초기 키생성 방법
KR20070063713A (ko) * 2005-12-15 2007-06-20 주식회사 팬택앤큐리텔 아리아 알고리즘을 이용한 블록 암호화 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100978001B1 (ko) * 2010-03-15 2010-08-26 주식회사 유비즈코아 Aria 알고리즘이 적용된 정보보호 및 설비관리 시스템 및 그 방법
KR20220071048A (ko) 2020-11-23 2022-05-31 부산대학교 산학협력단 ARIA의 암호화 및 복호화를 지원하는 프로세서용 32bit 확장 명령어 체계를 갖는 하드웨어 모듈 및 이의 제어 방법
US11392706B2 (en) 2020-11-23 2022-07-19 Pusan National University Industry—University Cooperation Foundation Hardware module and its control method with a 32-bit instruction extension for processor supporting ARIA encryption and decryption

Also Published As

Publication number Publication date
KR100933312B1 (ko) 2009-12-22

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
US6246768B1 (en) Data encryption system for encrypting plaintext data
US8712036B2 (en) System for encrypting and decrypting a plaintext message with authentication
US20060159260A1 (en) Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network
WO2016027454A1 (ja) 認証暗号化方法、認証復号方法および情報処理装置
WO2012132623A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
JPH1075240A (ja) データ送信を保護する方法およびデータを暗号化または解読化する装置
CN102025505A (zh) 一种基于aes算法的加密、解密方法及装置
RU2005104953A (ru) Эффективное шифрование и аутентификация для систем обработки данных
JP2001007800A (ja) 暗号化装置および方法
Gouvêa et al. High speed implementation of authenticated encryption for the MSP430X microcontroller
CN112906070A (zh) 用于安全设备的块密码侧信道攻击减轻
WO2012125258A2 (en) Methods for customizing a rijndael block cipher
Pandey et al. An efficient VLSI architecture for data encryption standard and its FPGA implementation
KR100933312B1 (ko) 데이터 암호화와 인증이 가능한 아리아 암호화 방법 및이를 수행하기 위한 시스템
Tang et al. A one-time pad encryption algorithm based on one-way hash and conventional block cipher
KR100848318B1 (ko) 이동통신 시스템에서 사용자 비밀키 생성방법 및 그 장치
KR20190037980A (ko) 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템
JP2001177518A (ja) 暗号化方法、復号化方法及び装置
KR100749414B1 (ko) 무선 인터넷 시스템의 암호화 장치 및 그 방법과, 복호화장치 및 그 방법
Landge et al. VHDL based Blowfish implementation for secured embedded system design
JP2002108205A (ja) ブロック暗号方法及び復号方法
KR100494560B1 (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
JP4611642B2 (ja) 認証システム

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