On 14-02-2018 18:22, Stephan Mueller wrote:
> Am Mittwoch, 14. Februar 2018, 06:43:53 CET schrieb Harsh Jain:
> Hi Harsh,
>> Patch set is working fine with chelsio Driver.
> Thank you.
>> Do we really need IV locking mechanism for AEAD algo because AEAD algo's
>> don't support Partial mode operation and Driver are not updating(atleast
>> Chelsio) IV's on AEAD request completions.
> Yes, I think we would need it. It is technically possible to have multiple 
> IOCBs for AEAD ciphers. Even though your implementation may not write the IV 
> back, others may do that. At least I do not see a guarantee that the IV is 
> *not* written back by a driver.
There is no  use of writing IV back in AEAD algo till Framework starts 
supporting Partial mode.
Even if Driver starts updating IV for AEAD, Multiple IOCB's in both cases will 
yield wrong results only.

Case 1 : If we have AEAD IV serialization  applied,  Encryption will be wrong 
if same IV gets used.
Case 2: If we do not have IV serialization for AEAD. Encryption will be fine 
but user will have multiple Authentication  tag (that too with final block 
processed).  Its like 2nd Block encryption is based on IV received from 1st 
block  and Authentication Tag value is based on 2nd block content only.

> In case your driver does not write the IV back and thus does not need to 
> serialize, the driver can report CRYPTO_ALG_SERIALIZES_IV_ACCESS. In this 
> case, the higher level functions would not serialize as the driver serializes 
> the requests (or the driver deems it appropriate that no serialization is 
> needed as is the case with your driver).
> Ciao
> Stephan

Reply via email to