  The Message Authenticator Algorithm (MAA) is one of the first cryptographic
functions for computing a Message Authentication Code. Between 1987 and 2001,
the MAA was adopted in international standards (ISO 8730 and ISO 8731-2) to
ensure the authenticity and integrity of banking transactions. In 1990 and
1991, three formal, yet non-executable, specifications of the MAA (in VDM, Z,
and LOTOS) were developed at NPL. Since then, five formal executable
specifications of the MAA (in LOTOS, LNT, and term rewrite systems) have been
designed at INRIA Grenoble. This article provides an overview of the MAA and
compares its formal specifications with respect to common-sense criteria, such
as conciseness, readability, and efficiency of code generation.
