RE: generic ahash question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-crypto-owner@xxxxxxxxxxxxxxx <linux-crypto-owner@xxxxxxxxxxxxxxx> On Behalf Of Eric Biggers
> Sent: Friday, July 19, 2019 10:07 PM
> To: Pascal Van Leeuwen <pvanleeuwen@xxxxxxxxxxxxxx>
> Cc: linux-crypto@xxxxxxxxxxxxxxx; Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>
> Subject: Re: generic ahash question
> 
> On Fri, Jul 19, 2019 at 07:33:30PM +0000, Pascal Van Leeuwen wrote:
> > > -----Original Message-----
> > > From: linux-crypto-owner@xxxxxxxxxxxxxxx <linux-crypto-owner@xxxxxxxxxxxxxxx> On Behalf Of Eric Biggers
> > > Sent: Friday, July 19, 2019 6:23 PM
> > > To: Pascal Van Leeuwen <pvanleeuwen@xxxxxxxxxxxxxx>
> > > Cc: linux-crypto@xxxxxxxxxxxxxxx; Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>
> > > Subject: Re: generic ahash question
> > >
> > > On Fri, Jul 19, 2019 at 02:41:03PM +0000, Pascal Van Leeuwen wrote:
> > > > Hi,
> > > >
> > > > I recall reading somewhere in the Linux Crypto documentation that support for finup() and digest()
> > > > calls were explicitly added to support hardware that couldn't handle seperate init/update/final
> > > > calls so they could at least be used with e.g. the IPsec stack.  I also noticed that testmgr *does*
> > > >  attempt to verify these seperate calls ...
> > > >
> > > > So I'm guessing there must be some flags that I can set to indicate I'm not supporting seperate
> > > > init/update/final calls so that testmgr skips those specific tests? Which flag(s) do I need to set?
> > > >
> > >
> > > Where does the documentation say that?
> >
> > For finup:
> > "As some hardware cannot do update and final separately, this callback was added to allow such
> > hardware to be used at least by IPsec"
> >
> > For digest:
> > "Just like finup, this was added for hardware which cannot do even the finup, but can only do the
> > whole transformation in one run."
> >
> > Those statement sort of imply (to me) that it's OK to only support digest or only finup and digest.
> >
> 
> Can you send a patch to fix this documentation?
> 
I could add some big fat disclaimer somewhere, but admittedly I just did not read or
remember thoroughly enough. And perhaps my memory was just being selective,
only remembering the parts that suited me well (it usually does :-).

Still, it seems rather odd to on the one hand acknowledge the fact that there is 
hardware out there with these limitations, and add  specific support for that, and 
on the other hand burden their drivers with implementing all these fallbacks.
That's why I assumed there must be some flags somehere to indicate to the API
that it should not bother my driver with requests requiring init/update/final.
Which I now know is not the case, so fine, I either implement the fallbacks or I
just don't bother supporting the algorithm.

Regards,
Pascal van Leeuwen
Silicon IP Architect, Multi-Protocol Engines @ Verimatrix
www.insidesecure.com





[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux