information security

정보보호 기초 3 - HASH, MD Algorithm

_data 2023. 4. 14. 11:17

Hash

 

Image from hanif

- O(1)의 시간복잡도를 가짐

- Hash는 하나의 문자열을 더 짧은 길이의 값이나 키로 변환하는 것

- 정보의 위조 또는 변조를 확인하기 위한, 정보의 '무결성'을 확인하기 위함

- 전자서명, 전자화폐 등 전자상거래 기능을 구현할 수 있음

- 대표적 해시 알고리즘 : MD5

 

Hash 정의

- 압축 (짧은 출력 길이)

- 효율성 (어떤 x에 대해서도 Hash(x)를 계산하기 쉬워야 함)

- 단방향 (주어진 y에 대해 Hash(x)=y를 만족하는 x 값을 찾는 것이 어려워야 함)

- 약한 충돌 방지 (주어진 x와 Hash(x)에 대해 Hash(y)=Hash(x)를 만족하며 같지 않은 y와 x를 찾기 어려워야함)

- 강한 충돌 방지 (Hash(x) = Hash(y)를 만족하되, 같지 않은 x와 y인 어떤 x와 y도 찾기 어려워야 함)

 

MD Algorithm

- MD5 알고리즘

- MD4에 비해 속도가 빨라진 건 아니지만 보안이 뛰어남

- SHA (리눅스에서 사용되며 MD5가 발전도니 Hash 기법)

Image from ragi