Hash functions
Chooses the key \( K \)
Computes the MAC \( HMAC_{S} \) of the message \( m \):
Enter the message (or integer) that Samantha wants to sign:
Hit enter to generate the parameters and use the left and right arrow keys to navigate.
Samantha chooses the 512-bit hexadecimal key \( K \) for the hash function \( \mathcal{H} \).
She then sends the key \( K \) through a secure channel to Victor.
Samantha uses the key \( K \), the 512-bit fixed hexadecimal strings \( opad = 36 \dots 36 \) and \( ipad = 5C \dots 5C \) to compute the MAC \(HMAC_{S} \) of the message \( m \) where \( \mathcal{H} \) is the SHA-1 hash function.
She then sends the MAC \( HMAC_{S} \) and the message \( m \) to Victor.
Like Samantha, Victor uses the key, the fixed hexadecimal strings \( opad = 36 \dots 36 \) and \( ipad = 5C \dots 5C \) and the SHA-1 hash function \( \mathcal{H} \) to compute the MAC \(HMAC_{V} \) of the message \( m \).
Victor verifies the MAC of the message \( m \).
If the two MAC's are equal he know that the message was written and signed by Samantha, i.e. nobody have tampered with the message.
Receives the key \( K \)
Receives the message \( m \) and the MAC \( HMAC_{S} \)
Computes the MAC \( HMAC_{V} \) of the message \( m \):
Verifies the MAC of the message: