Historically, computer security is related to both cryptography and access
control in operating systems. Cryptography, although mostly applied in
the military and diplomacy, was used to protect communication channels
and storage facilities (especially the backups). In the seventies there was a
breakthrough in cryptography - the invention of public-key cryptography. It
started in 1976 when Dime and Hcllman formulated their public-key distribu-
tion system and formally defined public-key cryptosystems. Two years later
two practical implementations of public-key cryptosystems were published.
One was designed by Rivest, Shamir, and Adleman (called the RSA system);
the authors based the system on the two "difficult" numerical problems: dis-
crete logarithm and factorization. The other invented by Merklc and Hcllman
was based on the knapsack problem, which is even "harder" than these used
in the RSA system. Since that time cryptography, traditionally seen as the
theory of encryption algorithms, has extended its scope enormously. Now it
comprises many new areas, namely authentication, digital signature, hash-
ing, secret sharing, design and verification of cryptographic protocols, zero
knowledge protocols, quantum cryptography, etc.
This work presents recent developments in secure hashing algorithm
design. The main part of the work was written when the authors were with
the Department of Computer Science, University of New South Wales, Aus-
tralian Defence Force Academy, and Babak Sadeghiyan was a PhD student
working with Josef Pieprzyk as his supervisor.