동음이의어에 대한 내용은 레아 문서 참고하십시오.
'''이론 컴퓨터 과학 {{{#!wiki style="display: inline-block; font-family:Times New Roman, serif;font-style:italic"''' | |||||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px" | <colbgcolor=#a36> 이론 | ||||
기본 대상 | 수학기초론{수리논리학(논리 연산) · 계산 가능성 이론 · 범주론 · 집합론} · 이산수학(그래프 이론) · 수치해석학 · 확률론 및 통계학 · 선형대수학 | ||||
다루는 대상과 주요 토픽 | |||||
계산 가능성 이론 | 재귀함수 · 튜링 머신 · 람다대수 · 처치-튜링 명제 · 바쁜 비버 | ||||
오토마타 이론 | FSM · 푸시다운 · 튜링 머신(폰노이만 구조) · 정규 표현식 · 콘웨이의 생명 게임 · 형식언어 | ||||
계산 복잡도 이론 | 점근 표기법 · 튜링 기계^고전, 양자, 비결정론적, 병렬 임의접근 기계^ · 알고리즘 · 자료구조 · 알고리즘 패러다임(그리디 알고리즘, 동적 계획법) | ||||
정보이론 | 데이터 압축(무손실 압축 포맷 · 손실 압축 포맷) · 채널 코딩(채널 용량) · 알고리즘 정보 이론(AIT) · 양자정보과학 | ||||
프로그래밍 언어이론 | 프로그래밍 언어(함수형 언어 · 객체 지향 프로그래밍 · 증명보조기) · 메타 프로그래밍 · 유형 이론 · 프로그래밍 언어 의미론 · 파싱 · 컴파일러 이론 | ||||
주요 알고리즘 및 자료구조 | |||||
기초 | 정렬 알고리즘 · 순서도 · 탐색 알고리즘 | ||||
추상적 자료형 및 구현 | 배열^벡터^ · 리스트^연결 리스트^ · 셋(set)^레드-블랙 트리, B-트리^ · 우선순위 큐^힙, 피보나치 힙^ | ||||
수학적 최적화 | 조합 최적화 | 외판원 순회 문제 · 담금질 기법 · 유전 알고리즘 · 기계학습 | |||
볼록 최적화 | 내부점 방법 · 경사하강법 | ||||
선형계획법 | 심플렉스법 | ||||
계산 수론 및 암호학 | 밀러-라빈 소수판별법 · Pollard-rho 알고리즘 · 쇼어 알고리즘 · LLL 알고리즘 · 해시(MD5 · 암호화폐 · 사전 공격(레인보우 테이블) · SHA) · 양자 암호 | ||||
대칭키 암호화 방식 | 블록 암호 알고리즘(AES · ARIA · LEA · Camellia) · 스트림 암호 알고리즘(RC4) | ||||
공개키 암호화 방식 | 공개키 암호 알고리즘(타원 곡선 암호 · RSA) · 신원 기반 암호 알고리즘(SM9) | ||||
계산기하학 | 볼록 껍질 · 들로네 삼각분할 및 보로노이 도형^Fortune의 line-sweeping 알고리즘^ · 범위 탐색^vp-tree, R-tree^ · k-NN | ||||
그래프 이론 | 탐색^BFS, DFS, 다익스트라 알고리즘, A* 알고리즘^ · 에드몬드-카프 · 크루스칼 알고리즘 · 위상 정렬 · 네트워크 이론 | ||||
정리 | |||||
정지 문제대각선 논법 · 암달의 법칙 · P-NP 문제미해결 · 콜라츠 추측미해결 | |||||
틀:이산수학 · 틀:수학기초론 · 틀:컴퓨터공학 | }}}}}}}}} |
1. 암호 알고리즘
표준문서 : 한국정보통신기술협회(TTA) 표준문서.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
1.2. 알고리즘
LEA 알고리즘의 전체적인 동작 과정 |
Copyrightⓒ Telecommunications Technology Association 2013. All Rights Reserved. |
LEA는 평문 128비트에 대해 키 128, 192, 256비트를 암호화하며[3] 이때의 각각의 라운드 수는 24, 28, 32라운드이다.
암호화 과정은 다음과 같이 수행된다.
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. |
복호화는 다음과 같은 과정으로 연산되며, 이때의 연산식은 암호화와 동일하다. 단, 암호화에서는 Addition을 사용하였으므로 복호화에서는 Subtraction을 사용한다.[5]
1.3. 암호모듈 검증제도 검증필 목록
2015년 6월에 암호모듈 검증제도 검증 대상 알고리즘에 포함되었다. 다음은 LEA 알고리즘을 포함하는 검증필 목록이다. 2016년 3월 8일 기준으로 LEA 검증필 대상은 단 한 건밖에 없다[6]. 단 검증 대상에 등재되기 전에 비검증 대상으로 검증필을 획득한 암호모듈도 있어 재검증 진행 중인 것도 있을 것이다[7].- 라온시큐어(주) - Key# Crypto v1.3 S/W(라이브러리)
1.4. 관련 자료
LEA: A 128-Bit Block Cipher for Fast Encryption on Common Processors - Springer128비트 블록 암호 LEA - TTA
OpenSSL 상에서 LEA 설계 및 구현 - 한국통신학회
2. law enforcement agency의 머릿글자
LEA는 law enforcement agency의 머릿글자이다. 한국어로는 법 집행 기관이라고 한다.[1] Addition, Rotation, XOR 연산만으로 이루어진 것을 의미한다.[2] ARX 암호알고리즘이니 당연히 속도가 빠르다고 생각할지도 모르겠지만, 수학적, 실험적 안전성을 기반으로 암호 알고리즘을 구현한데다 AES보다 2배 이상 속도가 빠르게 알고리즘을 설계하는것은 정말 어려운 일이다.[3] 각각은 LEA-128, LEA-192, LEA-256으로 부른다.[4] 이때, 무작정 더해나가면 주어진 자료형보다 그 크기가 커지므로 로 연산을 정의한다.[5] 이 역시 addition과 마찬가지로 로 연산을 정의한다.[6] 2015.06~2016.02 동안 10건의 암호모듈이 검증필을 받았다.[7] 2013.07.30 (주)드림시큐리티의 MagicCrypto V2.0.2