728x90
해쉬 함수는 임의 길이를 가진 데이터를 '특정 길이의 데이터'로 변환하는 과정이다.
암호화 알고리즘과 달리 해시 함수에는 키가 없다
그 대신에 해시 값의 길이가 암호화 알고리즘에서 키 길이와 동일한 역할을 한다.
해시 함수와 블록 암호화 알고리즘은 난수처럼 보이는 결과물을 생성한다는 공통점이 있다.
해시 알고리즘의 보안 강도
|
SHA-1 |
SHA-224 |
SHA-256 |
SHA-384 |
SHA-512 |
SHA-512/224 |
SHA-512/256 |
충돌 저항성 |
< 80 |
112 |
128 |
192 |
256 |
112 |
128 |
역상 저항성 |
160 |
224 |
256 |
384 |
512 |
224 |
256 |
제2 역상 저항성 |
105-160 |
201-224 |
201-256 |
384 |
394-512 |
224 |
256 |
같은 해시 함수라 하더라도 어떤 용도로, 어떤 방식으로 사용되었냐에 따라 보안 강도가 다르다.
암호 알고리즘과 암호 시스템 안전성의 기준을 ‘혼돈’과 ‘확산’을 달성하는 것에 둔 것과 마찬가지로,
해시 함수에서는 ‘확산’을 실현하기 위해서 사용 목적과 방식에 맞게 키 길이를 가이드하는 것이고.,
해시 함수에서 키 길이는 해시 값의 길이다.
충돌 저항성이 문제인 환경이라면 충돌 저항성의 보안성을 기준으로 키 길이는 더 길어야 한다.
역상 저항성만 문제라면 충돌 저항성이 문제일 때보다는 키 길이가 조금 짧아도 안전성을 확보할 수 있다.
예를 들어 단일 해시 함수와 전자서명용 해시 함수는 특정 해시 값을 공유하는 두 값이 있을 때는 사용자를 정확하게 인증할 수 없으므로 충돌 저항성이 문제가 되므로 키 길이가 길어야 하는 것입니다.
728x90
'[2-3]operating system > [2-1.4]Algorithm' 카테고리의 다른 글
암호화 알고리즘의 필요성 (0) | 2021.08.24 |
---|---|
암호키 관리 (0) | 2020.03.13 |
OPE 기법 순서 유지 암호화 (0) | 2020.03.12 |
스트링 암호화와 블록 암호화 (0) | 2020.03.12 |
해쉬함수 충돌저항성의 대한 안정성 보완 (0) | 2020.03.09 |
댓글