HMAC과 MAC의 차이
- HMAC는 다양한 해쉬 함수를 사용 가능
HMAC 구성방법
사진 출처: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
1. key에 대한 패딩: hash함수의 block 길이 만큼 0으로 padding
2. 패딩한 key와 ipad의 XOR 함 (ipad는 00110110(0x36) 의 hash함수의 block 길이 만큼 반복 된 값)
3. 메세지와 XOR한 값을 결합
4. sha1 (1st pass) hash값 계산
5. 패딩한 key와 opad의 XOR 함 (opad는 01011100(0x5c) 의 hash함수의 block길이 만큼 반복 된 값)
6. 5에서 수행한 값을 hash sum1과의 결함
7. sha1 (2nd pass) hash값 계산
8. MAC값 생성