본문 바로가기
[2-3]operating system/[2-1.4]Algorithm

해쉬 함수는 임의 길이를 가진 데이터를 '특정 길이의 데이터'로 변환하는과정이다.

by 오늘도 빛나는 너에게 2020. 3. 13.
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

댓글