Package Crypto :: Package Hash
[frames] | no frames]

Package Hash

Hashing algorithms

Hash functions take arbitrary binary strings as input, and produce a random-like output of fixed size that is dependent on the input; it should be practically infeasible to derive the original input data given only the hash function's output. In other words, the hash function is one-way.

It should also not be practically feasible to find a second piece of data (a second pre-image) whose hash is the same as the original message (weak collision resistance).

Finally, it should not be feasible to find two arbitrary messages with the same hash (strong collision resistance).

The output of the hash function is called the digest of the input message. In general, the security of a hash function is related to the length of the digest. If the digest is n bits long, its security level is roughly comparable to the the one offered by an n/2 bit encryption algorithm.

Hash functions can be used simply as a integrity check, or, in association with a public-key algorithm, can be used to implement digital signatures.

The hashing modules here all support the interface described in PEP 247 , "API for Cryptographic Hash Functions".