From CryptoDox, The Online Encyclopedia on Cryptography and Information Security

(Redirected from SHA)
Jump to: navigation, search
One iteration within the SHA-1 compression function. A, B, C, D and E are 32-bit words of the state; F is a nonlinear function that varies; left shifts denotes a left bit rotation by s places; s varies for each operation. Addition denotes addition modulo 232. Kt is a constant.

SHA (Secure Hash Algorithm) family is a set of related cryptographic Hash Functions. The most commonly used function in the family, SHA-1, is employed in a large variety of popular security applications and protocols, including TLS, SSL, PGP, SSH, S/MIME, and IPSec. SHA-1 is considered to be the successor to MD5, an earlier, widely-used hash function. The SHA algorithms were designed by the National Security Agency (NSA) and published as a US government standard - FIPS PUB 180-2.

The first member of the family, published in 1993, is officially called SHA; however, it is often called SHA-0 to avoid confusion with its successors. Two years later, SHA-1, the first successor to SHA, was published. Four more variants have since been issued with increased output ranges and a slightly different design: SHA-224, SHA-256, SHA-384, and SHA-512 — sometimes collectively referred to as SHA-2.

Attacks have been found for both SHA-0 and SHA-1, while no attacks have been reported on the SHA-2 variants.



Some example hashes generated by SHA are given below:

SHA-1("Hello World!") = 2ef7bde608ce5404e97d5f042f95f89f1c232871
SHA-224("Hello World!") = 4575bb4ec129df6380cedde6d71217fe0536f8ffc4e18bca530a7a1b
SHA-256("Hello World!") = 7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069



SHA-1 is used to hash objects (blobs, trees which are hierarchies of trees and blobs, and commits) in the git distributed revision control system. The hash of an object is used as the object's name in a content-addressable object store.



See Also

Books of Interest

External Links

Retrieved from "?title=SHA-1&oldid=2646"