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]

Reply via email to