How Does a Secure Hash Algorithm work in Cryptography?
Last Updated :
14 Jun, 2024
Cryptography is very much essential and vital for data encryption and decryption to safeguard sensitive and touchy data in businesses and individual. However, with the advancement of technology data breaches and cyberattacks has become very common, and need to employ different types of cryptography tools to combat such issues and problems. Hashing is used for data integrity verification and to detect any unauthorized modification or tampering and can ensure the digital document's authenticity.
Secure Hash Algorithms (SHA) is one of the cryptography technology and uses hashing for plaintext to message digest conversion. In this article, we will learn all about the SHA like it's definition, difference between SHA and AES, primary technology, key terms, practical examples, real-life scenarios, pros, and cons etc.
What is a Secure Hash Algorithm?
A Secure Hash Algorithm (SHA) is a cryptography technique and are developed by National Security Agency(NSA) and at a later stage, the National Institute of Standards and Technology standardized the SHA technique and ready for various purposes(authentication, message integrity checks, digital signatures, and key derivation)
Difference Between Secure Hash Algorithm (SHA) and Advanced Encryption Standard (AES)
Aspect
| SHA
| AES
|
---|
Cryptography technique
| SHA uses hash function for plain text to message digest creation and are used for data authentication and integration.
| AES uses a symmetric encryption algorithm and employs a shared key for data encryption and decryption and ensures privacy and confidentiality.
|
Fundamental operations
| SHA creates a unique hash value by the one-way mathematical function and the hash value is irreversible and used for to identify any tempered or changes of plain text.
This hash value is irreversible and is typically used for verifying data integrity and detecting changes to digital data.
| AES uses same key for data encryption and decryption processes and checks for data confidentiality and privacy
|
Primary Technology
National Security Agency(NSA) developed SHA-2 family of hash functions and SHA -256 is one the widely and popular SHA standard of SHA-2.
SHA-256 takes an input message (of any length or size) and creates a 256-bit (32-byte) hash value and while creating the hash values complex and standard mathematical algorithms are applied to the input message.
Processing of SHA
1. Input
Input is the original message and need to be hashed before sending to the recipient.
For example, let's take "Hello, World!"
2. Preprocessing
Next, We need to perform preprocessing (removal of unnecessary characters or punctuation wherever applicable) and then input message to a binary format conversion.
3. Hashing
Next, We will be applying the SHA hash function by using the mathematical operations on the processessed input message to a fixed size output or hash value.
4. Output
Hash value can act as a tool for authenticating the originality of the input message by making sure to verify any unauthorised and modifications made due to the data tampering and henceforth discarding the message. If the recipient gets different hash value upon using the same hashing algorithm and hash function on the input then the message are tempered and modified and henceforth need to be discarded.
We may be get the hash or fixed size output as follows,
e3b0c4429cfbbc8c830a8f102620e8a020869d64f84e98fc48d7b8b67f677f8b9d64f84e98fc48d7b8b67f677f8b9d
Properties of Secure Hash Functions
Collision Attacks
A collision attack are the technique used by an attacker and generally for any two different inputs the attackers try to find the same hash value and uses it for carrying out crimes and related activities. SHA function can handle , manage and are resistant to collision attacks which are often used by attackers to compromise the security and henceforth resulting in loss of data and sensitive information and sometimes financial and related losses also.
Attacker and cyber criminals can break the security and may modify the electronic document and files leading to loss of authenticity and identity but doesn't allow to notice the same by showing the same hash as similar to the original and hence can prove the file’s genuineness and integrity. But in reality the attacker has changed and switched out the orginal file and tricked the recipient to download a different file without getting aware and unknowingly falling pray to cyber attacks.
Avalanche Effect
Secure Hash functions support avalanche effect and are used to determine the underlying modification and tempering of the data even if any negligible and small changes are made to the inputs as it would result into a significant and large change in the hash and henceforth are easily detected and identified.
Applications of Secure Hash Algorithms in Cryptography
1. Message Authentication Codes (MACs)
Message Authentication Codes or MACs is one of the most popular applications of SHA and are used to ensure message integrity. SHA hash is attached with the input message and then send to the recipient.
Recipient can verify the integrity by recomputing the hash value and check with the attached and can ensure and authenticate whether the message has been changed or not.
2. Digital Signatures
SHA are also used with cryptography technique such as digital signatures to ensure and verify the authenticity and identity of electronic documents( e- mail, confidential reports, project data).
3. Password Hashing
Password Hashing is one of the most effective and important features and uses hashing to manage and store password in online websites and applications.
However, Passwords are generally hashed using SHA and are stored in the database and relevant record systems as to make it difficult to recognise and identify the original password and henceforth reduces the possibility of cyber attack and security issues leading to a database leak.
SHA Hashing: Ensuring Data Integrity in Cryptography
SHA hash functions are used for data integrity verification and authentication as to ensure the electronic document, messages and informations are not modified or tampered during the transmission or storage.
Hashing helps to cross verify and recheck the authenticity by doing a recalculation of the hash value on the same data and the previous hash function and can easily detect and identify any unauthorized changes made during transmission and henceforth maintains the data integrity and authenticity.
Real Life Scenario
1. Let's assume two corporation ABC and MNC
- ABC wants to send an important and vital information (such as contract, services) via email to MNC, the partner company.
- ABC employs a digital signature upon the email contents and information as to ensure the confidentiality and integrity using the respective private key.
- SHA -256 are used for hash value computation and attached the same along with the email as separate file for cross verification by the recipient.
- Whenever, MNC receives the ABC company's email and rechecks for the integrity.
- MNC recomputes the hash value with the same SHA-256 hash function and compares with the attached hash value and If the match is found then only MNC can be assured the email is intact and unmodified.
2. Let's take another example of top- secret project and it's related conversation
- Suppose A,B are working on a top -secret project and A wanted to send some confidential information to B.
- A decided to use a SHA 256 algorithm for transperent and secured messaging and to ensure authentication and integrity as well during the transmission.
- A sends the message to B and B recheck who and verifies the authenticity and integrity of A's message using the same SHA-256 hash function.
- However, a third person C has received the message during transmission and then C tempers with the message and injects a malware and modify the content.
- C recalculated the hash value of the modified message and sent it to B.
- Upon receiving the message B rechecks and compares it the hash provided by C.
- A mismatch was identified by B and henceforth discarded the message as the message was improper and malicious.
- SHA algorithm are useful for safeguarding and protecting the touchy and sensitive information in reality and practically.
Pros and Cons
Pros
1. Non-repudiation: Hash value are calculated systematically and using the complex mathematical algorithms based on the message contents and hence it's not feasible to say that the message transmission is under risk or neither anyone can deny the non receptive of the sent or encrypted the message.
2. Collision Resistance: SHA-256 is are built and designed to be collision-resistant as to ensure that there should be different digest for messages and hence reducing the possibility of the same hash value.
Cons
1. Length: However one shortfall of the SHA-256 algorithm is the hash value are if fixed size(32 bytes) and hence are inappropriate for very long messages and often required multiple hash function in a chained mode which is tedious and inefficient.
2. Key management: Key management are very necessary as if by any means the secret key is lost, stolen or misused then can lead to unauthorised access and security loss.
Conclusion
Secure Hash Algorithm (SHA) is a versatile and useful cryptography technique and can ensure the data integration and verification, digital signature generation for documents and email and also secured and safe password storage and management. SHA are available with different versions(SHA-1, SHA-256 and SHA-3) and serves the purpose of safeguarding and securing the digital world and communication with increased security and integrity and to tackle cyber threats and attacks as well.
Similar Reads
How Hashing Algorithm Used in Cryptography?
A Hash Function (H) takes a variable-length block of data and returns a hash value of a fixed size. A good hash function has a property that when it is applied to a large number of inputs, the outputs will be evenly distributed and appear random. Generally, the primary purpose of a hash function is
12 min read
Shamir's Secret Sharing Algorithm | Cryptography
Cryptography is a technique of securing information and communications through the use of codes so that only those person for whom the information is intended can understand it and process it. Thus preventing unauthorized access to information. The prefix âcryptâ means âhiddenâ and suffix graphy mea
7 min read
Knapsack Encryption Algorithm in Cryptography
Knapsack Encryption Algorithm is the first general public key cryptography algorithm. It was developed by Ralph Merkle and Mertin Hellman in 1978. As it is a Public key cryptography, it needs two different keys. One is the Public key which is used for the Encryption process and the other one is the
6 min read
HMAC Algorithm in Computer Network
HMACÂ (Hash-based Message Authentication Code) is a type of message authentication code (MAC) that is acquired by executing a cryptographic hash function on the data that is to be authenticated and a secret shared key. Like any of the MACs, it is used for both data integrity and authentication. In th
5 min read
How is Cryptography used in Healthcare System?
Data breaches and cyber-attacks are nowadays very common phenomenon and the healthcare industry is the preferred target for cyber attackers due to the reason of having valuable and sensitive information. Cryptography comes in aid by offering standard techniques and algorithms to protect patient data
9 min read
Basics of Cryptographic Algorithms
Cryptography is a process of hiding transmitted information by the sender such that it may be read only by the intended recipient. In this article, we will learn more about various cryptographic algorithms. Cryptography is widely used in various fields such as end-to-end messaging, banking and finan
5 min read
Introduction to Rolling Hash - Data Structures and Algorithms
A rolling hash is a hash function that is used to efficiently compute a hash value for a sliding window of data. It is commonly used in computer science and computational biology, where it can be used to detect approximate string matches, find repeated substrings, and perform other operations on seq
15+ min read
A Cryptographic Introduction to Hashing and Hash Collisions
What is hashing?Hashing is the process of converting any kind of data (usually passwords or installer files) into a fixed-length string. There are multiple types of hashes, but for this article, we will look only at the MD5 hash. MD5 is an example of a hashing method. For example, the MD5 hash of "h
5 min read
How to convert Array to Hash in Ruby?
In this article, we will discuss how to convert an array to a hash in Ruby. Converting an array to a hash can be useful when we have data in an array format and need to organize it into key-value pairs for easier access and manipulation. Table of Content Converting array to hash using Hash::[] const
3 min read
Passwords and Cryptographic hash function
We have introduced and discussed importance of hashed passwords. To create strong hashed passwords, we must understand some terminology related to it and then we will see how to create strong salted hash password by example in PHP. What is Cryptographic hash function? A cryptographic hash function i
3 min read