-
Enhancement
-
Resolution: Done
-
Minor
-
4.1.5, 3.6.19
-
None
By default, Encrypt sets sym_algorithm to "AES". As a result, the default cipher mode is used, which is ECB. ECB encrypts a given plaintext block to the same ciphertext every time, which can allow attackers to see patterns in messages being exchanged.
Modes like CBC, that use a random initialization vector (IV) avoid this problem (assuming a different IV is used for each message).
It would be good to modify Encrypt to support ciphers that require an IV, such as AES/CBC/PKCS5Padding.