경량암호 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
10번째 줄: 10번째 줄:
 
== 역사 ==
 
== 역사 ==
 
=== 과거 ===
 
=== 과거 ===
경량 대칭키 암호 알고리즘은 2001년 AES 표준화 이후로 본격적으로 연구되기 시작했다. 서버나 PC 등 대부분의 환경의 암호화를 AES가 맡게 되었지만, 경량 환경은 AES의 설계에서 고려된 것이 아니었기 때문이다. 또, 컴퓨터 시스템과 네트워크 기술의 발전은 곧 모든 장비의 소형화와 지능화라는 결과로 이어지기 때문에, 하드웨어나 소프트웨어의 최적화는 제품의 성능이나 기능 향상, 개발 비용의 최소화 등에 매우 중요한 역할을 맡고 있다. 암호학자들은 경량 암호 알고리즘을 가용 자원이 제한된 다양한 환경에서 효율적으로 구현하고 동작할 수 있는 암호 알고리즘이라고 정의한다. 이러한 경량 블록 암호 알고리즘의 초기는 설계 초점을 하드웨어 구현 면적의 최소화에 두었다. 체스 2006에서 발표된 경량 블록 암호 HIGHT는 하드웨어 구현 면적을 최소화하기 위해서  8비트 산술연산으로 라운드 함수를 구성했다. 다른 말로는 사용된 연산자들의 앞글자를 따서 ARX 구조로 불리기도 한다. 체스 2007에서 경량 블록 암호 PRESENT가 발표되었다. 이 역시 하드웨어 구현 면적의 최소화를 위해 노력했는데, 4비트 S-box와 비트 치환으로 라운드 함수를 구성했다. 4비트 S-box는 AES의 8비트 S-box보다 복잡도가 매우 낮아서 하드웨어의 구현 면적이 좁고 비트 치환이 단순히 비트의 위치를 옮겨주는 연산이기 때문에 별도의 구현 비용 또한 발생하지 않는다. FSE 2007에서 발표된 경량 블록 암호 CLEFIA는 위의 두 블록 암호와 다른 경량성 정의에 기반한다. CLEFIA의 설계자들은 AES와 동일한 블록길이와 키 길이를 고수해서 언제나 동일한 안전성을 제공할 수 있도록 개발했다. 또, 더 강력한 확산 계층을 적용해서 라운드 수를 줄여서 결과적으로 암호화 속도가 향상되도록 개발했다. 즉, 동일한 안전성과 구현 면적에서 암호화 속도가 빠르다면 전력 소모가 감소한다는 관점에서 경량성을 강조했다.  
+
경량 대칭키 암호 알고리즘은 2001년 AES 표준화 이후로 본격적으로 연구되기 시작했다. 서버나 PC 등 대부분의 환경의 암호화를 AES가 맡게 되었지만, 경량 환경은 AES의 설계에서 고려된 것이 아니었기 때문이다. 또, 컴퓨터 시스템과 네트워크 기술의 발전은 곧 모든 장비의 소형화와 지능화라는 결과로 이어지기 때문에, 하드웨어나 소프트웨어의 최적화는 제품의 성능이나 기능 향상, 개발 비용의 최소화 등에 매우 중요한 역할을 맡고 있다. 암호학자들은 경량 암호 알고리즘을 가용 자원이 제한된 다양한 환경에서 효율적으로 구현하고 동작할 수 있는 암호 알고리즘이라고 정의한다. 이러한 경량 블록 암호 알고리즘의 초기는 설계 초점을 하드웨어 구현 면적의 최소화에 두었다. 체스 2006에서 발표된 경량 블록 암호 HIGHT는 하드웨어 구현 면적을 최소화하기 위해서  8비트 산술연산으로 라운드 함수를 구성했다. 다른 말로는 사용된 연산자들의 앞글자를 따서 ARX 구조로 불리기도 한다. 체스 2007에서 경량 블록 암호 PRESENT가 발표되었다. 이 역시 하드웨어 구현 면적의 최소화를 위해 노력했는데, 4비트 S-box와 비트 치환으로 라운드 함수를 구성했다. 4비트 S-box는 AES의 8비트 S-box보다 복잡도가 매우 낮아서 하드웨어의 구현 면적이 좁고 비트 치환이 단순히 비트의 위치를 옮겨주는 연산이기 때문에 별도의 구현 비용 또한 발생하지 않는다. FSE 2007에서 발표된 경량 블록 암호 CLEFIA는 위의 두 블록 암호와 다른 경량성 정의에 기반한다. CLEFIA의 설계자들은 AES와 동일한 블록길이와 키 길이를 고수해서 언제나 동일한 안전성을 제공할 수 있도록 개발했다. 또, 더 강력한 확산 계층을 적용해서 라운드 수를 줄여서 결과적으로 암호화 속도가 향상되도록 개발했다. 즉, 동일한 안전성과 구현 면적에서 암호화 속도가 빠르다면 전력 소모가 감소한다는 관점에서 경량성을 강조했다. 경량암호 HIGHT와 PRESENT가 발표된 뒤의 경량 블록 암호 설계 관련 연구 경향은 다음과 같이 정리되기도 한다.
 
+
# 경량 블록 암호 구현 방법의 다양화
경량암호 HIGHT와 PRESENT가 발표된 뒤의 경량 블록 암호 설계 관련 연구 경향은 1) 경량 블록 암호 구현 방법의 다양화, 2) 소프트웨어 경량의 개념 등장, 3) 하드웨어 및 소프트웨어 경량 구현에 적합한 연산들에 대한 연구, 4) 블록 암호의 가장 대표적인 안정성 분석 방법인 차분 공격과 선형 공격에 사용될 수 있는 특성들을 효율적으로 탐색하는 방법, 이렇게 네 가지로 정리되기도 한다. 하드웨어 경량 구현에서는 면적의 최소화 구현, 면적 대비 속도 최대화 구현과 관련한 연구가 진행되었고, ASIC 구현 프로세스에 따라 구현한 결과의 비교 분석 연구 또한 많다. 소프트웨어 경량 개념 등장은 저가형 중앙처리장치의 발전으로 소형화 영역이 더 이상 하드웨어만의 것이 아니게 되었기 때문에 연구가 증가했다. 경량 소프트웨어 구현에 적합한 암호 알고리즘의 필요성 증가에 따라, 코드 크기 최소화 구현, 코드 크기 대비 속도 최대화 구현, 속도 최대화 구현에 관한 연구가 진행되었다. <ref> 홍득조, 〈[경량 블록암호 알고리즘 설계 연구 동향]〉, 《정보보호학회지》, 2020-06 </ref>
+
# 소프트웨어 경량의 개념 등장
 +
# 하드웨어 및 소프트웨어 경량 구현에 적합한 연산들에 대한 연구
 +
# 블록 암호의 가장 대표적인 안정성 분석 방법인 차분 공격과 선형 공격에 사용될 수 있는 특성들을 효율적으로 탐색하는 방법<ref> 홍득조, 〈[경량 블록암호 알고리즘 설계 연구 동향]〉, 《정보보호학회지》, 2020-06 </ref>
  
 
=== 동향 ===
 
=== 동향 ===

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)