Hash는 변경 지문이고 HMAC은 공유 키 소유까지 확인한다

둘 다 입력이 바뀌면 결과가 달라지지만, Hash는 누구나 다시 계산할 수 있다. HMAC만 비밀 키를 아는 상대가 만든 값인지 확인한다.

1 · Hash메시지를 지문으로 변환

message → digest
같은 입력은 같은 고정 길이 결과를 만든다.

2 · 한계공격자도 다시 계산

메시지를 바꾸고 새 Hash를 붙일 수 있어 출처나 비밀 소유를 증명하지 못한다.

3 · HMAC비밀 키를 입력에 결합

key + message → tag
공유 키가 없으면 유효한 tag를 만들기 어렵다.

4 · Verify받은 tag를 안전하게 비교

같은 키로 계산한 결과와 비교해 메시지 변경과 키 소유 여부를 함께 판정한다.

선택: 공개 파일의 동일성 확인에는 Hash를 쓸 수 있지만, 신뢰되지 않는 통신에서 메시지 인증이 필요하면 공유 비밀을 쓰는 HMAC 같은 MAC이 필요하다.