Hash (cryptography): Difference between revisions
imported>Sandy Harris (→SHA) |
imported>Sandy Harris (→SHA-1) |
||
Line 22: | Line 22: | ||
=== SHA-1 === | === SHA-1 === | ||
SHA-1 is a slightly modified SHA, also giving a 160-bit hash. It adds a one-bit rotation in each round. The NSA have never explained why they felt this change was necessary; presumably it protects against some attack which they do not wish to reveal. | |||
SHA-1 is in very wide use. For example, it is used in protocols such as [[PGP]] and [[IPsec]] and in [[random number]] generators such as [[Intel]]'s hardware generator and the [[Linux]] [[dev-random | random device]]. | |||
=== SHA-2 === | === SHA-2 === |
Revision as of 19:33, 26 November 2008
In cryptography a hash or message digest is a fixed-size digest which can be calculated from an input text of any size up to some large limit. While cryptographic principles are used, these functions are used in manners quite different than two-way, or even one-way full-text cryptographically protected communications. The primary applications of hashes and message digests are as means of error detection, source authentication, or data integrity protection.
MD4 and descendants
MD4
Message Digest algorithm number 4 was from Ron Rivest. It is no longer used, replaced by its descendants. A specification is in RFC 1320.
MD5
MD5 was Rivests's version of an enhanced MD4. Like MD4, it gives a 128-bit hash. RFC 1321 gives a specification and RFC 1820 a performance analysis.
RIPE-MD
This was a European standard.
SHA
There are a whole family of SHA hashes, all designed by NSA. The original SHA was essentially an improved MD4, with two major changes. It increased the hash size from 128 to 160 bits, using five 32-bit chunks of internal state instead of four. Also, there is an expansion step which spreads the state out to 80 chunks. One chunk is then mixed back in at each round of te hash. This was not much used, quickly replaced by SHA-1.
SHA-1
SHA-1 is a slightly modified SHA, also giving a 160-bit hash. It adds a one-bit rotation in each round. The NSA have never explained why they felt this change was necessary; presumably it protects against some attack which they do not wish to reveal.
SHA-1 is in very wide use. For example, it is used in protocols such as PGP and IPsec and in random number generators such as Intel's hardware generator and the Linux random device.
SHA-2
Other 20th century hashes
Tiger
Whirlpool
The Advanced Hash Standard
In 2005, the US National Institute of Standards and Technology (NIST) began the process of defining a new hash standard, SHA-3 or the Advanced Hash Standard or just AHS. There is a NIST page with details and links.
The overall process and methodology are similar to what they did for the AES contest, choosing a new cipher standard which became the Advanced Encryption Standard. Starting in 2005, they sponsored two public workshops contest to discuss the state of the hashing art, then issued a draft requirements document and invited public comment. After revising the requirements, they issued a call for submissions in November 2007. The deadline on that was October 31, 2008.
As of early November, the deadline has passed and NIST have received 64 entries. They are going through them to see which ones actually meet all submission criteria. Once that is done, those "complete and proper" submissions will become the first round candidates and all their design documents will be public on the NIST site. Meanwhile, there are at least two other sites with partial lists and links to design documents, the SHA-3 Lounge and the SHA-3 Zoo.
There will be more conferences, then a narrowing of the field to a group of finalists, more analysis and another conference, then a final selection. Target date for completion of the process and release of the new standard is 2012.
Skein
From Bruce Schneier and others: [1]
MD6
From a team led by Ron Rivest.
CubeHash
From Dan Bernstein, [2]
Essence
From Jason Worth Martin [3]
Sgàil
Peter Maxwell [4]
EnRUPT
Sean O'Neil [5]
NaSha
Smile Markovski and Aleksandra Mileva [6]
Maraca
Robert Jenkins [7]