Hello,

I would like to propose a new class under Chapter
14 (Security and Encryption). The new
class should be known as MAC:: (for Message
Authentication Code).

Message Authentication Code (MAC) is used to
provide authenticity of a stream of data, be it a
file or just a string of characters. Just hashing
the data (using MD5 or SHA-1) would be no good
because an adversary could just recompute a new
hash for the substituted data. With MAC, a secret
key, known only to the two communicating parties,
is appended at the beginning and at the end of the
message, and the resulting message is hashed using
MD5, SHA-1, RIPEMD160, or any one-way hashing
function. At first, it is logical to place MAC
algorithms on the Digest:: class. One well-known
MAC algorithm is HMAC, using either MD5 or SHA-1
as underlying primitives. However, the latest
trend in MAC today is block cipher-based. This
means that the underlying crypto primitive is a
block cipher while providing message
authentication. The standard block cipher-based in
use today is OMAC (One-key CBC MAC). Other MAC
algorithms like this are: RMAC, OCB, PMAC, TMAC,
TTMAC, UMAC, and EMAC.

I would, therefore, strongly suggest that MACs be
categorized as a new class, because MACs no longer
depend on one-way hash functions.

Furthermore, the block cipher-based MACs are also
used as "modes of operations", just like ECB, CBC,
and CFB. The Crypt::CBC module by Lincoln Stein,
for instance, is placed under Crypt:: because it
was exclusively used with block ciphers. Now, with
the addition of these new modes of operations,
which also function as MACs, they cannot be
classfied under Crypt:: either.

JCDUQUE



____________________________________________________________
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
http://login.mail.lycos.com/r/referral?aid=27005

Reply via email to