diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2013-11-07 13:24:31 -0800 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2013-11-07 13:24:31 -0800 |
commit | 8ed651e717537ea69c987b78f6ef9f8d336bb734 (patch) | |
tree | b7d573bdd6e6c8ebd52129502ec65955c263d9b6 /docs/hazmat/primitives/symmetric-encryption.rst | |
parent | 60d4c68845aff3d44902cb978231fa01a5e74359 (diff) | |
download | cryptography-8ed651e717537ea69c987b78f6ef9f8d336bb734.tar.gz cryptography-8ed651e717537ea69c987b78f6ef9f8d336bb734.tar.bz2 cryptography-8ed651e717537ea69c987b78f6ef9f8d336bb734.zip |
Be really explicit about what's good and bad
Diffstat (limited to 'docs/hazmat/primitives/symmetric-encryption.rst')
-rw-r--r-- | docs/hazmat/primitives/symmetric-encryption.rst | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/docs/hazmat/primitives/symmetric-encryption.rst b/docs/hazmat/primitives/symmetric-encryption.rst index 7d3b072d..1aeb2a56 100644 --- a/docs/hazmat/primitives/symmetric-encryption.rst +++ b/docs/hazmat/primitives/symmetric-encryption.rst @@ -163,9 +163,29 @@ Modes to be kept secret (they can be included in a transmitted message). Must be the same number of bytes as the - ``block_size`` of the cipher. Do not - reuse an ``initialization_vector`` with - a given ``key``. + ``block_size`` of the cipher. Each time + someting is encrypted a new + ``initialization_vector`` should be + generated. Do not reuse an + ``initialization_vector`` with + a given ``key``, and particularly do + not use a constant + ``initialization_vector``. + + A good construction looks like: + + .. code-block:: pycon + + >>> import os + >>> iv = os.urandom(16) + >>> mode = CBC(iv) + + While the following is bad and will leak information: + + .. code-block:: pycon + + >>> iv = "a" * 16 + >>> mode = CBC(iv) .. class:: CTR(nonce) |