## Overview SHA-3, known as the Secure Hash [[Algorithm]] 3, is a [[cryptographic hash function]] standard that was finalized by the National Institute of Standards and Technology (NIST) in 2015. It serves as a complement, not a replacement, to the earlier [[SHA-2]] family. SHA-3 is the result of a competition to develop a new hash [[algorithm]] in response to potential vulnerabilities in previous SHA versions. ## Key Features - **Sponge Construction**: Unlike its predecessors which use the Merkle–Damgård structure, SHA-3 is based on the Keccak algorithm and uses a sponge construction, which can absorb any amount of data and produce a hash of a fixed size. - **Variants**: SHA-3 includes various hash sizes: SHA3-224, SHA3-256, SHA3-384, and SHA3-512. The number indicates the length of the hash produced. - **Flexibility**: With its sponge construction, it can also be configured for different output lengths, making it more versatile. ## Security - **Cryptographic Strength**: While [[SHA-2]] is still considered secure, SHA-3 provides a security alternative, especially if vulnerabilities are discovered in [[SHA-2]] in the future. - **Resistance**: Designed to be resistant against potential [[quantum computing]] attacks and various known cryptanalytic attack techniques. ## Applications - **Data Integrity**: Ensures data has not been tampered with during transmission or storage. - **[[Digital Signature|Digital Signatures]]**: Creates a fixed-size output from a message to verify the message's [[authenticity]] and integrity. - **Cryptographic Protocols**: Used in various protocols to ensure security, including TLS, [[cryptocurrency]] systems, and more. ## Considerations - **Performance**: SHA-3 can be slower in certain software-based implementations compared to [[SHA-2]], but performance can vary based on the platform and use-case. - **Adoption Rate**: While standardized, the adoption rate of SHA-3 is gradual, as [[SHA-2]] continues to be widely used and is still considered secure. ## Related Concepts - **[[Cryptographic Hash Function|Cryptographic Hash Functions]]**: Functions that take an input and return a fixed-size string of characters, which typically appears random. - **Keccak**: The underlying cryptographic primitive upon which SHA-3 is built.