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

해쉬 함수가 갖는 3가지 특성

by 오늘도 빛나는 너에게 2020. 3. 9.
728x90

해쉬 함수가 갖는 세 가지 특성

1. 역상 저항성

역상 저항성은 해시 값이 주어졌을 때, 그 해시 값을 생성하는 입력값을 알아내기가 불가능하다는 특성.

즉, 주어진 해시 값이 H가 있다면 그 해시 값을 생성하는 (H=Hash(M)) M을 계산하기가 어려워야 한다.

2. 제2 역상 저항성

제2 역상 저항성은 어떤 입력 값과 동일한 해시 값 (결과 값)을 가지는 다른 입력 값을 찾을 수 없어야 한다는 특성

즉, 어떤 입력값 M1 에 대해 M1≠M2이며, Hash(M1)=Hash(M2)인

3. 충돌 저항성

충돌 저항성은 해시 값 (결과 값)이 이 같은 입력 값 두 개를 찾을 수 없다는 특성이다.

역상 저항성과 비슷해 보이지만,의미는 다르다.

충돌 저항성은 해시 값이 무엇인든 (그 값을 알든 모르든) 특정하게 같은 해시 값을 생성하는 값 두 개를 찾는 과정이

문제이고, 역상 저항성은 해시 값을 알고 있을 때 원래 값을 찾아내는 것이 문제이다.

역상 저항성| 제 2 역상 저항성


*보통 비밀 번호를 해시 함수로 암호화하면 로그인을 할 때 입력하는 비밀번호의 해시 값과 저장된 해시 값을 비교하여

사용자를 확인한다. 역상 저항성은 비밀번호의 해시 값이 저장된 데이터 베이스가 공격을 당해 해시 값이 유출되었을 때 의미가 있다

다른 사용자가 유출된 해시 값으로 해당 서비스에 로그인할 수 있는 것도 문제이지만, 해시 값인 비밀번호만 알면 동일한 

비밀번호를 사용하는 다른 서비스까지도 위험할 수 있다는 것이 더 큰 문제이다.

그래서 해시함수로 비밀번호를 암호화할 때 일반 대칭 키 암호화 알고리즘보다 키 길이를 두배로 설정하라고 권고한다.

 

728x90

댓글