Generated by GPT-5-mini| SHA-256 | |
|---|---|
| Name | SHA-256 |
| Designer | National Security Agency |
| Publish date | 2001 |
| Series | SHA-2 |
| Digest size | 256 bits |
| Block size | 512 bits |
| Rounds | 64 |
| Use cases | Secure Hash Algorithm, Digital signature, Blockchain technology, Transport Layer Security |
SHA-256
SHA-256 is a widely used cryptographic hash function producing a 256-bit digest, standardized as part of the SHA-2 family. Designed by the National Security Agency and published by the National Institute of Standards and Technology in 2001, it underpins numerous protocols and systems across computing and communications. SHA-256's outputs are fixed-size, deterministic, and intended to be collision-resistant and preimage-resistant for practical security in applications from authentication to integrity verification.
SHA-256 was developed in the context of efforts to replace the earlier SHA-1 standard following cryptanalytic advances and policy initiatives in the late 1990s. The National Institute of Standards and Technology initiated the SHA-2 specification after collaboration with the National Security Agency, aligning with international standards development involving organizations such as the International Organization for Standardization and the Internet Engineering Task Force. Adoption accelerated as major projects and vendors—Microsoft, Apple Inc., Google LLC, Oracle Corporation—migrated away from SHA-1 after public collisions and the SHA-1 collision disclosures influenced standards like FIPS 180-2 and later FIPS 180-4. SHA-256 became a recommended primitive in protocols standardized by bodies including the Internet Engineering Task Force, the European Telecommunications Standards Institute, and the World Wide Web Consortium.
SHA-256 operates on 512-bit message blocks and produces a 256-bit digest through 64 rounds of operations using logical functions and fixed constants. The design uses a state of eight 32-bit words updated by modular addition, bitwise functions, and message schedule expansion derived from earlier work in MD5, SHA-1, and cryptographic research published in venues like the Annual International Cryptology Conference and papers by researchers at MIT, Stanford University, and the University of California, Berkeley. Constants in SHA-256 are derived from the fractional parts of the cube roots of the first 64 prime numbers, mirroring design rationales used in other standards such as AES key schedule choices and arithmetic constants found in RSA parameter discussions. The specification is formalized in NIST publications, with precise padding (a single 1 bit followed by zeros and a 64-bit length field) and big-endian processing order to ensure cross-platform interoperability among implementations by vendors such as Intel Corporation, ARM Holdings, and IBM.
SHA-256's security properties—collision resistance, second-preimage resistance, and preimage resistance—have been the subject of extensive analysis by academic groups at institutions like Technische Universität München, École Polytechnique Fédérale de Lausanne, and researchers affiliated with the Cryptology ePrint Archive. Although no practical full-collision or preimage attacks have rendered SHA-256 broken, cryptanalysts have produced reduced-round attacks and theoretical results using techniques such as differential cryptanalysis, meet-in-the-middle strategies, and boomerang attacks reported in conferences like Crypto and Eurocrypt. Comparisons often reference mathematical hardness assumptions in Elliptic curve cryptography and the need to migrate to functions with larger output sizes for long-term security as discussed by agencies like the National Institute of Standards and Technology and the European Union Agency for Cybersecurity.
SHA-256 is implemented in software libraries and hardware accelerators across the industry: cryptographic libraries like OpenSSL, LibreSSL, BoringSSL, and Mozilla NSS provide optimized code paths; operating systems including Microsoft Windows, macOS, and Linux integrate SHA-256 in kernel and user-space APIs; and hardware vendors such as Intel Corporation and ARM Holdings offer instruction set extensions and dedicated accelerators. Performance depends on factors including CPU microarchitecture (e.g., x86-64, ARMv8), vectorization via SIMD extensions, and platform-specific assembly optimizations authored by contributors at Google LLC and open-source maintainers. Specialized hardware implementations appear in ASIC miners for Bitcoin and in secure elements from vendors like NXP Semiconductors and Infineon Technologies where throughput, side-channel resistance, and power consumption are critical.
SHA-256 is used across many protocols and systems: digital signatures in Secure Sockets Layer/Transport Layer Security certificates, code signing in ecosystems managed by Microsoft Corporation and Apple Inc., package verification in distributions like Debian and Fedora Project, blockchain systems such as Bitcoin and Namecoin, and integrity checks in file systems like ZFS and Btrfs. Standards and frameworks from entities like the IETF and NIST recommend SHA-256 for message authentication codes (e.g., HMAC), key derivation functions, and certificate validation in public key infrastructures operated by organizations including CERT Coordination Center and Internet Assigned Numbers Authority.
The SHA-2 family includes other variants—SHA-224, SHA-384, and SHA-512—each differing in output size and internal word length, and standardized alongside SHA-256 in NIST publications. Extensions and alternatives emerged from academic and industry responses: the SHA-3 competition led by NIST produced Keccak as a distinct standard, while other constructions like BLAKE2 and BLAKE3 offer performance and parallelism trade-offs adopted by projects from Cloudflare and Dropbox. Hardware-focused variants incorporate side-channel mitigation techniques developed by research groups at EPFL and TU Darmstadt, and protocol-specific adaptations appear in standards from the IETF and the European Telecommunications Standards Institute.