Commit graph

20 commits

Author SHA1 Message Date
Legrandin
6e41d35fb3 Reimplement ARC2
ARC2 is only interesting for historical reasons, and it should
not be used for new designs. The current implementation trips PyPy4
which may indicate a bug: a cleaner rewriting based on RFC2268
is the quickest solution.
2015-11-28 21:35:35 +01:00
Legrandin
2eea063f3d Update documentation for CTR mode 2015-11-14 22:08:33 +01:00
Legrandin
76e2482a16 CFB does not accept segment_size=0 2015-11-12 16:19:56 -05:00
Legrandin
72aff29a65 Update to API documentation. 2015-03-11 11:30:16 -04:00
Legrandin
0b76cd2168 Ensure that all data passed to C backend is byte strings 2015-02-10 22:29:40 +01:00
Legrandin
11a6d1dfa4 Flag explicitly certain arguments as of size_t type 2015-02-10 16:45:25 +01:00
Legrandin
e934e4135d Symmetric ciphers use cffi too (when available). 2015-01-22 09:35:44 +01:00
Legrandin
cb844d8292 More reliable way to infer module extension 2015-01-05 23:06:22 +01:00
Legrandin
e042da71d5 Update ARC2 2015-01-05 23:06:22 +01:00
Legrandin
e9adec93c7 Every cipher instance is a mode-specific type 2014-12-10 21:40:49 +01:00
Legrandin
350935d855 Factor out EAX mode into separate module 2014-12-08 22:15:50 +01:00
Legrandin
774d28d441 Factor out OpenPGP cipher mode in separate module 2014-12-08 21:53:14 +01:00
Legrandin
465d0391ac ECB is not the default mode for a new cipher.
The expression AES.new(key) used to be equivalent
to AES.new(key, AES.MODE_ECB). The same applies to
any other algorithm beside AES.

Since the ECB mode is not a secure default,
the expression AES.new(key) will now raise an exception.

NOTE: this change sets breaks compatibility with PyCrypto
2014-06-16 20:36:36 +02:00
Legrandin
8bdbdb8168 Add EAX authenticated encryption mode
[dlitz@dlitz.net: Included changes from the following commits from the author's pull request:]
- [9c13f9c] Rename 'IV' parameter to 'nonce' for AEAD modes.
- [ca460a7] Made blockalgo.py more PEP-8 compliant; The second parameter
            of the _GHASH constructor is now the length of the block
            (block_size) and not the full module.
[dlitz@dlitz.net: Fixed unresolved conflict in lib/Crypto/Cipher/blockalgo.py]
2013-10-20 13:30:21 -07:00
Legrandin
8766da37a2 whitespace changes (pre-AEAD)
[dlitz@dlitz.net: Whitespace changes extracted from the author's pull request:]
- [9c13f9c] Rename 'IV' parameter to 'nonce' for AEAD modes.
- [4ec64d8] Removed last references to ApiUsageError
- [ee46922] Removed most 'import *' statements
2013-10-20 13:30:21 -07:00
Stefano Rivera
cbc13b3f42 Update docstring. IVs are no longer optional 2012-05-27 17:41:46 +01:00
Legrandin
62f2c4154c Added OpenPGP mode 2012-05-17 22:17:38 +02:00
Legrandin
c3aadee360 Added example for all symmetric ciphers 2012-05-14 23:50:40 +02:00
Legrandin
d0863eabfb Minor fixes for documentation of ciphers
Fixed key lengths described with xrange()
Removed unnecessary imports.
Removed documentation for compiled modules starting with '_'.
2012-05-14 19:03:39 +02:00
Legrandin
a6e43870ee Added documentation for RC2 2012-05-12 23:33:13 +02:00