25 Dec, 2008

3 commits

  • Since most cryptographic hash algorithms have no keys, this patch
    makes the setkey function optional for ahash and shash.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • This patch allows shash algorithms to be used through the old hash
    interface. This is a transitional measure so we can convert the
    underlying algorithms to shash before converting the users across.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • It is often useful to save the partial state of a hash function
    so that it can be used as a base for two or more computations.

    The most prominent example is HMAC where all hashes start from
    a base determined by the key. Having an import/export interface
    means that we only have to compute that base once rather than
    for each message.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

10 Jul, 2008

4 commits

  • This patch adds the walking helpers for hash algorithms akin to
    those of block ciphers. This is a necessary step before we can
    reimplement existing hash algorithms using the new ahash interface.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • The base field in ahash_tfm appears to have been cut-n-pasted from
    ablkcipher. It isn't needed here at all. Similarly, the info field
    in ahash_request also appears to have originated from its cipher
    counter-part and is vestigial.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • The digest size check on hash algorithms is incorrect. It's
    perfectly valid for hash algorithms to have a digest length
    longer than their block size. For example crc32c has a block
    size of 1 and a digest size of 4. Rather than having it lie
    about its block size, this patch fixes the checks to do what
    they really should which is to bound the digest size so that
    code placing the digest on the stack continue to work.

    HMAC however still needs to check this as it's only defined
    for such algorithms.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • This patch adds asynchronous hash and digest support.

    Signed-off-by: Loc Ho
    Signed-off-by: Herbert Xu

    Loc Ho