Efficient Pipelined Hardware Implementation of RIPEMD-160 Hash Function
In this paper an efficient implementation of Ripemd-
160 hash function is presented. Hash functions are a special family
of cryptographic algorithms, which is used in technological
applications with requirements for security, confidentiality and
validity. Applications like PKI, IPSec, DSA, MAC-s incorporate
hash functions and are used widely today. The Ripemd-160 is
emanated from the necessity for existence of very strong algorithms
in cryptanalysis. The proposed hardware implementation can be
synthesized easily for a variety of FPGA and ASIC technologies.
Simulation results, using commercial tools, verified the efficiency of
the implementation in terms of performance and throughput. Special
care has been taken so that the proposed implementation doesn-t
introduce extra design complexity; while in parallel functionality was
kept to the required levels.
[1] RFC 2510 - Internet X.509 PKI - Certificate Management Protocols,
available at www.ietf.org/rfc/rfc2510.txt
[2] SP800-77 , Guide to IPSec VPN-s, National Institute of Standards and
Technology (NIST).
[3] Secure Electronic Transactions: An Overview, available at
www.davidreilly.com/topics/electronic_commerce/essays/secure_electro
nic_transactions.html
[4] Johnston D, Walker J, Overview of IEEE802.16 Security, IEEE Security
and Privacy, May-June 2004.
[5] FIPS 186, (DSS), Digital Signature Standard Federal Information
Processing Standard, (FIPS), Publication 180-1, NIST, US Dept of
Commerce.
[6] Introduction to SSL, available at http://docs.sun.com/source/816-6156-
10/contents.htm
[7] FIPS 198, The Keyed-Hash Message Authentication Code (HMAC)
Federal Information Processing Standard, (FIPS), Publication 180-1,
NIST, US Dept of Commerce.
[8] H. Dobbertin, A. Bosselaers, B. Preneel, RIPEMD-160: A Strengthened
Version of RIPEMD, 18 April 1996.
[1] RFC 2510 - Internet X.509 PKI - Certificate Management Protocols,
available at www.ietf.org/rfc/rfc2510.txt
[2] SP800-77 , Guide to IPSec VPN-s, National Institute of Standards and
Technology (NIST).
[3] Secure Electronic Transactions: An Overview, available at
www.davidreilly.com/topics/electronic_commerce/essays/secure_electro
nic_transactions.html
[4] Johnston D, Walker J, Overview of IEEE802.16 Security, IEEE Security
and Privacy, May-June 2004.
[5] FIPS 186, (DSS), Digital Signature Standard Federal Information
Processing Standard, (FIPS), Publication 180-1, NIST, US Dept of
Commerce.
[6] Introduction to SSL, available at http://docs.sun.com/source/816-6156-
10/contents.htm
[7] FIPS 198, The Keyed-Hash Message Authentication Code (HMAC)
Federal Information Processing Standard, (FIPS), Publication 180-1,
NIST, US Dept of Commerce.
[8] H. Dobbertin, A. Bosselaers, B. Preneel, RIPEMD-160: A Strengthened
Version of RIPEMD, 18 April 1996.
@article{"International Journal of Electrical, Electronic and Communication Sciences:63500", author = "H. E. Michail and V. N. Thanasoulis and G. A. Panagiotakopoulos and A. P. Kakarountas and C. E. Goutis", title = "Efficient Pipelined Hardware Implementation of RIPEMD-160 Hash Function", abstract = "In this paper an efficient implementation of Ripemd-
160 hash function is presented. Hash functions are a special family
of cryptographic algorithms, which is used in technological
applications with requirements for security, confidentiality and
validity. Applications like PKI, IPSec, DSA, MAC-s incorporate
hash functions and are used widely today. The Ripemd-160 is
emanated from the necessity for existence of very strong algorithms
in cryptanalysis. The proposed hardware implementation can be
synthesized easily for a variety of FPGA and ASIC technologies.
Simulation results, using commercial tools, verified the efficiency of
the implementation in terms of performance and throughput. Special
care has been taken so that the proposed implementation doesn-t
introduce extra design complexity; while in parallel functionality was
kept to the required levels.", keywords = "Hardware implementation, hash functions, Ripemd-160, security.", volume = "2", number = "2", pages = "316-4", }