Hash chain

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

In computer security, a hash chain is a method to produce many one-time keys from a single key or password.

Contents

Definition

A hash chain is a successive application of a cryptographic hash function h(x) to a string.

For example,

h(h(h(h(x))))

gives a hash chain of length 4, often denoted h4(x)

Applications

Main article: S/KEY

Lamport[1] suggested the use of hash chains as a password protection scheme in an insecure environment. A server which needs to provide authentication may store a hash chain rather than a plain text password and prevent theft of the password in transmission or theft from the server. For example, a server begins by storing h1000(password) which is provided by the user. When the user wishes to authenticate, he supplies h999(password) to the server. The server computes h(h999(password)) = h1000(password) and verifies this matches the hash chain it has stored. It then stores h999(password) for the next time the user wishes to authenticate.

An eavesdropper seeing h999(password) communicated to the server will be unable to re-transmit the same hash chain to the server for authentication since the server now expects h998(password). Due to the one-way property of cryptographically secure hash functions, it is impossible for the eavesdropper to reverse the hash function and obtain an earlier piece of the hash chain. In this example, the user could authenticate 1000 times before the hash chain is exhausted. Each time the hash value is different, and thus cannot be duplicated by an attacker.

See also

References

  1. ^ L. Lamport, “Password Authentication with Insecure Communication”, Communications of the ACM 24.11 (November 1981), pp 770-772. [1] [2]

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net