SlideShare a Scribd company logo
5
Most read
12
Most read
15
Most read
DESIGN OF SECURE HASH ALGORITHM
Dr.T.M.SARAVANAN
Associate Professor,
Department of Computer Applications,
Kongu Engineering College,
Perundurai – 638 060.
SECURE HASH ALGORITHM
 Here we will see the design of SHA-256 and SHA-3.
 Both of these are used in Bitcoin and Ethereum, respectively.
1. Design of SHA-256
 SHA-256 has the input message size < 264-bits. Block size is 512-
bits, and it has a word size of 32-bits.
 The output is a 256-bit digest.
 The compression function processes a 512-bit message block and a
256-bit intermediate hash value.
 There are two main components of this function: the Compression
Function and a Message Schedule.
29-06-2021
SECURE HASH ALGORITHM
 The algorithm works as follows, in eight steps:
1. Preprocessing:
1. Padding of the message is used to adjust the length of a block to
512-bits if it is smaller than the required block size of 512-bits.
2. Parsing the message into message blocks, which ensures that
the message and its padding is divided into equal blocks of 512-
bits.
3. Setting up the initial hash value, which consists of the eight 32-bit
words obtained by taking the first 32-bits of the fractional parts of
the square roots of the first eight prime numbers. These initial
values are randomly chosen to initialize the process, and they
provide a level of confidence that no backdoor exists in the
algorithm.
29-06-2021
SECURE HASH ALGORITHM
2. Hash computation:
4. Each message block is then processed in a sequence, and it
requires 64 rounds to compute the full hash output. Each round
uses slightly different constants to ensure that no two rounds are
the same.
5. The message schedule is prepared.
6. Eight working variables are initialized.
7. The intermediate hash value is calculated.
8. Finally, the message is processed, and the output hash is
produced:
29-06-2021
SECURE HASH ALGORITHM
29-06-2021
SECURE HASH ALGORITHM
 In the preceding diagram, a, b, c, d, e, f, g, and h are the registers.
Maj and Ch are applied bitwise.
 Σ0 and Σ1 performs bitwise rotation.
 Round constants are Wj and Kj, which are added, mod 232.
 Maj stands for majority , Ch stands for choose or choice.
29-06-2021
SECURE HASH ALGORITHM
2. Design of SHA-3(Keccak)
 The structure of SHA-3 is very different from that of SHA-1 and SHA-
2.
 The key idea behind SHA-3 is based on unkeyed permutations, as
opposed to other typical hash function constructions that used keyed
permutations.
 Keccak also does not make use of the Merkle-Damgard
transformation that is commonly used to handle arbitrary-length
input messages in hash functions.
 A newer approach called sponge and squeeze construction is
used in Keccak.
 It is a random permutation model.
29-06-2021
SECURE HASH ALGORITHM
2. Design of SHA-3(Keccak)
 Different variants of SHA-3 have been standardized, such as SHA-3-
224, SHA-3-256, SHA-3-384, SHA-3-512, SHAKE-128, and SHAKE-
256.
 SHAKE-128 and SHAKE-256 are Extendable Output Functions
(XOFs), which are also standardized by NIST.
 XOFs allow the output to be extended to any desired length.
 The following diagram shows the sponge and squeeze model,
which is the basis of SHA-3 or Keccak.
29-06-2021
SECURE HASH ALGORITHM
29-06-2021
SECURE HASH ALGORITHM
2. Design of SHA-3(Keccak)
 Analogous to a sponge, the data is first absorbed into the sponge
after applying padding.
 There it is then changed into a subset of permutation state using
XOR, and then the output is squeezed out of the sponge function
that represents the transformed state.
 The rate is the input block size of a sponge function, while capacity
determines the general security level.
29-06-2021
SECURE HASH ALGORITHM
29-06-2021
SECURE HASH ALGORITHM
 Usually, hash functions do not use a key.
 Nevertheless, if they are used with a key, then they can be used to
create another cryptographic construct called MACs.
Message Authentication Codes
 MACs are sometimes called keyed hash functions, and they can be
used to provide message integrity and authentication.
 More specifically, they are used to provide data origin authentication.
 These are symmetric cryptographic primitives that use a shared key
between the sender and the receiver.
 MACs can be constructed using block ciphers or hash functions.
29-06-2021
SECURE HASH ALGORITHM
 With this approach, block ciphers are used in the Cipher Block
Chaining (CBC) mode in order to generate a MAC.
 Any block cipher, for example AES in the CBC mode, can be used.
 The length of the MAC output is the same as the block length of the
block cipher used to generate the MAC.
 MACs are verified simply by computing the MAC of the message and
comparing it to the received MAC.
 If they are the same, then the message integrity is confirmed;
otherwise, the message is considered altered.
 It should also be noted that MACs work like digital signatures,
however they cannot provide non-repudiation service due to their
symmetric nature.
29-06-2021
SECURE HASH ALGORITHM
Merkle Trees
 The concept of Merkle tree was introduced by Ralph Merkle.
 Merkle trees enable secure and efficient verification of large
datasets.
 A diagram of Merkle tree is shown here.
 A Merkle tree is a binary tree in which the inputs are first placed at
the leaves (node with no children), and then the values of pairs of
child nodes are hashed together to produce a value for the parent
node (internal node) until a single hash value known as Merkle root
is achieved.
29-06-2021
SECURE HASH ALGORITHM
29-06-2021
SECURE HASH ALGORITHM
Patricia Trees
 To understand Patricia trees, you will first be introduced to the
concept of a trie.
 Trie is an efficient information reTrieval data structure.
 Using Trie, search complexities can be brought to optimal limit (key
length).
 A trie, or a digital tree, is an ordered tree data structure used to
store a dataset.
 Practical Algorithm to Retrieve Information Coded in
Alphanumeric (Patricia), also known as Radix tree, is a compact
representation of a trie in which a node that is the only child of a
parent is merged with its parent.
 A Merkle-Patricia tree, based on the definitions of Patricia and
Merkle, is a tree that has a root node which contains the hash value
of the entire data structure.
29-06-2021
SECURE HASH ALGORITHM
Distributed Hash Tables
 A hash table is a data structure that is used to map keys to values.
 Internally, a hash function is used to calculate an index into an array
of buckets from which the required value can be found.
 Buckets have records stored in them using a hash key and are
organized into a particular order.
 One can think of a DHT as a data structure where data is spread
across various nodes, and nodes are equivalent to buckets in a peer-
to-peer network.
 The following diagram shows how a DHT works.
29-06-2021
SECURE HASH ALGORITHM
29-06-2021
SECURE HASH ALGORITHM
Distributed Hash Tables
 Data is passed through a hash function, which then generates a
compact key.
 This key is then linked with the data (values) on the peer-to-peer
network.
 When users on the network request the data (via the filename), the
filename can be hashed again to produce the same key, and any
node on the network can then be requested to find the corresponding
data.
 DHT provides decentralization, fault tolerance, and scalability.
 Another application of hash functions is in digital signatures, where
they can be used in combination with asymmetric cryptography.
29-06-2021
SECURE HASH ALGORITHM
Digital Signatures
 Digital signatures provide a means of associating a message with
an entity from which the message has originated.
 Digital signatures are used to provide data origin authentication
and non-repudiation.
 Digital signatures are used in blockchain where the transactions are
digitally signed by senders using their private key before
broadcasting the transaction to the network.

 This digital signing, proves they are the rightful owner of the asset,
for example, bitcoins.
 These transactions are verified again by other nodes on the network
to ensure that the funds indeed belong to the node (user) who claims
to be the owner.
29-06-2021
SECURE HASH ALGORITHM
Signcryption
 Signcryption is a public key cryptography primitive that provides all
of the functions of a digital signature and encryption.
 Yuliang Zheng invented signcryption, and it is now an ISO standard,
ISO/IEC 29150:2011.
 Traditionally, sign then encrypt or encrypt then sign schemes are
used to provide unforgeability, authentication, and non-repudiation,
but with signcryption, all services of digital signatures and encryption
are provided at a cost that is less than that of the sign then encrypt
scheme.
 Signcryption enables Cost (signature & encryption) << Cost
(signature) + Cost (Encryption) in a single logical step.
29-06-2021
SECURE HASH ALGORITHM
Blind Signatures
 Blind signatures were introduced by David Chaum in 1982.
 They are based on public key digital signature schemes, such as
RSA.
 The key idea behind blind signatures is to get the message signed
by the signer without actually revealing the message.
 This is achieved by disguising or blinding the message before
signing it, hence the name blind signatures.
 This blind signature can then be verified against the original
message just like a normal digital signature.
 Blind signatures were introduced as a mechanism to allow the
development of digital cash schemes.
29-06-2021

More Related Content

PPT
Network security cryptographic hash function
PPTX
SHA-256.pptx
PPTX
SHA- Secure hashing algorithm
PDF
Network security & cryptography full notes
PPTX
Secure Hash Algorithm
PPTX
Product Cipher
PDF
Hash Function.pdf
Network security cryptographic hash function
SHA-256.pptx
SHA- Secure hashing algorithm
Network security & cryptography full notes
Secure Hash Algorithm
Product Cipher
Hash Function.pdf

What's hot (20)

PPTX
Hash function
PPT
SHA 1 Algorithm.ppt
PDF
Elliptic curve cryptography
PPTX
File system structure
PPTX
Data Encryption Standard (DES)
PPTX
Hash Function
PPT
Ch06 Wireless Network Security
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
PPTX
MAC-Message Authentication Codes
PPTX
IP Security
PPT
Sliding window protocol
PPTX
Principles of public key cryptography and its Uses
PDF
2. public key cryptography and RSA
PPTX
MACs based on Hash Functions, MACs based on Block Ciphers
DOCX
What is AES? Advanced Encryption Standards
PPTX
Modes of Operation
PPTX
Kernel module in linux os.
PPTX
Secure Hash Algorithm (SHA-512)
PPTX
Deadlock Avoidance in Operating System
PPTX
Hash Function
Hash function
SHA 1 Algorithm.ppt
Elliptic curve cryptography
File system structure
Data Encryption Standard (DES)
Hash Function
Ch06 Wireless Network Security
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
MAC-Message Authentication Codes
IP Security
Sliding window protocol
Principles of public key cryptography and its Uses
2. public key cryptography and RSA
MACs based on Hash Functions, MACs based on Block Ciphers
What is AES? Advanced Encryption Standards
Modes of Operation
Kernel module in linux os.
Secure Hash Algorithm (SHA-512)
Deadlock Avoidance in Operating System
Hash Function
Ad

Similar to Design of Secure Hash Algorithm(SHA) (20)

PDF
Public Key Encryption & Hash functions
PPT
secure hash function for authentication in CNS
PPTX
Secure Hashing Techniques - Introduction
PPT
presentation on keccak algorithm functionality
PPT
keccak.ppt that is about introduction and basics
PDF
Count based Secured Hash Algorithm.
PPTX
Information and data security cryptographic hash functions
PPT
SHA 3 algorithm introduction, diagram, design
PPTX
Unit 3
PPTX
Blockchain Technology Explained: A Beginner's Guide to the Future of the Inte...
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
Hash& mac algorithms
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PDF
alorithms yhuixeuy ydheujj uehq hu dguhd ued2.pdf
PPTX
Hash Techniques in Cryptography
PPTX
Module (Blockchain & Cryptocurrency).pptx
Public Key Encryption & Hash functions
secure hash function for authentication in CNS
Secure Hashing Techniques - Introduction
presentation on keccak algorithm functionality
keccak.ppt that is about introduction and basics
Count based Secured Hash Algorithm.
Information and data security cryptographic hash functions
SHA 3 algorithm introduction, diagram, design
Unit 3
Blockchain Technology Explained: A Beginner's Guide to the Future of the Inte...
Hash mac algorithms
Hash mac algorithms
Hash mac algorithms
Hash mac algorithms
Hash& mac algorithms
Hash mac algorithms
Hash mac algorithms
alorithms yhuixeuy ydheujj uehq hu dguhd ued2.pdf
Hash Techniques in Cryptography
Module (Blockchain & Cryptocurrency).pptx
Ad

Recently uploaded (20)

PPTX
Institutional Correction lecture only . . .
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Cell Structure & Organelles in detailed.
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
O7-L3 Supply Chain Operations - ICLT Program
Institutional Correction lecture only . . .
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Module 4: Burden of Disease Tutorial Slides S2 2025
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
STATICS OF THE RIGID BODIES Hibbelers.pdf
VCE English Exam - Section C Student Revision Booklet
TR - Agricultural Crops Production NC III.pdf
Computing-Curriculum for Schools in Ghana
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPH.pptx obstetrics and gynecology in nursing
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Cell Structure & Organelles in detailed.
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
O7-L3 Supply Chain Operations - ICLT Program

Design of Secure Hash Algorithm(SHA)

  • 1. DESIGN OF SECURE HASH ALGORITHM Dr.T.M.SARAVANAN Associate Professor, Department of Computer Applications, Kongu Engineering College, Perundurai – 638 060.
  • 2. SECURE HASH ALGORITHM  Here we will see the design of SHA-256 and SHA-3.  Both of these are used in Bitcoin and Ethereum, respectively. 1. Design of SHA-256  SHA-256 has the input message size < 264-bits. Block size is 512- bits, and it has a word size of 32-bits.  The output is a 256-bit digest.  The compression function processes a 512-bit message block and a 256-bit intermediate hash value.  There are two main components of this function: the Compression Function and a Message Schedule. 29-06-2021
  • 3. SECURE HASH ALGORITHM  The algorithm works as follows, in eight steps: 1. Preprocessing: 1. Padding of the message is used to adjust the length of a block to 512-bits if it is smaller than the required block size of 512-bits. 2. Parsing the message into message blocks, which ensures that the message and its padding is divided into equal blocks of 512- bits. 3. Setting up the initial hash value, which consists of the eight 32-bit words obtained by taking the first 32-bits of the fractional parts of the square roots of the first eight prime numbers. These initial values are randomly chosen to initialize the process, and they provide a level of confidence that no backdoor exists in the algorithm. 29-06-2021
  • 4. SECURE HASH ALGORITHM 2. Hash computation: 4. Each message block is then processed in a sequence, and it requires 64 rounds to compute the full hash output. Each round uses slightly different constants to ensure that no two rounds are the same. 5. The message schedule is prepared. 6. Eight working variables are initialized. 7. The intermediate hash value is calculated. 8. Finally, the message is processed, and the output hash is produced: 29-06-2021
  • 6. SECURE HASH ALGORITHM  In the preceding diagram, a, b, c, d, e, f, g, and h are the registers. Maj and Ch are applied bitwise.  Σ0 and Σ1 performs bitwise rotation.  Round constants are Wj and Kj, which are added, mod 232.  Maj stands for majority , Ch stands for choose or choice. 29-06-2021
  • 7. SECURE HASH ALGORITHM 2. Design of SHA-3(Keccak)  The structure of SHA-3 is very different from that of SHA-1 and SHA- 2.  The key idea behind SHA-3 is based on unkeyed permutations, as opposed to other typical hash function constructions that used keyed permutations.  Keccak also does not make use of the Merkle-Damgard transformation that is commonly used to handle arbitrary-length input messages in hash functions.  A newer approach called sponge and squeeze construction is used in Keccak.  It is a random permutation model. 29-06-2021
  • 8. SECURE HASH ALGORITHM 2. Design of SHA-3(Keccak)  Different variants of SHA-3 have been standardized, such as SHA-3- 224, SHA-3-256, SHA-3-384, SHA-3-512, SHAKE-128, and SHAKE- 256.  SHAKE-128 and SHAKE-256 are Extendable Output Functions (XOFs), which are also standardized by NIST.  XOFs allow the output to be extended to any desired length.  The following diagram shows the sponge and squeeze model, which is the basis of SHA-3 or Keccak. 29-06-2021
  • 10. SECURE HASH ALGORITHM 2. Design of SHA-3(Keccak)  Analogous to a sponge, the data is first absorbed into the sponge after applying padding.  There it is then changed into a subset of permutation state using XOR, and then the output is squeezed out of the sponge function that represents the transformed state.  The rate is the input block size of a sponge function, while capacity determines the general security level. 29-06-2021
  • 12. SECURE HASH ALGORITHM  Usually, hash functions do not use a key.  Nevertheless, if they are used with a key, then they can be used to create another cryptographic construct called MACs. Message Authentication Codes  MACs are sometimes called keyed hash functions, and they can be used to provide message integrity and authentication.  More specifically, they are used to provide data origin authentication.  These are symmetric cryptographic primitives that use a shared key between the sender and the receiver.  MACs can be constructed using block ciphers or hash functions. 29-06-2021
  • 13. SECURE HASH ALGORITHM  With this approach, block ciphers are used in the Cipher Block Chaining (CBC) mode in order to generate a MAC.  Any block cipher, for example AES in the CBC mode, can be used.  The length of the MAC output is the same as the block length of the block cipher used to generate the MAC.  MACs are verified simply by computing the MAC of the message and comparing it to the received MAC.  If they are the same, then the message integrity is confirmed; otherwise, the message is considered altered.  It should also be noted that MACs work like digital signatures, however they cannot provide non-repudiation service due to their symmetric nature. 29-06-2021
  • 14. SECURE HASH ALGORITHM Merkle Trees  The concept of Merkle tree was introduced by Ralph Merkle.  Merkle trees enable secure and efficient verification of large datasets.  A diagram of Merkle tree is shown here.  A Merkle tree is a binary tree in which the inputs are first placed at the leaves (node with no children), and then the values of pairs of child nodes are hashed together to produce a value for the parent node (internal node) until a single hash value known as Merkle root is achieved. 29-06-2021
  • 16. SECURE HASH ALGORITHM Patricia Trees  To understand Patricia trees, you will first be introduced to the concept of a trie.  Trie is an efficient information reTrieval data structure.  Using Trie, search complexities can be brought to optimal limit (key length).  A trie, or a digital tree, is an ordered tree data structure used to store a dataset.  Practical Algorithm to Retrieve Information Coded in Alphanumeric (Patricia), also known as Radix tree, is a compact representation of a trie in which a node that is the only child of a parent is merged with its parent.  A Merkle-Patricia tree, based on the definitions of Patricia and Merkle, is a tree that has a root node which contains the hash value of the entire data structure. 29-06-2021
  • 17. SECURE HASH ALGORITHM Distributed Hash Tables  A hash table is a data structure that is used to map keys to values.  Internally, a hash function is used to calculate an index into an array of buckets from which the required value can be found.  Buckets have records stored in them using a hash key and are organized into a particular order.  One can think of a DHT as a data structure where data is spread across various nodes, and nodes are equivalent to buckets in a peer- to-peer network.  The following diagram shows how a DHT works. 29-06-2021
  • 19. SECURE HASH ALGORITHM Distributed Hash Tables  Data is passed through a hash function, which then generates a compact key.  This key is then linked with the data (values) on the peer-to-peer network.  When users on the network request the data (via the filename), the filename can be hashed again to produce the same key, and any node on the network can then be requested to find the corresponding data.  DHT provides decentralization, fault tolerance, and scalability.  Another application of hash functions is in digital signatures, where they can be used in combination with asymmetric cryptography. 29-06-2021
  • 20. SECURE HASH ALGORITHM Digital Signatures  Digital signatures provide a means of associating a message with an entity from which the message has originated.  Digital signatures are used to provide data origin authentication and non-repudiation.  Digital signatures are used in blockchain where the transactions are digitally signed by senders using their private key before broadcasting the transaction to the network.   This digital signing, proves they are the rightful owner of the asset, for example, bitcoins.  These transactions are verified again by other nodes on the network to ensure that the funds indeed belong to the node (user) who claims to be the owner. 29-06-2021
  • 21. SECURE HASH ALGORITHM Signcryption  Signcryption is a public key cryptography primitive that provides all of the functions of a digital signature and encryption.  Yuliang Zheng invented signcryption, and it is now an ISO standard, ISO/IEC 29150:2011.  Traditionally, sign then encrypt or encrypt then sign schemes are used to provide unforgeability, authentication, and non-repudiation, but with signcryption, all services of digital signatures and encryption are provided at a cost that is less than that of the sign then encrypt scheme.  Signcryption enables Cost (signature & encryption) << Cost (signature) + Cost (Encryption) in a single logical step. 29-06-2021
  • 22. SECURE HASH ALGORITHM Blind Signatures  Blind signatures were introduced by David Chaum in 1982.  They are based on public key digital signature schemes, such as RSA.  The key idea behind blind signatures is to get the message signed by the signer without actually revealing the message.  This is achieved by disguising or blinding the message before signing it, hence the name blind signatures.  This blind signature can then be verified against the original message just like a normal digital signature.  Blind signatures were introduced as a mechanism to allow the development of digital cash schemes. 29-06-2021