Now here is where I get myself into deeper water! Looking round the code, and the validation suite, it is clear that understanding how to use the BufferedTransformation class and the various filter classes (especially StreamTransformationFilter) is key to making effective use of Crypto++. For example the following trivial code snippet does appear to do single DES CBC encryption with PKCS#5 padding - the question from my point of view, is whether this is the most effective way to do this ...
CBC_Mode<DES>::Encryption cbcEncryption; cbcEncryption.SetKeyWithIV(key, cbcEncryption.DefaultKeyLength() ,iv); StreamTransformationFilter encryptor(cbcEncryption, NULL, StreamTransformationFilter::PKCS_PADDING); encryptor.Put(plaintext, sizeof(plaintext)); encryptor.MessageEnd(); unsigned int outputLength = encryptor.MaxRetrievable(); ciphertext = new byte[1 + outputLength]; encryptor.Get(ciphertext, outputLength); Are there any annotated samples (a tutorial if you like) on making effective use of this stuff to accomplish more complex tasks? PS How do stop the mailing list from copying me on my own posts? Regards, David C. Partridge Security and MQ Products Manager Primeur Group Tel: +44 (0)1926 511058 Mobile: +44 (0)7713 880197