1. 암호 알고리즘
1.1. 개요
Lightweight Encryption Algorithm의 준말인 LEA는 국가보안기술연구소에서 개발한 128비트의 데이터 블록을 암호화하는 알고리즘으로, ARX[1]형태로 설계한 GFN TYPE-III 알고리즘이다. SBOX의 사용을 피하고, ARX형태로 구현한 탓에 경량화 구현이 가능해졌으며, AES의 연산속도보다 훨씬 빠르며[2] 기존 경량화암호인 HIGHT보다 더 높은 수준의 안전성을 추구하였다.
현재 KISA에서 오픈 소스로 배포중이다. http://seed.kisa.or.kr/iwt/ko/sup/EgovLeaInfo.do
현재 KISA에서 오픈 소스로 배포중이다. http://seed.kisa.or.kr/iwt/ko/sup/EgovLeaInfo.do
1.2. 알고리즘
LEA 알고리즘의 전체적인 동작 과정
|
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.
|
LEA 알고리즘의 암호화
|
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.
|
각 라운드 함수의 연산과정에서, 입력값은 4개의 32비트 내부상태변수로 구성된 128비트 입력값과 192비트의 라운드키이며 출력값은 128비트의 내부상태변수이다.
연산에서 키는 XOR 과정으로 처리되며, 각 블록비트는 화살표 방향으로 내려오며 Addition 과정[4] 과 Rotation 과정을 거치게 된다. 여기서 ROR은 오른쪽 비트회전을 의미하며, ROL은 왼쪽 비트회전을 의미한다. 각각의 비트회전에 표시된 숫자는 그 숫자만큼 비트가 Rotation함을 의미한다.
모든 연산이 끝난 이후 각 블록이 왼쪽으로 이동하며, 가장 앞자리의 블록 변수는 최하단으로 이동하는 것으로 암호화 라운드함수의 연산이 종료된다.
LEA 알고리즘의 복호화
|
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.
|
1.3. 암호모듈 검증제도 검증필 목록
2015년 6월에 암호모듈 검증제도 검증 대상 알고리즘에 포함되었다. 다음은 LEA 알고리즘을 포함하는 검증필 목록이다. 2016년 3월 8일 기준으로 LEA 검증필 대상은 단 한 건밖에 없다[6]. 단 검증 대상에 등재되기 전에 비검증 대상으로 검증필을 획득한 암호모듈도 있어 재검증 진행 중인 것도 있을 것이다[7].
- 라온시큐어(주) - Key# Crypto v1.3 S/W(라이브러리)
1.4. 관련 자료
2. law enforcement agency의 머릿글자
[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