해시함수
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. 해시함수로 해결할 수 없는 문제
- 거짓행세를 검출 불가 [위조를 말하며, 부인방지는 아니다.]
- 인증기능이 없다. (전자서명이 필요)
- 전자서명 서명문의 무결성 보장이 가능하며, 압축도 가능하다.
1) 부인방지서명
- 서명 검증 시 반드시 서명자의 도움이 있어야 검증 가능
- 이산대수 문제를 기반으로 구성
2) 은닉서명
- 서명문의 내용을 숨기는 서명방식
- 서명 작성자의 신원과 서명문을 연결시킬 수 없는 익명성 유지
3) 위임서명- 위임 서명자 지정, 제 3자는 위임서명 불가
- 위임 서명 검증자는 위임 서명을 위임한 서명자의 동의가 있었음을 확인할 수 있어야 함
'Theory > Cryptology' 카테고리의 다른 글
메세지 인증 코드 (MAC) (0) | 2018.08.12 |
---|---|
RSA 전자서명 (0) | 2018.08.12 |
전자서명 (0) | 2018.08.12 |
공개키 암호의 문제점과 하이브리드 암호 (0) | 2018.08.12 |
공개키 - Rabin암호, Knapsack암호, 초증가수열, 타원곡선암호(ECC) (0) | 2018.08.12 |
댓글