information security
정보보호 기초 3 - HASH, MD Algorithm
_data
2023. 4. 14. 11:17
Hash
- 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 기법)