Commit graph

13482 commits

Author SHA1 Message Date
Donald Stufft
ccf8871e28 Use the version of PyPy from PPAs to get PyPy 2.1 2013-09-12 13:07:59 -04:00
David Reid
f1a39bd77f OFB uses an initialization vector instead a nonce. 2013-09-11 16:28:42 -07:00
David Reid
44ff8ea41b ModeWithNonce no longer exists. 2013-09-11 16:27:24 -07:00
David Reid
4c999642f8 ModeWithNonce is no longer used. 2013-09-11 16:26:49 -07:00
David Reid
07172ca3cc OFB is specified as having an IV instead of a Nonce.
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Output_feedback_.28OFB.29
2013-09-11 16:26:20 -07:00
David Reid
dd3c783d59 Merge pull request #59 from reaperhulk/cfb-support
CFB support
2013-09-11 16:22:26 -07:00
Paul Kehrer
4223df72cf add CFB to documentation 2013-09-11 09:48:04 -05:00
Paul Kehrer
a1ec262a35
CFB support
This requires a bit of explanation. OpenSSL has methods that implement
standard CFB, 1-bit CFB (cfb1), and 8-bit CFB (cfb8). Unfortunately,
while old (read: 0.9.7) versions of OpenSSL appear to test these
variants, newer versions have a comment stating that cfb{1,8} are
unsupported. Accordingly, I've backed out any support for the variants
for now. We can add it back into the CFB class if and when we gain a
backend that supports arbitrary s for 1 <= s <= block_size
2013-09-11 09:38:45 -05:00
Donald Stufft
9287c2344c Merge pull request #57 from reaperhulk/ofb-support
Output feedback mode support + test vectors (aes)
2013-09-10 20:24:20 -07:00
Paul Kehrer
c507412ec0
change OFB iv to nonce to reflect dstufft nomenclature pitch
* Namely, we should try to call things IV if reuse leaks a small amount
  of data and nonce if reuse can result in a complete break. This can
  be somewhat ambiguous, but we'll track in #58
2013-09-10 22:15:00 -05:00
Donald Stufft
a672bbe622 Merge pull request #56 from alex/docs-cleanup
Cleaned up the docs for ECB
2013-09-10 19:40:33 -07:00
Paul Kehrer
6f412a0fc3
add output feedback mode support + test vectors (aes) 2013-09-10 21:31:27 -05:00
Alex Gaynor
cd413a36d3 Cleaned up the docs for ECB 2013-09-10 18:59:43 -07:00
Alex Gaynor
c9e91e8cc1 Merge pull request #53 from reaperhulk/ecb-support-im-sorry
ECB Support
2013-09-10 18:57:35 -07:00
Paul Kehrer
7d9e0d9af5 address style on import + remove a tox dependency (in setup.py already) 2013-09-10 19:47:50 -05:00
Paul Kehrer
c024255dda move abc, inline introspect method, use six for abcs
* abc moved to cryptography.primitive.interfaces
* six added to dependencies
* six used to have py2x/py3x compatible abc
* nonce abc removed for now
2013-09-10 19:47:50 -05:00
Paul Kehrer
5266752c9e modify modes to use abc so api can determine what attribute to call
* Due to a circular dependency issue I had to put the abcs in
  cryptography.primitives.abc.block.modes
* The ABCs look like they do because that is the form that is compatible
  with 2.x and 3.x
2013-09-10 19:47:50 -05:00
Paul Kehrer
dc68929370 rename get_null_for_ecb to get_iv_for_ecb per alex's comments 2013-09-10 19:47:50 -05:00
Paul Kehrer
29cfa6989b add get_iv_or_nonce() methods to replace _get_iv() on api 2013-09-10 19:47:50 -05:00
Paul Kehrer
09980a55fe remove unneeded init in ECB class, add warning to docs for ECB mode 2013-09-10 19:47:50 -05:00
Paul Kehrer
fe9b82d152 add ECB support to create_block_cipher_context
* This is a basic refactor to support ECB and CBC mode in this method.
  We can use this as a starting point to discuss a better solution.
2013-09-10 19:47:50 -05:00
Paul Kehrer
13f108f926 Add ECB class + docs + tests
* Slightly refactors test_nist to allow fetching of data that has no IV
* Does not modify create_block_cipher_context (next commit)
2013-09-10 19:47:50 -05:00
Alex Gaynor
62ebc7e212 consistency 2013-09-10 17:22:11 -07:00
Alex Gaynor
6c7be9c4f4 Merge branch 'master' into triple-des
Conflicts:
	tests/primitives/test_nist.py
2013-09-10 17:21:39 -07:00
Alex Gaynor
180606f3e7 Merge pull request #55 from reaperhulk/parameterize-encrypt-changes
Changes to parameterize_encrypt_test to support other NIST vectors
2013-09-10 17:21:07 -07:00
Paul Kehrer
2354fcdcb4
changes to parameterize_encrypt_test to support other NIST vectors
* ECB has no IV so we need to be able to pass params rather than have
  them hardcoded in the method
2013-09-10 19:16:27 -05:00
Alex Gaynor
920e3300c3 Get tests running (fail miserably) 2013-09-10 16:55:52 -07:00
Hynek Schlawack
29828520d8 Merge pull request #54 from alex/document-contributing
More fully document the contribution process
2013-09-09 23:54:40 -07:00
Alex Gaynor
2c67c82b96 Captitalize GH properly 2013-09-09 23:44:13 -07:00
Alex Gaynor
c72e63fc52 More fully document the contribution process, move most of the details from
CONTRIBUTING.rst to sphinx.
2013-09-09 21:44:26 -07:00
Alex Gaynor
9f44cabb50 Write out the initial test cases, they don't even fail properly because the 3DES cases look different from the AES ones 2013-09-09 19:04:16 -07:00
Alex Gaynor
f4bb6d3bed Merge branch 'master' into triple-des 2013-09-09 18:29:53 -07:00
Donald Stufft
7816628adb Merge pull request #52 from alex/3des-vectors
Aded the 3DES vectors. Refs #51.
2013-09-09 18:29:08 -07:00
Alex Gaynor
d6e6d7e94a Aded the 3DES vectors. Refs #51. 2013-09-09 18:14:05 -07:00
Alex Gaynor
2f355d156f These are capitalized 2013-09-09 18:09:26 -07:00
Alex Gaynor
aeb714c5fb Iinital work on 3DES. No tests and no implementation yet. 2013-09-09 18:06:14 -07:00
Donald Stufft
2ed581ec4a Merge pull request #50 from alex/simplify-nist-tests
Simplified the NIST tests and reduced duplication
2013-09-09 16:53:40 -07:00
Alex Gaynor
735df00592 Simplified the NIST tests and reduced duplication 2013-09-09 16:46:03 -07:00
Alex Gaynor
9e1f70a472 Merge pull request #49 from reaperhulk/master
Update authors
2013-09-09 16:07:37 -07:00
Paul Kehrer
ef559158f6
update authors 2013-09-09 18:01:56 -05:00
Alex Gaynor
6fc8cee0d7 Merge pull request #48 from reaperhulk/master
Add OpenSSL Version Text Method
2013-09-09 15:56:05 -07:00
Paul Kehrer
c1a218d3b9
Update docstring to pass alex8 linting 2013-09-09 17:45:52 -05:00
Paul Kehrer
bdafcd3917
openssl_version_text now calls startswith rather than find 2013-09-09 17:44:11 -05:00
Paul Kehrer
6c272f097b
Accurate friendly string name example text 2013-09-09 17:32:12 -05:00
Paul Kehrer
eb49db17f8
ascii decode on openssl_version_text + doc string improvements 2013-09-09 17:15:09 -05:00
Paul Kehrer
733404a826
Add method to bindings to get OPENSSL_VERSION_TEXT
* This allows you to check that you're binding against the expected
  version of OpenSSL
* Test is pretty basic (just checks to see that the string starts
  with OpenSSL)
2013-09-09 15:30:13 -05:00
Paul Kehrer
d55920576d Fix issue mixing %s and format for ValueError in AES 2013-09-09 15:29:20 -05:00
Hynek Schlawack
5e00e96f20 Merge pull request #28 from alex/simple-symmetric-encryption
[WIP] initial implementation of symmetric encryption
2013-09-07 12:14:31 -07:00
Alex Gaynor
aaa2217161 This isn't a thing 2013-08-31 10:09:16 -07:00
Alex Gaynor
ef1954ae0e remove this duplicate 2013-08-31 10:08:57 -07:00