Ktl-icon-tai-lieu

Hash Algorithm3(SHA3)

Được đăng lên bởi tranhuytiep95
Số trang: 6 trang   |   Lượt xem: 336 lần   |   Lượt tải: 0 lần
Proceedings of the 8th International Conference on Sensing Technology, Sep. 2-4, 2014, Liverpool, UK

Secure Hash Algorithm-3(SHA-3) implementation on
Xilinx FPGAs, Suitable for IoT Applications
Muzaffar Rao, Thomas Newe and Ian Grout

University of Limerick, Ireland
muhammad.rao @ ul.ie, thomas.newe @ ul.ie, Ian.grout @ ul.ie

Abstract—Data integrity is a term used when referring to the
accuracy and reliability of data. It ensures that data is not altered
during operations, such as transfer, storage, or retrieval. Any
changes to the data for example malicious intention, unpredicted
hardware failure or human error would results in failure of data
integrity. Cryptographic hash functions are generally used for
the verification of data integrity. For many Internet of Things
(IoT) applications, hardware implementations of cryptographic
hash functions are needed to provide near real time data integrity
checking. The IoT is a world where billions of objects can sense,
share information and communicate over interconnected public
or private Internet Protocol (IP) networks. This paper provides
an implementation of a newly selected cryptographic hash
algorithm called Secure Hash Algorithm – 3 (SHA-3) on Xilinx
FPGAs (Spartan, Virtex, Kintex and Artix) and also provides the
power analysis of the implemented design. An FPGA is the best
leading platform of the modern era in terms of flexibility,
reliability and re-configurability. In this implementation the core
functionality of SHA-3 is implemented using LUT-6 primitives
and then these primitives are instantiated for the complete
implementation of SHA-3. The Xilinx Xpower tool is used for
power analysis of the implemented design. This implementation
can be used with IoT applications to provide near real time data
integrity checks.

Hash functions can be used for the verification of data
integrity. This is a one-way deterministic procedure whose
input is an arbitrary block of data and whose output is a fixedsize bit string, which is known as the hash value. The data to be
encoded is called the message, and the hash value is called
the message digest. In short, a message digest is a fingerprint of
the data. If the data changes the fingerprint changes. In
addition, if a secret is used in the process to generate the hash
(called a HMAC) then no one can predict the corresponding
digest of the data without knowing the secret and also the
content of the hashed data cannot be determined from the hash
value. This is why it is...
AbstractData integrity is a term used when referring to the
accuracy and reliability of data. It ensures that data is not altered
during operations, such as transfer, storage, or retrieval. Any
changes to the data for example malicious intention, unpredicted
hardware failure or human error would results in failure of data
integrity. Cryptographic hash functions are generally used for
the verification of data integrity. For many Internet of Things
(IoT) applications, hardware implementations of cryptographic
hash functions are needed to provide near real time data integrity
checking. The IoT is a world where billions of objects can sense,
share information and communicate over interconnected public
or private Internet Protocol (IP) networks. This paper provides
an implementation of a newly selected cryptographic hash
algorithm called Secure Hash Algorithm 3 (SHA-3) on Xilinx
FPGAs (Spartan, Virtex, Kintex and Artix) and also provides the
power analysis of the implemented design. An FPGA is the best
leading platform of the modern era in terms of flexibility,
reliability and re-configurability. In this implementation the core
functionality of SHA-3 is implemented using LUT-6 primitives
and then these primitives are instantiated for the complete
implementation of SHA-3. The Xilinx Xpower tool is used for
power analysis of the implemented design. This implementation
can be used with IoT applications to provide near real time data
integrity checks.
Index Terms FPGA, IoT, SHA-3, Data Integrity
1. INTRODUCTION
In a public network, data flow between the IoT applications
can be visible to a number of nodes on the network. Although
data can be secured using encryption there may be a chance of
data alteration on the network, whether the data is encrypted or
not. This alteration can be catastrophic for the applications
running at the destination node and can often lead to incorrect
responses. For example, in a fund transfer if the hacker alters
random pieces of data this may lead to incorrect funds being
transferred, or even transfer to an incorrect account. Data can
be altered due to many reasons; malicious intention,
unpredicted hardware failure and human error in the network.
With data integrity implemented data alteration can be
detected, if the data integrity check is applied at the receiver
side. This check can detect incorrect data transfer and therefore
incorrect transactions or operations can be prevented.
Hash functions can be used for the verification of data
integrity. This is a one-way deterministic procedure whose
input is an arbitrary block of data and whose output is a fixed-
size bit string, which is known as the hash value. The data to be
encoded is called the message, and the hash value is called
the message digest. In short, a message digest is a fingerprint of
the data. If the data changes the fingerprint changes. In
addition, if a secret is used in the process to generate the hash
(called a HMAC) then no one can predict the corresponding
digest of the data without knowing the secret and also the
content of the hashed data cannot be determined from the hash
value. This is why it is called a one-way procedure.
The hash of the data is calculated and appended to the data.
When the message arrives at its destination (in the case of data
transfer) or is retrieved (in the case of data storage), the hash is
recalculated from the data and compared to the hash that was
appended to the original message. If the values do not match,
then it means that the data has been altered. Fig. 1 shows how a
HMAC is generated and compared using a shared secret K. A
HMAC, a Hash generated Message Authentication Code can
be used to verify both integrity of a message and its source.
Figure 1. Secure Hash generation and comparison (HMAC).
Commonly used Hash functions are SHA-1, SHA-256,
SHA-512, RIPEMD, MD4 and MD5. In previous years
Cryptanalysis of these algorithms has found serious
vulnerabilities [1][2][3]. Although no attacks have yet been
reported on the SHA-2 variants, but due to their algorithmically
similarities to SHA-1, there are fears that SHA-2 could also be
cracked in the near future. The National Institute of Standards
and Technology (NIST), USA announced the SHA-3 Contest
in Nov 2007 [4]. This contest was to result in a new and secure
cryptographic hash algorithm. This competition ended on 2
nd
October, after the announcement of Keccak, one of the
finalists of SHA-3 competition, as the winner for the title of
SHA-3[5].
For the IoT applications, hardware implementations of
cryptographic hash algorithms are needed to provide high
speed and near-real time results. ASICs and FPGAs are the
Secure Hash Algorithm-3(SHA-3) implementation on
Xilinx FPGAs, Suitable for IoT Applications
Muzaffar Rao, Thomas Newe and Ian Grout
University of Limerick, Ireland
muhammad.rao @ ul.ie, thomas.newe @ ul.ie, Ian.grout @ ul.ie
The authors would like to thank the Erasmus Mundus
STRoNGTiES (Strengthening Training and Research through
Networking and Globalization of Teaching in Engineering Studies)
program for providing funding that has facilitated the completion of
this work.
Proceedings of the 8th International Conference on Sensing Technology, Sep. 2-4, 2014, Liverpool, UK
352
Hash Algorithm3(SHA3) - Trang 2
Để xem tài liệu đầy đủ. Xin vui lòng
Hash Algorithm3(SHA3) - Người đăng: tranhuytiep95
5 Tài liệu rất hay! Được đăng lên bởi - 1 giờ trước Đúng là cái mình đang tìm. Rất hay và bổ ích. Cảm ơn bạn!
6 Vietnamese
Hash Algorithm3(SHA3) 9 10 965