I have some question too. I whould appreciate any help! Why is the initial vector (ivec) needed? I see by reading the openssl code that it is used for xoring with the input before encrypting, but from what I see in other resources, this is not a part of the Rijndael algorithm (It is not the AddRoundKey). So doesn't it make this implementation imcompatible with the standard? (passing ivec of 0 will also not help, since it changes during the function and the changed value is used).
Also, I see the code does: const unsigned char *iv = ivec; ... // changing iv while encrypting... and then at the end: memcpy(ivec,iv,AES_BLOCK_SIZE); - For what purpose is the new value of ivec "returned" to the caller (by the memcpy)? Is there a use for the new ivec after the function returns? Decoding will need the original value, so it can't be for that :/ Thanks to anyone who may explain! -- View this message in context: http://www.nabble.com/AES-cbc--How-to-Init-Openssl--tf4376933.html#a12732509 Sent from the OpenSSL - User mailing list archive at Nabble.com. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]