Hi:

This patch series adds support for parameterised algorithms.  Put simply,
a parameterised algorithm (that is, a crypto template) is an object that
generates crypto algorithms given parameters.

For now the parameters are simply other crypto algorithms.  However, in
future it can include integers (e.g., deflate and window bits), or more
complex objects (e.g., algorithms + keys).

This series adds one sample implementation of a template, HMAC.  The next
goal for its application is AES-XCBC-MAC.  As part of the asynchronous
crypto work, I also intend to convert the CBC/ECB ciphers to templates.

Thie series also adds support for selecting algorithms based on their
type and flags.  The most immediate application is in restricting what
algorithm is allocated by crypto_alloc_tfm.  As it is when you allocate
"md5" you are not guaranteed to be given a digest algorithm.  By setting
the type digest and the appropriate mask, you'd be guaranteed to get a
digest algorithm (or at least something that claims to be one).

The same mechanism could be used to select on arbitrary flags.  E.g,
if we had a flag bit X that says the digest algorithm is only capable
of accepting data up to a page, then you can locate algorithms which
are not restricted in this way by setting type to 0 and mask to X.

For now this mechanism is not accessible via crypto_alloc_tfm yet.  This
is pretty easy however and I will be converting it over soon.

This series will be in cryptodev-2.6 and mm soon.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to