의견.png

"LEA"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
1번째 줄: 1번째 줄:
LEA(Lightweight Encryption Algorithm)는 2012년 국가보안기술연구소에서 [[사물인터넷]](IoT)의 발달에 따라 [[빅데이터]], [[클라우드]] 등 고속 환경 및 [[모바일]]기기 등 경량 환경에서 기밀성을 제공하기 위해 개발된 128비트 [[블록 암호 알고리즘]]이다.
+
'''LEA'''(lightweight encryption algorithm)는 2012년 국가보안기술연구소에서 [[사물인터넷]](IoT)의 발달에 따라 [[빅데이터]], [[클라우드]] 등 고속 환경 및 [[모바일]]기기 등 경량 환경에서 기밀성을 제공하기 위해 개발된 128비트 [[블록 암호 알고리즘]]이다.
  
 
== 개요 ==  
 
== 개요 ==  
15번째 줄: 15번째 줄:
  
 
== 알고리즘 ==
 
== 알고리즘 ==
 
 
[[파일:LEA_Algorithm.png|오른쪽|400픽셀|썸네일|LEA 알고리즘의 전체적인 동작 과정]]
 
[[파일:LEA_Algorithm.png|오른쪽|400픽셀|썸네일|LEA 알고리즘의 전체적인 동작 과정]]
 +
[[파일:LEA_Algorithm_encryption.png|오른쪽|400픽셀|썸네일|LEA 알고리즘의 암호화 과정]]
  
 
=== 암호화 ===
 
=== 암호화 ===
 
 
LEA는 평문 128비트에 대해 키 128,192,256비트를 암호화하며, 이때 각각의 라운드 수는 24, 28, 32라운드이다.<br>
 
LEA는 평문 128비트에 대해 키 128,192,256비트를 암호화하며, 이때 각각의 라운드 수는 24, 28, 32라운드이다.<br>
 
암호화는 다음과 같이 수행된다.
 
암호화는 다음과 같이 수행된다.
  
[[파일:LEA_Algorithm_encryption.png|오른쪽|400픽셀|썸네일|LEA 알고리즘의 암호화 과정]]
+
각 라운드 함수의 연산과정에서, 입력값은 4개의 32비트 내부상태변수로 구성된 128비트 입력값과 192비트의 라운드키이며, 출력값은 128비트의 내부상태변수이다. 연산에서 키는 XOR과정으로 처리되며, 각 블록비트는 화살표 방향으로 내려오고, Addition 과정과 Rotation 과정을 거치게 된다. 여기서 ROR은 오른쪽 비트회전을 의미하고, ROL은 왼쪽 비트회전을 의미한다. 각각의 비트회전에서 표시된 숫자는 그 숫자만큼 비트가 Rotation함을 의미한다. 모든 연산이 끝나고나면, 각 블록이 왼쪽으로 이동하며, 가장 앞자리의 블록 변수는 최하단으로 이동하는 것으로 암호화 라운드함수의 연산이 종료된다.
 
 
각 라운드 함수의 연산과정에서, 입력값은 4개의 32비트 내부상태변수로 구성된 128비트 입력값과 192비트의 라운드키이며, 출력값은 128비트의 내부상태변수이다. 연산에서 키는 XOR과정으로 처리되며, 각 블록비트는 화살표 방향으로 내려오고, Addition 과정과 Rotation 과정을 거치게 된다. 여기서 ROR은 오른쪽 비트회전을 의미하고, ROL은 왼쪽 비트회전을 의미한다. 각각의 비트회전에서 표시된 숫자는 그 숫자만큼 비트가 Rotation함을 의미한다.
 
모든 연산이 끝나고나면, 각 블록이 왼쪽으로 이동하며, 가장 앞자리의 블록 변수는 최하단으로 이동하는 것으로 암호화 라운드함수의 연산이 종료된다.
 
  
 
=== 복호화 ===
 
=== 복호화 ===
 
[[파일:LEA_Algorithm_decryption.png|오른쪽|400픽셀|썸네일|LEA 알고리즘의 복호화 과정]]
 
 
 
복호화의 연산식은 암호화와 동일하다. 단, 암호화에서는 Addition을 사용하였다면, 복호화에서는 Subtraction을 사용한다.<ref> 〈[https://namu.wiki/w/LEA LEA〉, 《나무위키》, 2017-03-29 </ref>
 
복호화의 연산식은 암호화와 동일하다. 단, 암호화에서는 Addition을 사용하였다면, 복호화에서는 Subtraction을 사용한다.<ref> 〈[https://namu.wiki/w/LEA LEA〉, 《나무위키》, 2017-03-29 </ref>
  
 
== 전망 ==
 
== 전망 ==
 
 
LEA암호는 오늘날 가장 많이 쓰이는 AES(Advanced Encryption Standard)암호보다 1.5~2배 빠른 성능을 갖는 것으로 확인되어, 다양한 정보 보안 서비스에서 대용량 데이터를 빠르게 처리하거나 스마트폰 보안 등 저전력 암호 모듈로 널리 활용될 수 있을 것으로 예견되고 있다.<ref name="LEA_news"></ref>
 
LEA암호는 오늘날 가장 많이 쓰이는 AES(Advanced Encryption Standard)암호보다 1.5~2배 빠른 성능을 갖는 것으로 확인되어, 다양한 정보 보안 서비스에서 대용량 데이터를 빠르게 처리하거나 스마트폰 보안 등 저전력 암호 모듈로 널리 활용될 수 있을 것으로 예견되고 있다.<ref name="LEA_news"></ref>
  
41번째 줄: 33번째 줄:
  
 
== 참고자료 ==
 
== 참고자료 ==
 
 
* 손승일 기자, 〈[https://www.boannews.com/media/view.asp?idx=54009&kind=6 [한국인터넷정보학회 칼럼] 국내 자체 개발 블록 암호 알고리즘 현황]〉, 《보안뉴스》, 2018-06-07
 
* 손승일 기자, 〈[https://www.boannews.com/media/view.asp?idx=54009&kind=6 [한국인터넷정보학회 칼럼] 국내 자체 개발 블록 암호 알고리즘 현황]〉, 《보안뉴스》, 2018-06-07
 
* 김인순 보안 전문 기자,〈[http://www.etnews.com/20160801000139 국산 경량암호 LEA 적용 사례 늘어〉, 《전자신문|etnews》,2016-08-01
 
* 김인순 보안 전문 기자,〈[http://www.etnews.com/20160801000139 국산 경량암호 LEA 적용 사례 늘어〉, 《전자신문|etnews》,2016-08-01

2019년 7월 5일 (금) 15:51 판

LEA(lightweight encryption algorithm)는 2012년 국가보안기술연구소에서 사물인터넷(IoT)의 발달에 따라 빅데이터, 클라우드 등 고속 환경 및 모바일기기 등 경량 환경에서 기밀성을 제공하기 위해 개발된 128비트 블록 암호 알고리즘이다.

개요

LEA는 128비트 데이터 블록을 암호화하는 알고리즘으로 128, 192, 256비트 비밀키를 사용할 수 있으며 요구되는 안전성 기준에 따라 용도가 구분될 수 있다. LEA의 라운드 함수는 32비트 단위의 ARX(Addition, Rotation, XOR)연산만으로 구성되어 있어 이들 연산을 지원하는 범용 32비트 소프트웨어 플랫폼에서 고속으로 동작할 수 있고, 안전성을 보장하는 것과 동시에 S-box의 사용을 배제하여 경량 구현이 가능하게 되어있다.[1]

적용사례

LEA는 다양한 정보보안 서비스에서 대용량 데이터를 빠르게 처리하거나 스마트폰 보안 등 저전력 암호화에 널리 쓸 수 있다. 특히, 단시간에 배치작업을 완료해야 하는 금융 분야에 강력하다. 각종 소프트웨어(SW)와 사물인터넷(IoT)에도 적용이 되어있다.

  • 이스트소프트(알집 10.5) : 이스트소프트는 압축SW '알집(버전 10.5)'에 암호화 기능으로 LEA를 적용했다. LEA암호화는 알집 독자 압축 형식인 EGG파일로 암축할 때 사용된다. 압축 옵션에서 LEA를 선택하면 국제 표준 AES 등 기존 압축 암호화에서 사용되던 방식보다 1.5~2배가량 속도가 빠른것을 확인 할 수 있다.
  • 스마트그리드 지능형 전력계량(AMI) : 가정에 설치된 전력량계와 AMI서버 간 네트워크 연계 기능을 담당하는 DCU(Data Collection Unit)에 적용되었다. DCU는 2016년 AMI사업에 약 6만대 구축 예정이었으며, 향후 2020년까지 50만대로 늘린다고 하였다.
  • 사물인터넷(IoT) : IoT의 보안플랫폼에도 LEA가 사용되었다. 이니텍 ISoT(Internet Security of Things) 보안 플랫폼 암호 기능에 적용되었다. 윈스는 침입방지시스템(IPS) '스나이퍼'에 LEA를, 라온시큐어도 LEA암호모듈에 대해 KCMVP검증을 완료하였다.[2]

알고리즘

LEA 알고리즘의 전체적인 동작 과정
LEA 알고리즘의 암호화 과정

암호화

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

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

복호화

복호화의 연산식은 암호화와 동일하다. 단, 암호화에서는 Addition을 사용하였다면, 복호화에서는 Subtraction을 사용한다.[3]

전망

LEA암호는 오늘날 가장 많이 쓰이는 AES(Advanced Encryption Standard)암호보다 1.5~2배 빠른 성능을 갖는 것으로 확인되어, 다양한 정보 보안 서비스에서 대용량 데이터를 빠르게 처리하거나 스마트폰 보안 등 저전력 암호 모듈로 널리 활용될 수 있을 것으로 예견되고 있다.[1]

각주

  1. 1.0 1.1 손승일 기자, 〈[한국인터넷정보학회 칼럼 국내 자체 개발 블록 암호 알고리즘 현황]〉, 《보안뉴스》, 2017-03-29
  2. 김인순 보안 전문 기자,〈[http://www.etnews.com/20160801000139 국산 경량암호 LEA 적용 사례 늘어〉, 《전자신문|etnews》,2016-08-01
  3. 〈[https://namu.wiki/w/LEA LEA〉, 《나무위키》, 2017-03-29

참고자료


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