LEA

표준문서 : 한국정보통신기술협회(TTA) 표준문서.

1 개요

Lightweight Encryption Algorithm의 준말인 LEA는 국가보안기술연구소에서 개발한 128비트의 데이터 블록을 암호화하는 알고리즘으로, ARX[1]형태로 설계한 GFN TYPE-III 알고리즘이다. SBOX의 사용을 피하고, ARX형태로 구현한 탓에 경량화 구현이 가능해졌으며, AES의 연산속도보다 훨씬 빠르며[2] 기존 경량화암호인 HIGHT보다 더 높은 수준의 안전성을 추구하였다.

현재 KISA에서 오픈소스로 배포중이다. [1]

2 알고리즘

width=100%
LEA 알고리즘의 전체적인 동작 과정
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.

LEA는 평문 128비트에 대해 키 128, 192, 256비트를 암호화하며[3] 이때의 각각의 라운드 수는 24, 28, 32라운드이다.

암호화 과정은 다음과 같이 수행된다.

width=100%
LEA 알고리즘의 암호화
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.

각 라운드 함수의 연산과정에서, 입력값은 4개의 32비트 내부상태변수로 구성된 128비트 입력값과 192비트의 라운드키이며 출력값은 128비트의 내부상태변수이다.
연산에서 키는 XOR 과정으로 처리되며, 각 블록비트는 화살표 방향으로 내려오며 Addition 과정[4] 과 Rotation 과정을 거치게 된다. 여기서 ROR은 오른쪽 비트회전을 의미하며, ROL은 왼쪽 비트회전을 의미한다. 각각의 비트회전에 표시된 숫자는 그 숫자만큼 비트가 Rotation함을 의미한다.

모든 연산이 끝난 이후 각 블록이 왼쪽으로 이동하며, 가장 앞자리의 블록 변수는 최하단으로 이동하는 것으로 암호화 라운드함수의 연산이 종료된다.

width=100%
LEA 알고리즘의 복호화
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.

복호화는 다음과 같은 과정으로 연산되며, 이때의 연산식은 암호화와 동일하다. 단, 암호화에서는 Addition을 사용하였으므로 복호화에서는 Subtraction을 사용한다.[5]

3 암호모듈 검증제도 검증필 목록

2015년 6월에 암호모듈 검증제도 검증 대상 알고리즘에 포함되었다. 다음은 LEA 알고리즘을 포함하는 검증필 목록이다. 2016년 3월 8일 기준으로 LEA 검증필 대상은 단 한 건밖에 없다[6]. 단 검증 대상에 등재되기 전에 비검증 대상으로 검증필을 획득한 암호모듈도 있어 재검증 진행 중인 것도 있을 것이다[7].

4 관련 자료

LEA: A 128-Bit Block Cipher for Fast Encryption on Common Processors - Springer

128비트 블록 암호 LEA - TTA

OpenSSL 상에서 LEA 설계 및 구현 - 한국통신학회
  1. Addition, Rotation, XOR 연산만으로 이루어진 것을 의미한다.
  2. ARX 암호알고리즘이니 당연히 속도가 빠르다고 생각할지도 모르겠지만, 수학적, 실험적 안전성을 기반으로 암호 알고리즘을 구현한데다 AES보다 2배 이상 속도가 빠르게 알고리즘을 설계하는것은 정말 어려운 일이다.
  3. 각각은 LEA-128, LEA-192, LEA-256으로 부른다.
  4. 이때, 무작정 더해나가면 주어진 자료형보다 그 크기가 커지므로 [math]mod\ 2^{32}[/math]로 연산을 정의한다
  5. 이 역시 addition과 마찬가지로 [math]mod\ 2^{32}[/math]로 연산을 정의한다
  6. 2015.06~2016.02 동안 10건의 암호모듈이 검증필을 받았다.
  7. 2013.07.30 (주)드림시큐리티의 MagicCrypto V2.0.2