Message Digest는 간단히 말하면 Message Hashing이다.
- 단방향으로만 동작하고 역방향 유추는 불가.
- 암호 저장, file이 동일한 파일인지 비교하는데 쓰인다.
Java Ref - java.security.MessageDigest 존재.
좀 더 복잡하게 하기 위해서 Ref
Salting- 메시지 앞에 특수값을 삽입. (사용자별로 다르게 할 수도 있음)
Key Stretching- Digest하고 그 값을 또 Digest하는 multi-chain형태의 Digest.
=> 위 둘을 잘 섞어서 Adaptive Key Derivation Functions 이라고 부른다.
대표적인 게 PBKDF2랑 bcrypt, scrypt가 있다.
이 존재한다.