"HIGHT"의 두 판 사이의 차이
fshiel8165 (토론 | 기여) (→키 스케줄) |
fshiel8165 (토론 | 기여) (→기호와 표기) |
||
18번째 줄: | 18번째 줄: | ||
64비트 평문과 암호문은 각각 8개의 바이트로 다음과 같다. | 64비트 평문과 암호문은 각각 8개의 바이트로 다음과 같다. | ||
− | :* 평문 : <math>{\displaystyle P_{7} || P_{6} | + | :* 평문 : <math>{\displaystyle P_{7} || P_{6} || \cdots || P_{0}}</math> |
− | :* 암호문 : <math>{\displaystyle C_{7} || C_{6} || | + | :* 암호문 : <math>{\displaystyle C_{7} || C_{6} || \cdots || C_{0}}</math> |
64비트 라운드함수 입·출력은 8개의 바이트로 다음과 같다. | 64비트 라운드함수 입·출력은 8개의 바이트로 다음과 같다. | ||
− | ::* <math> {\displaystyle X_{i} = X_{i,7} || X_{i,6} | + | ::* <math> {\displaystyle X_{i} = X_{i,7} || X_{i,6} || \cdots || X_{i,0}, i=0, \cdots ,32 }</math> |
128비트 키(마스터키)는 16개의 바이트로 다음과 같다. | 128비트 키(마스터키)는 16개의 바이트로 다음과 같다. | ||
− | :* <math> {\displaystyle MK = MK_{15} || MK_{14} || | + | :* <math> {\displaystyle MK = MK_{15} || MK_{14} || \cdots || MK_{0}} </math> |
라운드함수에 적용되는 라운드키는 서브키 <math> {\displaystyle SK_{i}}</math>와 화이트닝키 <math> {\displaystyle WK_{i} }</math> | 라운드함수에 적용되는 라운드키는 서브키 <math> {\displaystyle SK_{i}}</math>와 화이트닝키 <math> {\displaystyle WK_{i} }</math> | ||
− | :* <math> {\displaystyle SK_{i}, i=0, | + | :* <math> {\displaystyle SK_{i}, i=0,\cdots ,127 }</math> |
− | :* <math> {\displaystyle WK_{i}, i=0, | + | :* <math> {\displaystyle WK_{i}, i=0,\cdots ,7 }</math> |
산술 연산 기호 | 산술 연산 기호 | ||
:* ⊞ : 법 <math> {\displaystyle 2^{8}} </math> 덧셈 | :* ⊞ : 법 <math> {\displaystyle 2^{8}} </math> 덧셈 |
2019년 7월 4일 (목) 17:04 판
HIGHT(HIGh security and light weigHT) 암호 알고리즘은 RFID, USN 등과 같이 저전력ㆍ경량화를 요구하는 컴퓨팅 환경에서 기밀성을 제공하기 위해 2005년 KISA, ETRI 부설연구소 및 고려대가 공동으로 개발한 GFS구조의 64비트 경량 블록 암호 알고리즘이다. 스마트폰, 스마트카드 및 RFID등과 같이 저전력, 경량화를 요구하는 모바일 환경에서 기밀성 있는 보안을 확보하기 위해 개발되었다.
목차
특징
- 휴대형 기기 및 모바일 환경에 적합하도록 특수 설계되었고, 전력 소비가 적도록 개발된 블록 암호화 알고리즘이다.
- 8비트 단위의 기본적인 산술연산, XOR, 순환이동만으로 사용가능 하도록 간단구조로 설계되었다.
- 128비트 국산암호화 알고리즘 SEED에 비해 제한된 호나경에 적용하기위해 매우 간단한 구조의 안전성, 효율성을 동시에 고려하였다.
- 메모리와 같은 하드웨어 자원이 부족한 환경에 적합하도록 일반적인 블록 암호화 알고리즘과는 다르게 S-Box(Substitution-box)를 제거하였다.
- 2006년 12월 정보통신단체 표준으로 제정되었다.
- 2010년 12월 ISO/IEC 국제 표준으로 제정되었다.
알고리즘
HIGHT 알고리즘은 전체적으로 일반화된 Feistel 변형 구조로 이루어져 있으며, 64비트의 평문과 128비트의 키로부터 생성된 8개의 8비트 화이트닝키와 128개의 8비트 서브키를 입력으로 사용함으로써 총 32라운드를 거쳐서 64비트 암호문을 출력한다.
기호와 표기
64비트 평문과 암호문은 각각 8개의 바이트로 다음과 같다.
- 평문 :
- 암호문 :
64비트 라운드함수 입·출력은 8개의 바이트로 다음과 같다.
128비트 키(마스터키)는 16개의 바이트로 다음과 같다.
라운드함수에 적용되는 라운드키는 서브키 와 화이트닝키
산술 연산 기호
- ⊞ : 법 덧셈
- ⊟ : 법 뺄셈
- ⊕ : XOR (배타적 논리합)
- : 8비트 값 A에 대한 8비트 좌측 순환 이동
키 스케줄
HIGHT의 라운드키는 화이트닝키와 LFSR을 사용하여 생성한 서브키들로 이루어진다.
1. 화이트닝키 생성
화이트닝키는 마스터키를 사용하여 다음과 같은 방법으로 생성한다.
2. LFSR(Left Feedback Shift Register)
LFSR 의 연결 다항식은 이다. 이 다항식은 에서 원시다항식이기 때문에 는 의 주기를 갖는다. 의 초기 내부 상태 값은 으로 정해진다. 그러면 에 대하여 는 다음과 같이 생성된다.
전망
국산 암호화 기술이 스마트폰, USN, U-City, U-Health등 유비쿼터스 환경에서 널리 활용될 수 있도록 중소기업을 포함한 산학연(산업계, 학계, 연구분야)을 대상으로 무료로 소스코드를 배포하는 등 암호이용 활성화를 위해 지속적으로 지원할 계획이라고 한다.
|