2018년 11월 26일
LSH 암호화 (Lightweight Secure Hash)
I. 고속 경량 해시 알고리즘, LSH
가. LSH(Lightweight Secure Hash)의 개념
w비트 워드 단위로 동작하여 n비트 출력값을 가지는 고속 경량 해시 암호화 알고리즘
나. LSH의 특징
– LSH-8w-n → w: 32 or 64, n: 1 ~ 8w 사이의 정수를 만족하는 암호화 알고리즘 예) LSH-256-256, LSH-512-256, LSH-512-512
II. LSH 암호화 구성도 및 절차
가. LSH 암호화 구성도
– 해시함수는 Message에 대해 초기화→압축→완료 단계 후 출력
나. LSH 암호화 절차
절차 | 설명 |
---|---|
초기화 | – 입력 메시지를 메시지 블록 비트 길이의 배수가 되도록 패딩 후 분할 – 연결 변수를 IV로 초기화 |
압축 | – 32 워드 배열 메시지 블록을 압축 함수 출력값으로 연결 변수 갱신 – 마지막 메시지 블록 처리까지 반복 |
완료 | – 최종 저장된 값으로부터 n 비트 길이의 해시 함수 출력값 생성 |
– LSH암호는 다양한 SW환경에서 국제 표준(SHA2/3) 대비 2배 이상의 성능 암호화 알고리즘
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 해시 함수 사양 및 세부 명세” 자료를 읽어 보시면 도움이 되실 듯 합니다.