SHA-256 werd ontworpen door de Amerikaanse National Security Agency en in 2001 gepubliceerd door NIST als onderdeel van de SHA-2-familie van hashfuncties, tegenwoordig gestandaardiseerd in FIPS 180-4. Of je nu één teken of een bestand van meerdere gigabytes invoert, het resultaat is altijd een vingerafdruk van 256 bits, en het wijzigen van slechts één bit in de invoer verandert de uitvoer volledig. Dit staat bekend als het lawine-effect.
Intern vult het algoritme het bericht aan tot een veelvoud van 512 bits, splitst het op in blokken en verwerkt elk blok in 64 rondes van bitwise-logica, modulaire optelling en rotatie met behulp van een vaste reeks rondeconstanten. Het proces is deterministisch en eenrichtingsverkeer: er bestaat geen bekende methode om de invoer uit de hash te reconstrueren, behalve door alles gewoon uit te proberen, wat rekentechnisch onhaalbaar is gezien de omvang van de uitvoerruimte.
Bij Bitcoin vormt SHA-256 de basis van vrijwel alles. Miners hashen herhaaldelijk een kandidaat-blokheader samen met een veranderende nonce, waarbij de functie twee keer wordt toegepast, totdat het resultaat onder de moeilijkheidsgraad van het netwerk uitkomt. Deze race verbruikt inmiddels meer dan 800 exahashes per seconde over het wereldwijde netwerk. Hetzelfde algoritme bouwt de Merkle tree die de transacties van een blok samenvat, en het speelt een rol bij het genereren van adressen voor Bitcoin-wallets, samen met RIPEMD-160.
Naast mining beveiligt SHA-256 ook TLS-certificaten, code signing, digitale handtekeningen en integriteitscontroles van bestanden op het bredere internet, niet alleen binnen crypto. De dominantie van het algoritme in Bitcoin-mining heeft ook geleid tot speciaal gebouwde ASIC-chips die niet inzetbaar zijn voor andere hashfuncties. Decennia van cryptanalyse hebben geen praktisch te misbruiken zwakte blootgelegd, en SHA-256 wordt nog altijd beschouwd als veilig tegen zowel klassieke als vroege kwantumaanvallen.