Messages in this thread | | | Date | Wed, 03 Oct 2012 02:53:27 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH v0] Add SHA-3 hash algorithm |
| |
On 10/03/2012 02:06 AM, David Miller wrote: > From: Jeff Garzik <jeff@garzik.org> > Date: Wed, 3 Oct 2012 01:45:42 -0400 > >> 1) tcrypt setup blatantly wrong. What is the best setup here? Define a >> separate entry for each digest length? Is there some special string >> descriptor format that is desired, like "sha3-256" or "sha3(256)"? > > Good question. The base name should probably be something without > dashes. Maybe "sha3_256", but yeah "sha3256" would look rediculous.
Well, the more basic question was... what to do when the digest length is easily variable, vis a vis kernel hash APIs?
Keccak message digest size may fall anywhere within the range 8 bits - 1600 bits at runtime. You choose the digest size when you init the context. In contrast, the kernel interface appears to require a hardcoded size, chosen at driver compile time.
My patch picks sizes found in common use, consistent with existing kernel practice. However, it is valid for another Keccak user to produce a 1600 bit hash, or a 1592 bit hash, or a 1584 bit hash, etc., etc.
Maybe my patch is the best we can do in the current kernel, if dynamic digest size is not currently possible. Register "sha3_224", "sha3_256", ... as you describe, and wait for actual users to appear with unsupported digest sizes.
Jeff
| |