2018년 11월 26일
LSH 암호화 (Lightweight Secure Hash)
1. 고속 경량 해시 알고리즘, LSH 암호화(Lightweight Secure Hash)
(1) LSH암호화 (Lightweight Secure Hash) 개념
- w비트 워드 단위로 동작하여 n비트 출력값을 가지는 고속 경량 해시 암호화 알고리즘
(2) LSH 암호화의 특징
- LSH-8w-n → w: 32 or 64, n: 1 ~ 8w 사이의 정수를 만족하는 암호 알고리즘 예) LSH-256-256, LSH-512-256, LSH-512-512
2. LSH 암호화 구성도 및 절차
(1) LSH암호화 구성도
|
- 해시함수는 Message에 대해 초기화→압축→완료 단계 후 출력
(2) LSH암호화 절차
| 절차 | 설명 |
|---|---|
| 초기화 | – 입력 메시지를 메시지 블록 비트 길이의 배수가 되도록 패딩 후 분할 – 연결 변수를 IV로 초기화 |
| 압축 | – 32 워드 배열 메시지 블록을 압축 함수 출력값으로 연결 변수 갱신 – 마지막 메시지 블록 처리까지 반복 |
| 완료 | – 최종 저장된 값으로부터 n 비트 길이의 해시 함수 출력값 생성 |
– LSH는 다양한 SW환경에서 국제 표준(SHA2/3) 대비 2배 이상의 성능 암호화 알고리즘
[참고]
- 한국인터넷진흥원(KISA), LSH
2 Comments
정의에서 w비트 원드 단위라고 나오는 데요….w비트가 뭐여요?
w비트는 CPU가 한 번에 처리할 수 있는 크기(1 word)의 bit 길이인 32 또는 64를 말합니다. 예를 들어 LSH-8w-n에 w=32를 적용 시 LSH-256-n이 되며, w=64를 적용 시 LSH-512-n이 됩니다. 메시지 크기는 LSH-512-256 적용 시 512 bit 평문을 암호화하면 256 bit 암호문이 생성됩니다.
KISA LSH 암호기술 문서 (https://seed.kisa.or.kr/kisa/algorithm/EgovLSHInfo.do)의 관련자료 항목에서 “LSH 해시 함수 사양 및 세부 명세” 자료를 읽어 보시면 도움이 되실 듯 합니다.