Gae Ko's Blog

[암호] 해시함수 본문

암호

[암호] 해시함수

Gae Ko 2018. 2. 12. 12:05

무결성 이란?


파일이 변경되지 않았음 을 의미.

정보를 암호화하여 전달하는 경우에서 무결성이란 송신자가 보낸 정보와 수신자가 받은 정보가 동일함을 의미 

이때에 정보의 무결성을 확인할 필요가 있다.


정보(data)를 직접 비교하는 대신에 해시 값을 비교한다. 


파일을 비교하는 대신에 해시 값을 비교하는 방법



일방향 해시 함수의 성질


- 임의의 길이 메세지로부터 고정 길이의 해시 값을 계산한다.

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

- 메세지가 다르면 해시 값도 다르다.

- 일방향성을 갖는다.

   : 해시값으로부터 메세지를 역연산할 수 없음



일방향 해시 함수의 예 


- MD4와 MD5

  MD4는 128비트의 해시 값으로 현재는 안전하지 않음

  MD5는 128비트의 해시 값으로 내부구조의 일부에 대한 공격 방법이 발견됨. 사용 권장 X


- SHA-1, SHA-256, SHA-384, SHA-512

  SHA-1은 160 비트의 해시값, 메세지 길이 상한 2^64 비트로 큰 값이므로 현실적인 적용에는 문제가 없다.

  SHA-256은 256 비트의 해시값, 메세지 길이 상한 2^64 비트 

  SHA-384는 384 비트의 해시값, 메세지 길이 상한 2^128 비트

  SHA-512는 512 비트의 해시값, 메세지 길이 상한 2^128 비트 


- RIPEMD-160


- SHA(Advanced Hash Standard)와 SHA-3



일방향 해시 함수로 해결할 수 없는 문제


일방향 해시 함수는 '조작 또는 변경'을 검출할 수 있지만, '거짓 행세'는 검출하지 못한다.

→ 인증 : 이 파일이 정말로 앨리스가 작성한 것인지를 확인하는 것 (메세지 인증 코드, 디지털 서명)