의견.png

ARIA

해시넷
ksj4572 (토론 | 기여)님의 2019년 8월 1일 (목) 11:08 판 (ARIA 알고리즘의 구조)
이동: 둘러보기, 검색

아리아(ARIA)란 경량 및 하드웨어 구현을 위해 최적화된, Involutional SPN 구조를 갖는 범용 블록 알고리즘이며 차세대 국가 암호화 알고리즘이다. 아리아(ARIA)는 전자 정부 시스템을 비롯해 앞으로 다가올 다양한 정보 보호 환경을 대비하기 위해 국가 보안 기술 연구소(NSRI) 필두로 학계, 국가 정보원 등의 암호 기술 전문가들이 개발한 국가 암호화 알고리즘이다.

개요

아리아(ARIA) 알고리즘은 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발된 128비트 블록 암호 알고리즘이고 사용하는 거의 대부분의 연산은 XOR과 같은 간단한 바이트 단위 연산으로 구성되어 있다. 지난 2004년에 국가표준기본법에 의거하고 지식경제부에 의해 국가표준(KS)으로 지정되었다. ARIA 알고리즘은 AES 알고리즘과 똑같이 128/192/256비트 암호화키를 지원한다.[1]

역사

2003년 SEED를 개발한 KISA에서 SEED의 암호가 불안하게 흔들리자 구정원과 함께 개발한 Academy(학계), Research Institute(연구소), Agency(정부기관)의 첫 글자들을 따서 이름을 지었다. 2004년 국가 표준 암호가 되었었으며 2010년 국제 표준이 되었다 국내에서는 주로 쓰이지만, 해외에서는 잘 안쓰는 암호이다.

특징

  • ARIA는 개발팀이 Academy(학계), Research Institute(연구소), Agency(정부 기관)로 구성되었음을 의미하며, 학·연·관이 공동으로 개발한 정보보호의 핵심 기술임을 함축하고 있다.
  • ARIA는 2004년에 산업자원부의 KS 인증을 획득하였다. (KS 규격번호: KS X 1213)
  • ARIA는 Involution SPN 구조의 대칭키 암호 알고리즘으로서 초경량 환경 및 하드웨어 구현에 최적으로 개발되었으며, 세부 사양은 다음과 같다.
고정 길이의 입/출력(128-비트)
가변 길이의 키 길이 지원(128/192/256-비트 키)
라운드 키 길이(128-비트)
라운드 수 키:라운드 128:12 192:14 256:16 라운드
간단한 연산 사용으로 초경량 환경에 효율적
바이트 단위의 연산으로 하드웨어에 효율적
  • ARIA는 미국·유럽 등의 새로운 표준 제정의 기준이 되는 안전성 및 효율성 기준에 부합하도록 설계되었다.객관적인 안전성 및 효율성 평가를 위하여 NESSIE(New European Schemes for Signatures, Integrity, and Encryption)의 주관 기관인 벨기에 루벤 대학에 분석을 의뢰하였다.
  • ARIA는 8 비트 환경과 하드웨어 구현에서 뛰어난 효율성을 갖고 있어 IC-card, VPN 장비등 다양한 환경에 적용이 가능하며, 소프트웨어 구현에서도 벨기에 루벤 대학의 효율성평가에서 Camellia보다 빠르고 AES에 근접하는 성능을 보였다.[2]

ARIA 알고리즘의 구조

ARIA는 대치, 확산, 키 적용 단계를 반복하는 SPN 구조로써 대치 단계에서는 S-box를 이용하여 바이트 단위로 치환을 하고, 확산 단계에서는 16X16 Involution 이진 행렬을사용한 바이트 간의 확산을 한다.

n라운드 암호화와 복호화 과정은 최초의 키(eK1)를 적용한 후에 S-box 대치, 확산 , 키 적용 단계를 n-1 라운드 반복한 이후 최종 단계 n라운드에서는 S-box 치환과 키 적용단계로만 구성을 하고 있다.[3]

세부사항

  • 치환 계층(SubstLayer)

두 유형의 치환 계층이 있으며, 각각은 2종의 8비트 입출력 S-box와 그들의 역변환(reverse)로 구성된다.

S-box에 요구되는 성질
  1. 최대 차분 / 선형 확률 : 2
  2. 대수적 차수 : 7
  3. 고정점, 반고정점이 없을 것.

일반적으로 이 같은 성질을 만족시키기 위하여 유한체 GF(28)상의 함수 x-1에 아핀변환(affine Transformation)을 사용하고 있다. S-box S1,S2는 아래의 식이 성립:

S1 = Bx-1 XOR b // S2 = Cx247 XOR c

B,C는 8x8 정칙행렬이고, b,c는 8x1 행렬이다. S-box에서는 S1,S2와 함께 S1-1,S2-1을 사용하여 총 4개의 S-box를 사용한다. S1과 S1-1, S2와 S2-1은 서로 역의 관계이다. S-box는 32비트 단위를 사용.

각주

  1. ARIA〉, 《한국인터넷진흥원》
  2. DEV쭈야, 〈ARIA 암호화〉, 《네이버 블로그》, 2015-03-05
  3. 그외, 〈ARIA 암호 알고리즘에 대하여〉, 《티스토리》, 2009-02-10

같이 보기


  의견.png 이 ARIA 문서는 암호 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.