Hi,
Thanks for your reply. I am aware of CipherFinal() but I wonder why CipherUpdate() writes anything into the final buffer at all if the buffer size is a multiple of the padding size. Additionally CipherFinal() fails if I call it afterwards. The documentation says "as a result the amount of data written may be anything from zero bytes to (inl + cipher_block_size - 1)". From that I take it that usually the final buffer should only contain data of the size "cipher_block_size - 1" which is not the case with the described behaviour. Cheers Nico ________________________________ Von: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] Im Auftrag von Andrea Saracino Gesendet: Freitag, 2. Dezember 2011 00:31 An: openssl-users@openssl.org Betreff: Re: Decrypted buffer padding Hi, after you use the EVP_CipherUpdate(), you have to call the EVP_CipherFinal() to encrypt the remaining bytes. Refer to the documentation to see how to correctly pass the parameters: http://www.openssl.org/docs/crypto/EVP_EncryptInit.html. The same goes for the decryption. I hope this help. Cheers. Andrea Il giorno 01 dicembre 2011 12:31, Nico Flink <fl...@coolux.de> ha scritto: Hello, I am trying to decrypt a buffer whose size is a multiple of the padding size (n * 16 bytes). But instead of getting the whole buffer as a result from EVP_CipherUpdate() I only get "InSize - PaddingSize" decrypted bytes. I get this behaviour with padding enabled and disabled. Is this the correct behaviour and is there anything I can do about it? In my application I need the insize to equal the outsize. Thanks a lot for your help. Cheers Nico