[include(틀:다른 뜻1, other1=동음이의어, rd1= 레아)] [목차] = 암호 알고리즘 = 표준문서 : [[http://committee.tta.or.kr/include/Download.jsp?filename=choan%2F%5B2013-1164%5D+128%BA%F1%C6%AE+%B0%E6%B7%AE%BA%ED%B7%CF%BE%CF%C8%A3+LEA.hwp|한국정보통신기술협회(TTA) 표준문서]]. == 개요 == Lightweight Encryption Algorithm의 준말인 LEA는 국가보안기술연구소에서 개발한 128비트의 데이터 블록을 암호화하는 알고리즘으로, ARX[* Addition, Rotation, XOR 연산만으로 이루어진 것을 의미한다.]형태로 설계한 GFN TYPE-III 알고리즘이다. SBOX의 사용을 피하고, ARX형태로 구현한 탓에 경량화 구현이 가능해졌으며, [[AES]]의 연산속도보다 훨씬 빠르며[* ARX 암호알고리즘이니 당연히 속도가 빠르다고 생각할지도 모르겠지만, 수학적, 실험적 안전성을 기반으로 암호 알고리즘을 구현한데다 AES보다 2배 이상 속도가 빠르게 알고리즘을 설계하는것은 정말 어려운 일이다.] 기존 경량화암호인 HIGHT보다 더 높은 수준의 안전성을 추구하였다. 현재 [[KISA]]에서 [[오픈 소스]]로 배포중이다. [[http://seed.kisa.or.kr/iwt/ko/sup/EgovLeaInfo.do]] == 알고리즘 == ||[[파일:BRKdlLv.png|width=100%]]|| ||<:>LEA 알고리즘의 전체적인 동작 과정|| ||<:>Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.|| LEA는 평문 128비트에 대해 키 128, 192, 256비트를 암호화하며[* 각각은 LEA-128, LEA-192, LEA-256으로 부른다.] 이때의 각각의 라운드 수는 24, 28, 32라운드이다. 암호화 과정은 다음과 같이 수행된다. ||
[[파일:d5UzICu.png|width=100%]]|| ||<:>LEA 알고리즘의 암호화|| ||Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.|| 각 라운드 함수의 연산과정에서, 입력값은 4개의 32비트 내부상태변수로 구성된 128비트 입력값과 192비트의 라운드키이며 출력값은 128비트의 내부상태변수이다. 연산에서 키는 XOR 과정으로 처리되며, 각 블록비트는 화살표 방향으로 내려오며 Addition 과정[* 이때, 무작정 더해나가면 주어진 자료형보다 그 크기가 커지므로 mod\ 2^{32}로 연산을 정의한다.] 과 Rotation 과정을 거치게 된다. 여기서 ROR은 오른쪽 비트회전을 의미하며, ROL은 왼쪽 비트회전을 의미한다. 각각의 비트회전에 표시된 숫자는 그 숫자만큼 비트가 Rotation함을 의미한다. 모든 연산이 끝난 이후 각 블록이 왼쪽으로 이동하며, 가장 앞자리의 블록 변수는 최하단으로 이동하는 것으로 암호화 라운드함수의 연산이 종료된다. ||
[[파일:TSfnBBb.png|width=100%]]|| ||<:>LEA 알고리즘의 복호화|| ||Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved.|| 복호화는 다음과 같은 과정으로 연산되며, 이때의 연산식은 암호화와 동일하다. 단, 암호화에서는 Addition을 사용하였으므로 복호화에서는 Subtraction을 사용한다.[* 이 역시 addition과 마찬가지로 mod\ 2^{32}로 연산을 정의한다.] == 암호모듈 검증제도 검증필 목록 == 2015년 6월에 암호모듈 검증제도 검증 대상 알고리즘에 포함되었다. 다음은 LEA 알고리즘을 포함하는 [[http://www.nis.go.kr/AF/1_7_3_3/list.do|검증필 목록]]이다. 2016년 3월 8일 기준으로 LEA 검증필 대상은 단 한 건밖에 없다[* 2015.06~2016.02 동안 10건의 암호모듈이 검증필을 받았다.]. 단 검증 대상에 등재되기 전에 비검증 대상으로 검증필을 획득한 암호모듈도 있어 재검증 진행 중인 것도 있을 것이다[* 2013.07.30 (주)드림시큐리티의 [[http://www.nis.go.kr/AF/1_7_3_3/view.do?seq=216¤tPage=1&selectProduct=2&searchKeyword=%EB%93%9C%EB%A6%BC|MagicCrypto V2.0.2]]]. * 라온시큐어(주) - [[http://www.nis.go.kr/AF/1_7_3_3/view.do?seq=289¤tPage=1&selectProduct=&searchKeyword= | Key# Crypto v1.3]] S/W(라이브러리) == 관련 자료 == [[http://link.springer.com/chapter/10.1007/978-3-319-05149-9_1 | LEA: A 128-Bit Block Cipher for Fast Encryption on Common Processors - Springer]] [[http://www.tta.or.kr/data/reportDown.jsp?news_num=4097 | 128비트 블록 암호 LEA - TTA]] [[http://www.kics.or.kr/storage/mailing/20150109/150109_113659934.pdf | OpenSSL 상에서 LEA 설계 및 구현 - 한국통신학회]] = law enforcement agency의 머릿글자 = LEA는 law enforcement agency의 머릿글자이다. 한국어로는 [[법 집행 기관]]이라고 한다. [[분류:컴퓨터 보안]][[분류:암호학]][[분류:알고리즘]]