Abstract. Message authentication codes (MACs) using polynomial evaluation have the advantage of requiring a very short key even for very large messages. We describe a low complexity software polynomial evaluation procedure, that for large message sizes gives a MAC that has about the same low software complexity as for bucket hashing but requires only small keys and has better security characteristics.Key words: Message authentication, universal hash functions, polynomial evaluation, software MAC generation.
IntroductionThe verification of the authenticity of a text document or a datafile is one of the main applications of cryptographic techniques. A common used technique for this purpose is the application of a message authentication code (MAC). Basically we have two users called the sender S (or signer) and the verifier V. S and V share a secret random key string and a publicly known MAC. The MAC maps a message string to a shorter, so called, tag string. The sender calculates the tag corresponding to the message string and the shared secret key string and sends the message to V together with the tag. V accepts a received message if the received tag is the same as the tag for the received message and the secret key. A good MAC is designed to make it hard for an adversary to send own messages or substitute observed messages by new ones, without being detected by the receiver. Usually one distinguishes between so called unconditionally secure, computationally secure, and provable secure authentication codes, [1, page 392]. Codes belonging to the first category are codes for which the security of the MAC is independent of the computational power of the adversary. The security of these codes is expressed in the probability of success of an deception attack. A MAC is called computationally secure if the adversary is faced with the difficulty that all known