본문 바로가기
학부/Network Security

일방향 해시 함수(one-way hash function)

by ulqaef 2019. 4. 21.
728x90

해시 함수(one-way hash function)는 임의의 길이인 데이터를 고정된 크기의 해시값으로 변환해주는 함수이다.

 

이전에 공부한 대칭암호, 공개키암호는 데이터의 기밀성을 확인하는 방법이라면

일방향 해시함수는 데이터의 무결성을 확인하는 방법이다.

 

기밀성(Confidentiality)이란 허가된(Authorization) 사용자만 데이터에 접근할 수 있는 것을 의미한다.

무결성(Integrity)이란 데이터가 허가된 사용자에 의해, 허가된 방법으로 변경가능한 것을 의미한다.

즉, 데이터의 완전성과 정확성을 보장하는 것이다.

 

무결성을 검증하기 위해서 바로 일방향해시함수를 이용하는 것이다.

데이터의 무결성을 검증하기 위해서 데이터 그 자체를 비교하는 것이 아닌

일방향 해시 함수로 계산 해시값(Hash Value)을 비교하여 무결성을 확인하게 된다.

 

 

일방향해시함수

 

 

해시 함수 앞에 "일방향"이라는 단어가 붙은 이유는 일방향성을 가질 필요가 있기 때문이다.

이것은 해시 값으로부터 메시지를 역산해 낼 수 없어야 한다는 것이다.

이 성질은 일방향 해시함수를 응용할 때 굉장히 중요한 성질이므로 기억해두자.

 

일방향 해시함수의 일방향성

 

 

 

일방향 해시 함수는 "일방향성"이라는 특징 외에도 여러 특징들이 있다.

 

우선 임의이 길이 메시지로부터 고정 길이의 해시 값을 계산한다는 것이다.

일방향 해시 함수는 입력 값으로 어떤 크기의 메시지(데이터)가 들어오더라도

고정된 길이의 해시 값으로 계산하게 된다.

 

그리고 해시 값을 고속으로 계산할 수 있다.

메시지의 길이가 길수록 해시 값으로 계산하는 시간이 길어지는 건 어쩔 수 없다.

하지만 현실적인 시간 내에 계산이 가능해야한다.

 

메시지가 달라지면 해시값도 바뀌게 된다.

즉, 메시지의 1비트라도 달라지게 된다면 해시값이 달라진다는 것이다.

같은 값이 출력될 수도 있지만 거의 불가능한 수준의 확률로 그래야 한다.

 

해시 값이 동일하면서 다른 메시지가 존재하는 것을 충돌(collision)이라고 한다.

일방향 해시 함수를 이용하여 무결성을 확인하기 위해서는 충돌이 존재해서는 안 된다.

이러한 성질을 충돌 내성(collision resistance) 이라고 한다. 즉 일방향 해시 함수는 충돌 내성을 가져야 한다.

 

 

어느 메시지의 해시 값이 주어졌을 때 그 해시 값과 동일한 메시지를 발견해내는 것이 매우 곤란한 성질을

약한충돌내성이라고 한다.

 

해시 값이 일치할 것 같은 서로 다른 2개의 메시지를 발견해내는 것이 매우 곤란한 성질을

강한충돌내성이라고 한다.

 

 

 

 

 

 

<참고 : 히로시 유키 - 알기 쉬운 정보보호개론>

728x90
반응형

'학부 > Network Security' 카테고리의 다른 글

하이브리드 암호 시스템(Hybrid Cryptosystem)  (0) 2019.04.20
RSA  (0) 2019.04.20
키 배송문제(Key Distribution Problem)  (0) 2019.04.20
CTR(CounTeR)모드  (0) 2019.04.20
OFB(Output-FeedBack)모드  (0) 2019.04.20

댓글


`