A type of Hashing algorithm designed to produce MAC. Allows Separation of message from Secret Key so that the order of secret key + message doesn’t matter.

Algorithm

Where:

  • is the Hash function
  • is the message to be authenticated
  • is the secret key
  • is the block-size secret key defined as:
  • is concatenation
  • is bitwise XOR
  • is padding consisting of repeated
  • is padding consisting of repeated

Implementations