LEA(Lightweight Encryption Algorithm)는 2013년 국가보안연구소(NSRI)에서 빅데이터 처리, 클라우드 서비스 및 모바일 환경에 적합하도록 개발되었다. LEA는 128비트 메시지 블록 크기와 128비트, 192비트 및 256비트 키(Key)에 대한 암호화 방식을 규정하고 있다. 본 논문에서는 128비트 메시지를 암호화하고 복호화할 수 있는 LEA 블록 암호 알고리즘을 Verilog-HDL을 사용하여 설계하였다. 설계된 LEA 암.복호화 IP는 Xilinx Vertex5 디바이에서 약 164MHz에서 동작하였다. 128비트 키 모드에서 최대 처리율은 874Mbps이며, 192비트 키 모드에서는 749Mbps 그리고 256비트 키 모드에서는 656Mbps이다. 본 논문에서 설계된 암호 프로세서 IP는 스마트 카드, 인터넷 뱅킹, 전자상거래 및 IoT (Internet of Things) 등과 같은 모바일 분야의 보안 모듈로 응용이 가능할 것으로 사료된다.
LEA(Lightweight Encryption Algorithm)는 2013년 국가보안연구소(NSRI)에서 빅데이터 처리, 클라우드 서비스 및 모바일 환경에 적합하도록 개발되었다. LEA는 128비트 메시지 블록 크기와 128비트, 192비트 및 256비트 키(Key)에 대한 암호화 방식을 규정하고 있다. 본 논문에서는 128비트 메시지를 암호화하고 복호화할 수 있는 LEA 블록 암호 알고리즘을 Verilog-HDL을 사용하여 설계하였다. 설계된 LEA 암.복호화 IP는 Xilinx Vertex5 디바이에서 약 164MHz에서 동작하였다. 128비트 키 모드에서 최대 처리율은 874Mbps이며, 192비트 키 모드에서는 749Mbps 그리고 256비트 키 모드에서는 656Mbps이다. 본 논문에서 설계된 암호 프로세서 IP는 스마트 카드, 인터넷 뱅킹, 전자상거래 및 IoT (Internet of Things) 등과 같은 모바일 분야의 보안 모듈로 응용이 가능할 것으로 사료된다.
Lightweight Encryption Algorithm(LEA) was developed by National Security Research Institute(NSRI) in 2013 and targeted to be suitable for environments for big data processing, cloud service, and mobile. LEA specifies the 128-bit message block size and 128-, 192-, and 256-bit key sizes. In this paper...
Lightweight Encryption Algorithm(LEA) was developed by National Security Research Institute(NSRI) in 2013 and targeted to be suitable for environments for big data processing, cloud service, and mobile. LEA specifies the 128-bit message block size and 128-, 192-, and 256-bit key sizes. In this paper, block cipher LEA algorithm which can encrypt and decrypt 128-bit messages is designed using Verilog-HDL. The designed IP for encryption and decryption has a maximum throughput of 874Mbps in 128-bit key mode and that of 749Mbps in 192 and 656Mbps in 256-bit key modes on Xilinx Vertex5. The cryptographic IP of this paper is applicable as security module of the mobile areas such as smart card, internet banking, e-commerce and IoT.
Lightweight Encryption Algorithm(LEA) was developed by National Security Research Institute(NSRI) in 2013 and targeted to be suitable for environments for big data processing, cloud service, and mobile. LEA specifies the 128-bit message block size and 128-, 192-, and 256-bit key sizes. In this paper, block cipher LEA algorithm which can encrypt and decrypt 128-bit messages is designed using Verilog-HDL. The designed IP for encryption and decryption has a maximum throughput of 874Mbps in 128-bit key mode and that of 749Mbps in 192 and 656Mbps in 256-bit key modes on Xilinx Vertex5. The cryptographic IP of this paper is applicable as security module of the mobile areas such as smart card, internet banking, e-commerce and IoT.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
고속의 LEA 알고리즘 구현 논문 [6]은 복호화 기능이 없고, 암호화 기능만을 지원하고 있다. 따라서, 본 논문은 고속을 목표로 한 논문 [6]보다 우수한 성능의 암호화와 복호화 및 3개의 매스터 키 모드를 동시에 지원하고 IP 구현을 목표로 하였다. 이를 위해 먼저 (그림 5)에 단순화한 LEA 아키텍쳐와 핵심 타이밍도를 제시하고, 성능 향상을 위해 적용한 디자인 기법을 설명할 것이다.
마지막으로 라운드 연산 블록의 설계에 대해 설명하고자 한다. (그림 4)는 설계된 라운드 연산 블록을 보여주고 있다.
표 1은 본 논문에서 설계된 LEA 암호 알고리즘의 설계 결과를 요약하고 비교한 것이다. 본 논문에서 설계한 LEA 암호 알고리즘은 128, 192 및 256비트의 키를 사용한 암⦁복호화를 지원하며 높은 데이터 처리율을 목표로 하고 있다.
본 논문에서는 128비트 입력에 대해 128비트, 192비트 및 256비트 키를 지원하며 높은 데이터 처리율을 가지는 LEA 암⦁복호화 IP를 설계하였다. 설계된 암⦁복호화 알고리즘은 Xilinx Vertex5에서 164MHz에서 동작하며, 초당 최대 암⦁복화율은 128비트 키 모드에서는 최대 874Mbps, 192비트 및 256비트 키 모드에서는 최대 749Mbps 및 656Mbps의 데이터 처리율을 가진다.
제안 방법
DeKey Gen 레지스터의 복호화 시작 키 생성 활성화 비트는 복호화 시작 키를 생성하여 DeKey 버퍼를 저장하면, 즉시 내부적으로 ‘0’ 으로 초기화되도록 설계하였다.
구현한 LEA 암호 알고리즘의 검증을 위해 먼저 참고 문헌 [8]에서 제공하는 테스트 케이스 등을 참고하였다. Verilog HDL을 사용하여 LEA IP를 설계하였으며, 제시된 테스트 케이스의 입출력 값을 설계된 IP에서 입력에 대한 출력 값이 서로 일치하는지를 비교하여 검증을 수행하였다.
따 라서, 본 논문에서는 (그림 5)의 (a)에서 볼 수 있듯이 RK REG 레지스터를 키 생성 블록의 말단에 삽입하여, 키의 생성과 키의 사용을 분리시켜 최악지연경로가 RK REG 및 X REG의 출력부터 라운드 함수 블록에 한정하도록 하였다.
DeKey Gen 레지스터의 복호화 시작 키 생성 활성화 비트는 복호화 시작 키를 생성하여 DeKey 버퍼를 저장하면, 즉시 내부적으로 ‘0’ 으로 초기화되도록 설계하였다. 따라서 DeKey Gen 레지스터에 관련 레지스터 비트를 설정할 때만 1회에 한해 복호화용 키를 생성하도록 하였다. 그리고 추후 새롭게 변경된 복호화용 키를 사용할 필요가 있을 경우에는 다시 DeKey Gen 레지스터를 세팅하면 된다.
복호화 시에는 회전 연산을 먼저 수행한 후 모듈로 뺄셈 연산을 수행하고 마지막으로 XOR 연산을 수행한다. 따라서 적절한 멀티플레서의 사용과 덧셈과 뺄셈을 동시에 수행할 수 있는 모듈을 사용하여 하드웨어 사용을 줄일 수 있도록 설계하였다.
5)”에 암호화 기능으로 적용하였다. 또한 스마트그리드 지능형 전력계량(AMI) 사업에도 LEA를 채용하였으며, 이니텍사는 IoT 보안 플랫폼인 ISoT(Internet Security of Things)에 채용하였다[9].
마지막으로 암호화와 복호화의 마지막 라운드에서 FSM은 EDResultUpdate 신호를 생성하여 Result 버퍼에 최종 결과를 저장하고, 이후 OutRegShiftEn를 신호를 활성화하여 저장된 결과 값을 외부로 전달하도록 한다. 이 때는 DataOutValid 신호를 생성하여 결과 값이 유효함을 알리도록 설계하였다.
메시지 버퍼에 128비트 데이터가 도착하면 라운드연산 블록이 암․복호화를 수행중이 아니면 즉시 CryptoStart 신호가 활성화되어 메시지 버퍼에서 x0~x3 레지스터에 전달되며 매스터 키 모드와 암․복호화 모드에 따라 라운드 연산을 수행한다. 물론 암․복호화를 수행중이라면, 마지막 라운드 종료 시점에 x0~x3 레지스터에 전달되어 라운드 연산을 수행하도록 설계하였다. 그리고 x0~x3레지스터는 매 라운드 연산이 종료될 때마다 (그림 4) 제안하는 라운드 연산 블록의 구조 (Figure 4) The design of round operation block rnd_update 신호가 활성화되어 갱신된다.
Verilog HDL을 사용하여 LEA IP를 설계하였으며, 제시된 테스트 케이스의 입출력 값을 설계된 IP에서 입력에 대한 출력 값이 서로 일치하는지를 비교하여 검증을 수행하였다. 본 논문에서 128비트, 192비트 256비트의 매스터 키를 지원하도록 설계하고 검증하였는데, 검증 자료는 256비트 매스터 키 모드에 대해서만 설명할 것이다.
본 논문의 LEA 블록 암호 알고리즘은 "128비트 블록암호 LEA 규격서"인 참고문헌 [8]에서 규정하고 있는 암호화 및 복호화에 대한 모든 사양을 지원하도록 설계되었다.
본 IP를 사용하는 사용자가 처음부터 복호화 모드로 사용하고자 한다면, 먼저 키 스케줄 블록(Key Schedule Block)에서 암호화 키를 생성하는 과정을 수행하여 최종 라운드에서 사용되는 라운드 키 값을 생성한다. 이 값은 복호화 시에는 첫 번째 사용되는 키가 되기 때문 에, DeKey 버퍼에 저장하여 복화시에 사용하도록 설계하였다. 이처럼 DeKey를 생성하여 저장할 수 있도록 설정하는 레지스터가 DeKey Gen 레지스터이다.
마지막으로 암호화와 복호화의 마지막 라운드에서 FSM은 EDResultUpdate 신호를 생성하여 Result 버퍼에 최종 결과를 저장하고, 이후 OutRegShiftEn를 신호를 활성화하여 저장된 결과 값을 외부로 전달하도록 한다. 이 때는 DataOutValid 신호를 생성하여 결과 값이 유효함을 알리도록 설계하였다.
따라서, 본 논문은 고속을 목표로 한 논문 [6]보다 우수한 성능의 암호화와 복호화 및 3개의 매스터 키 모드를 동시에 지원하고 IP 구현을 목표로 하였다. 이를 위해 먼저 (그림 5)에 단순화한 LEA 아키텍쳐와 핵심 타이밍도를 제시하고, 성능 향상을 위해 적용한 디자인 기법을 설명할 것이다.
이스트소프트는 압축 SW인 “알집(버전 10.5)”에 암호화 기능으로 적용하였다.
키 스케줄 블록의 내부 연산은 암호화와 복호화를 합체하여 구현하였다. 암호화 시의 경로는 XOR 연산을 수행한 후 모듈로 덧셈 연산을 수행하고 마지막으로 회전 연산을 수행한다.
특히 본 논문에서는 LEA 코어의 성능을 향상시키기 위해 라운드 연산 블록에 on-the-fly 방식으로 라운드 키를 제공할 때 한 클럭 먼저 동작하여 레지스터에 래치된 안정된 값을 제공하여 라운드 키 생성 과정에서 발생하는 지연시간이 라운드 연산 블록의 수행시간에 영향을 주지 않도록 하였다. 이러한 설계 방식의 채택은 256비트 매스터 키만 지원하고 암호화만을 수행하는 논문 [6]과 비교하여도 30% 이상의 클럭 주파수의 향상을 얻었다.
표 1에서는 논문 [6]의 256비트 고속 모델인 “LEA-256- SPEED” 모듈과 비교를 수행하였다.
대상 데이터
256비트의 매스터를 사용한 암호화만 지원하는 논문 [6] “LEA-256-SPEED" 모델의 최대 암호화율은 496Mbps였으며, 면적 최소화에 중점을 두고 3가지 유형의 매스터 키에 대한 암⦁복화를 지원하는 논문 [3]은 128비트 키 모드에 대해서는 181Mbps, 192비트 키 모드에 대해서는 162Mbps, 그리고 256비트 키 모드에서는 109Mbps의 성능을 보였다. 설계된 LEA IP는 Xilinx Vertex5 상에서 836개의 슬라이스(Slice) 자원을 사용하고, 1638개의 플립플롭 및 2615개의 슬라이스 LUT를 사용하였다.
데이터처리
구현한 LEA 암호 알고리즘의 검증을 위해 먼저 참고 문헌 [8]에서 제공하는 테스트 케이스 등을 참고하였다. Verilog HDL을 사용하여 LEA IP를 설계하였으며, 제시된 테스트 케이스의 입출력 값을 설계된 IP에서 입력에 대한 출력 값이 서로 일치하는지를 비교하여 검증을 수행하였다. 본 논문에서 128비트, 192비트 256비트의 매스터 키를 지원하도록 설계하고 검증하였는데, 검증 자료는 256비트 매스터 키 모드에 대해서만 설명할 것이다.
성능/효과
128비트 평문 입력 “33323130”, “37363534”, “3b3a3938”, “3f3e3d3c:”에 대해 256비트 매스터 키 “3c2d1e0f”, “78695a4b”, “b4a59687” “f0e1d2c3”, “c3d2e1f0”, “8796a5b4”, “4b5a6978”, “0f1e2d3c” 를 적용하여 암호화를 수행하면 최종적인 암호 출력은 “f6af51d6”, “c189b147”, “ca00893a”, “97e1f927”으로 테스트 케이스에서 제시된 값과 일치함을 확인하였다.
256비트의 매스터를 사용한 암호화만 지원하는 논문 [6] “LEA-256-SPEED" 모델의 최대 암호화율은 496Mbps였으며, 면적 최소화에 중점을 두고 3가지 유형의 매스터 키에 대한 암⦁복화를 지원하는 논문 [3]은 128비트 키 모드에 대해서는 181Mbps, 192비트 키 모드에 대해서는 162Mbps, 그리고 256비트 키 모드에서는 109Mbps의 성능을 보였다.
그리고 i 번째 라운드에서 사용되는 라운드 키는 RKi[0]부터 RKi[5]까지 모두 32비트로 된 6개가 사용되어, 각 라운드 연산에 사용되는 라운드 키는 192비트가 된다. 각 라운드에서 사용되는 연산은 기존에 언급한 바와 같이 XOR, 32비트 모듈로 덧셈 및 회전 연산만을 사용하는 것을 볼 수 있다. 각 라운드의 마지막에 저장되는 중간 값이 32비트 좌측 방향 회전하여 저장된다.
설계된 암⦁복호화 알고리즘은 Xilinx Vertex5에서 164MHz에서 동작하며, 초당 최대 암⦁복화율은 128비트 키 모드에서는 최대 874Mbps, 192비트 및 256비트 키 모드에서는 최대 749Mbps 및 656Mbps의 데이터 처리율을 가진다. 기존에 발표된 LEA 블록 암호 논문들과 비교하였을 경우에도 우수한 성능을 보이는 것으로 확인되었다. 이러한 LEA 암호 알고리즘은 인터넷 뱅킹, 위성 방송, IP 보안, 데이터 보안, IoT 및 영상통화 보안 등 기타 다양한 분야에서 활용이 기대된다.
모든 레지스터는 클럭의 상승 에지에서 값이 변경되도록 설계되었다. 논문 [6]을 분석한 결과 IP의 성능에 큰 영향을 미치는 최악지연경로(Worst-case Critical Path)가 KEG REG와 DELTA REG의 출력 값부터 조합회로인 키 생성 회로(KEY GEN CIRCUIT) 블록의 거쳐, 다시 라운드 함수(ROUND FUNCTION) 블록까지의 경로가 단일 사이클에 이루진 구조였다.
본 논문의 LEA 블록 암호 알고리즘은 "128비트 블록암호 LEA 규격서"인 참고문헌 [8]에서 규정하고 있는 암호화 및 복호화에 대한 모든 사양을 지원하도록 설계되었다. 따라서 128비트 단위의 메시지 입력에 대해 128비트, 192비트 및 256비트 매스터 키가 적용되어 암호화 혹은 복호화된 128비트 결과를 출력한다.
복호화 시의 라운드 연산은 암호화 과정과 반대로 {x3, x0, x1, x2, x3}로 먼저 정렬되고 회전 연산을 수행한 후 모듈로 뺄셈 연산을 수행하며, XOR 연산을 마친 값이 x0~x3에 저장된다. 따라서 32비트 덧셈기와 뺄셈기를 사용하지 않고 덧셈 및 뺄셈을 제공하는 가감산기를 사용하여 하드웨어 자원을 효율적으로 관리할 수 있도록 하였다.
본 논문에서 설계한 LEA 암호 알고리즘 IP는 verilog-HDL로 설계하여 Xilinx Vertex5에 구현한 결과 약 164MHz에서 동작하는 것을 확인하였다. 따라서 본 논문에서 설계된 IP의 최대 암⦁복화율은 128비트 키 모드에 대해서는 874Mbps, 192비트 키 모드에 대해서는 749Mbps, 그리고 256비트 키 모드에서는 656Mbps의 처리 능력을 보여주었다. 256비트의 매스터를 사용한 암호화만 지원하는 논문 [6] “LEA-256-SPEED" 모델의 최대 암호화율은 496Mbps였으며, 면적 최소화에 중점을 두고 3가지 유형의 매스터 키에 대한 암⦁복화를 지원하는 논문 [3]은 128비트 키 모드에 대해서는 181Mbps, 192비트 키 모드에 대해서는 162Mbps, 그리고 256비트 키 모드에서는 109Mbps의 성능을 보였다.
본 논문에서 설계한 LEA 암호 알고리즘 IP는 verilog-HDL로 설계하여 Xilinx Vertex5에 구현한 결과 약 164MHz에서 동작하는 것을 확인하였다. 따라서 본 논문에서 설계된 IP의 최대 암⦁복화율은 128비트 키 모드에 대해서는 874Mbps, 192비트 키 모드에 대해서는 749Mbps, 그리고 256비트 키 모드에서는 656Mbps의 처리 능력을 보여주었다.
본 논문에서는 128비트 입력에 대해 128비트, 192비트 및 256비트 키를 지원하며 높은 데이터 처리율을 가지는 LEA 암⦁복호화 IP를 설계하였다. 설계된 암⦁복호화 알고리즘은 Xilinx Vertex5에서 164MHz에서 동작하며, 초당 최대 암⦁복화율은 128비트 키 모드에서는 최대 874Mbps, 192비트 및 256비트 키 모드에서는 최대 749Mbps 및 656Mbps의 데이터 처리율을 가진다. 기존에 발표된 LEA 블록 암호 논문들과 비교하였을 경우에도 우수한 성능을 보이는 것으로 확인되었다.
특히 본 논문에서는 LEA 코어의 성능을 향상시키기 위해 라운드 연산 블록에 on-the-fly 방식으로 라운드 키를 제공할 때 한 클럭 먼저 동작하여 레지스터에 래치된 안정된 값을 제공하여 라운드 키 생성 과정에서 발생하는 지연시간이 라운드 연산 블록의 수행시간에 영향을 주지 않도록 하였다. 이러한 설계 방식의 채택은 256비트 매스터 키만 지원하고 암호화만을 수행하는 논문 [6]과 비교하여도 30% 이상의 클럭 주파수의 향상을 얻었다.
따 라서, 본 논문에서는 (그림 5)의 (a)에서 볼 수 있듯이 RK REG 레지스터를 키 생성 블록의 말단에 삽입하여, 키의 생성과 키의 사용을 분리시켜 최악지연경로가 RK REG 및 X REG의 출력부터 라운드 함수 블록에 한정하도록 하였다. 이를 통해 256비트 키의 암호화만을 지원 하는 논문 [6]과 비교해 암호화와 복호화를 지원하고 128, 192, 256 비트 키 모두를 지원하는 훨씬 복잡한 구조인 본 논문의 IP 성능이 약 30%이상 향상되었다.
질의응답
핵심어
질문
논문에서 추출한 답변
LEA 암호 알고리즘은 어떻게 나누어질 수 있는가?
LEA 암호 알고리즘은 대부분의 암호화 알고리즘과 마찬가지로 키 스케줄링 부분(Key Scheduling Part)과 데이터 랜덤화를 수행하는 라운드 연산 블록(Round Operation Block) 부분 나눌 수 있다. LEA 암호 알고리즘에 대한 설명은 기존의 논문에 자세히 언급되어 있다 [3,6,8].
AES 암호의 장점은 무엇인가?
우리나라에서 주관하여 개발된 대칭형 블록 암호는 SEED, ARIA, HIGHT 및 LEA가 있으며, 미국 NIST에서 주관한 AES 암호는 세계적으로 널리 알려진 암호 알고리즘이다[2-7]. 특히 AES 블록 암호 알고리즘은 강력한 보안 성능과 다양한 암호 운영 모드의 장점으로 인해 무선랜(Wireless LAN), Zigbee 등 다양한 유⦁무선 통신 시스템의 보안 알고리즘으로 폭 넓게 활용되고 있는 것으로 알려졌다[3,7].
대칭형 암호 시스템이란 무엇인가?
대칭형 암호 시스템은 암호화를 위한 키와 복호화를 위한 키가 동일한 시스템으로 DES, IDEA, SKIPJACK, MISTY, Camellia 및 AES(Advanced Encryption Standard) 알고리즘 등 다양하게 발표되었다[4].
참고문헌 (9)
Sungjoo Ha, Jongho Lee, "Design of fast encryption/ decryption for block cipher ARIA," Institute of korean electrical and electronics engineers, Vol. 57 No. 9, pp.1652-1659, Sep. 2008. http://www.ndsl.kr/ndsl/commons/util/ndslOriginalView.do
Seungil Sonh, "Design of Encryption /Decryption Core for Block Cipher HIGHT," JKIICE, Vol.16 No. 4, pp.778-784, April 2012. http://dx.doi.org/10.6109/jkiice.2012.16.4.778
Byeongyoon Choi, Jinil Kim, "CPLD Implementation of SEED Cryptographic Coprocessor," JISPS, Vol.1, No.1-2, pp.177-185, Oct. 2001. http://www.ndsl.kr/ndsl/ commons/util/ndslOriginalView.do
Donggeon Lee et al., "Efficient Hardware Implementation of the Lightweight Block Encryption Algorithm LEA," Sensors, pp.975-994, 2014. http://www.mdpi.com/1424-8220/14/1/975
FIPS Publication 197, "Advanced Encryption Algorithm(AES)," U.S. Doc/NIST. https://doi.org/10.6028/NIST.FIPS.197
※ AI-Helper는 부적절한 답변을 할 수 있습니다.