> I haven't used the IV generation facility of the Crypto API, but it > seems to be very straightforward although there's no documentation > about that. > > You should use aead_givcrypt_set_callback(), aead_givcrypt_set_assoc() > and aead_givcrypt_set_crypt() as you would use the regular aead > functions, that includes that you have to provide a buffer with length > equals to the algorithm block size for the IV. And then you should call > aead_givcrypt_set_giv() passing a counter and another IV buffer. > > The difference between the two IV buffers that you have to provide to > aead_givcrypt_set_crypt() and aead_givcrypt_set_giv() is that the first > one will be updated by the algorithm during the encryption of each block > and the second one will contain the generated IV that you will have to > use to decrypt data. > > The last step is to call crypto_aead_givencrypt() as you would call > crypto_aead_encrypt(). We discovered those functions, yet the only way we found how to use them was to use one of the ipsec modes, e.g.: crypto_alloc_aead("rfc4106(gcm(aes))", 0, 0) Is this the only way this API should be used, or is there some high level interface to use iv generators like seqiv? Thank you for your help, Dominik Paulus and Tobias Polzer -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html