Chooses the key \( K \)

Computes the MAC \( MAC_{S} \) of the message \( m \):

Enter the message (or integer) that Samantha wants to sign:

Use the following cryptosystem:

Hit **enter** to generate the parameters and use the
**left** and **right** arrow keys to navigate.

In CBC-MAC Samantha first encrypts the message \( m \) and then use the last ciphertext block as the MAC.

Before she can encrypt \( m \) she needs to convert each letter into its corresponding ASCII value and then convert each ASCII values into its binary representation.

Victor follows the same procedure as Samantha to compute his own MAC \( MAC_{V} \) of the received message \( m \).

Before Victor can encrypt the message \( m \) he needs to convert each letter into its corresponding ASCII value and then convert each ASCII values into its binary representation.

Victor verifies the MAC of the message \( m \). If the two MAC's are equals 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 \( MAC_{S} \)

Computes the MAC \( MAC_{V} \) of the message \( m \):

Verifies the MAC of the message: