2016-09-02 14:35:05

by Harsh Jain

[permalink] [raw]
Subject: Who will copy the AAD data to dest. buffer

Hi Herbert,

Is copy of AAD data to destination buffer when dst != src is mandatory
requirements for crypto drivers or we can skip this copy. Actually I
am bit confused, In following link Stephen had mentioned caller will
memcpy the AAD to destination buffer but authenc.c also copies the AAD
to dest. buffer.

http://www.chronox.de/libkcapi/html/ch02s02.html

Secondly When AAD data remains unchanged in AEAD encryption/decryption
operations. Why we copy the same data to destination buffer?

Thanks & Regards
Harsh Jain


2016-09-02 14:42:27

by Herbert Xu

[permalink] [raw]
Subject: Re: Who will copy the AAD data to dest. buffer

On Fri, Sep 02, 2016 at 08:05:04PM +0530, Harsh Jain wrote:
> Hi Herbert,
>
> Is copy of AAD data to destination buffer when dst != src is mandatory
> requirements for crypto drivers or we can skip this copy. Actually I
> am bit confused, In following link Stephen had mentioned caller will
> memcpy the AAD to destination buffer but authenc.c also copies the AAD
> to dest. buffer.
>
> http://www.chronox.de/libkcapi/html/ch02s02.html

It has to be copied if src != dst.

> Secondly When AAD data remains unchanged in AEAD encryption/decryption
> operations. Why we copy the same data to destination buffer?

This greatly simplifies the implementation of the AEAD algorithms
because we can throw away src and use the dst only. For example,
authenc hashes the AAD and ciphertext. If we didn't force the
copy it would have to hash them separately, meaning the use of
the slow init/update/final interface. With the copy it can use
the digest interface.

Cheers,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2016-09-03 05:15:09

by Harsh Jain

[permalink] [raw]
Subject: Re: Who will copy the AAD data to dest. buffer

Thanks Herbert for clarification. It means Libkcapi documentation
needs update of chapter "Aead Cipher API".

Regards
Harsh Jain



On Fri, Sep 2, 2016 at 8:12 PM, Herbert Xu <[email protected]> wrote:
> On Fri, Sep 02, 2016 at 08:05:04PM +0530, Harsh Jain wrote:
>> Hi Herbert,
>>
>> Is copy of AAD data to destination buffer when dst != src is mandatory
>> requirements for crypto drivers or we can skip this copy. Actually I
>> am bit confused, In following link Stephen had mentioned caller will
>> memcpy the AAD to destination buffer but authenc.c also copies the AAD
>> to dest. buffer.
>>
>> http://www.chronox.de/libkcapi/html/ch02s02.html
>
> It has to be copied if src != dst.
>
>> Secondly When AAD data remains unchanged in AEAD encryption/decryption
>> operations. Why we copy the same data to destination buffer?
>
> This greatly simplifies the implementation of the AEAD algorithms
> because we can throw away src and use the dst only. For example,
> authenc hashes the AAD and ciphertext. If we didn't force the
> copy it would have to hash them separately, meaning the use of
> the slow init/update/final interface. With the copy it can use
> the digest interface.
>
> Cheers,
> --
> Email: Herbert Xu <[email protected]>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2016-09-03 13:20:08

by Stephan Müller

[permalink] [raw]
Subject: Re: Who will copy the AAD data to dest. buffer

Am Samstag, 3. September 2016, 10:45:08 CEST schrieb Harsh Jain:

Hi Harsh,

> Thanks Herbert for clarification. It means Libkcapi documentation
> needs update of chapter "Aead Cipher API".

Fixed, I will release a new version shortly.

Thanks for the pointer.

Ciao
Stephan