Change to FesfSaEncrypt and FesfSaDecrypt in FESF V1.11

Prior to FESF V1.11, FesfSaEncrypt and FesfSaDecrypt, always called your encryption callback with blocks of “encryption blocks size” bytes. For AES-CBC, this was 16 bytes. As a result, FesfSaEncrypt and FesfSaDecrypt performance was less than optimal.

In FESF V1.11, we have changed FesfSa so that it calls your Encrypt and Decrypt callbacks with 4K blocks of data to process instead of 16 bytes. The changes to the buffer size can be seen in SodsIoTranslation::WriteEncryptedStream and FesfFile::DecryptToStream. Also see the handling of these buffer size changes in SampGenericAes::EncryptData and SampGenericAes::DecryptData (when DUMMY_CRYPTO is NOT defined).

If your Stand-Alone crypto implementation relied on being called with blocks of 16 bytes (as our Sample Solution code did) your Stand-Alone encryption code will need to change. You can see the changes we made in the Sample Solution. If you wish to avoid the impact of these changes, simply revert the buffer size change in SodsIoTranslation::WriteEncryptedStream and FesfFile::DecryptToStream. Contact the FESF support team with any questions you might have about this change.