Theory/Cryptology

해시함수

D4tai1 2018. 8. 12.

1. 해시함수

- Message Digest Algorithm

- Hash

- 전자지문

암호학적 체크섬

손도장

 

2. 해시함수의 특성

 1) 해시함수는 계산효율이 양호하다.

 2) 일방향성(약)

 - 해시함수로 얻은 해시값(H)으로 부터 서명문 (M)을 찾기는 계산상 불가능하다 [h(M) = H]

 3) 일방향성(강)

 - 서명문 M과 해시값 H가 주어졌을 때 해시값이 같아지는 서로 다른 서명문을 찾는 것이 계산상 불가능하다.

 4) 충돌회피성 = 강한충돌방지

 - 해시값이 같아지는 서로 다른 서명문을 찾는 것이 계산상 불가능하다.

 예제)

 - 약한충돌방지는 생일이 1월 1일인(서명문고정) 사람 찾기

 - 강한충돌방지는 생일이 같은(해시값이 같은) 사람 찾기

 - 즉, 약한충돌방지의 경우가 정해져 있기 때문에 찾기가 더 어렵다.

 

 - 약한충돌깨기(전사공격)는 2의 160승 번

 - 강한충돌깨기(생일공격)는 2의 80승 번

 

+ birthday paradox(생일역설)

- 한 그룹에 366명이 모였을 때 생일이 같은 사람이 존재할 확률은 100%입니다.

- 그러나 생각보다 적은 23명이 모일경우 생일이 같은사람이 존재할 확률이 50%가 넘어갑니다.

 

 

 

3. 해시함수 종류

 1) MD5

  - 128비트 해시값을 출력하며, 512byte단위로 처리한다.

 2) SHA

  - NIST에서 만든 160비트의 해시값을 출력한다.

  - SHA-1, SHA-256, SHA-384, SHA-512 등이 있다.

 

 

 3) RIPEMD-160

  - 160비트의 해시값을 만들어내는 함수로 서명문을 512비트 단위로 처리

 

 

 

4. 해시함수에 대한 공격

 

 

 

5. 해시함수로 해결할 수 없는 문제

- 거짓행세를 검출 불가 [위조를 말하며, 부인방지는 아니다.]

- 인증기능이 없다. (전자서명이 필요)

- 전자서명 서명문의 무결성 보장이 가능하며, 압축도 가능하다.

 

6. 특수전자서명

 1) 부인방지서명

 - 서명 검증 시 반드시 서명자의 도움이 있어야 검증 가능

 - 이산대수 문제를 기반으로 구성

 2) 은닉서명

 - 서명문의 내용을 숨기는 서명방식

 - 서명 작성자의 신원과 서명문을 연결시킬 수 없는 익명성 유지

 3) 위임서명

 - 위임 서명자 지정, 제 3자는 위임서명 불가

 - 위임 서명 검증자는 위임 서명을 위임한 서명자의 동의가 있었음을 확인할 수 있어야 함

 

 

댓글