97 Commits

Author SHA1 Message Date
4ad97ea961 Add Secp256r1 curve 2025-10-25 02:41:17 +09:00
Piotr Lizończyk
73375448c5 V0.3.1 (#38)
* Version bump

* Update CircleCI config
2020-03-03 19:48:23 +01:00
Brian Warner
807be634aa fix deprecation warning in call to public_bytes() (#33)
It looks like the calls to KeyPair25519 and KeyPair448 weren't being
exercised by the tests, so the 'cryptography' deprecation warnings that they
provoked weren't visible in the test run.

KeyPair448 requires the extra encoding/format parameters, so any uses of
Noise that has "448" in the name would probably have failed. KeyPair25519 was
lenient (since the original release didn't require those parameters), but has
started emitting warnings when they're omitted, and will probably start
throwing errors in the next release. So this patch is needed to fix 448 now,
and 25519 later.

refs #32
2020-03-03 19:12:53 +01:00
Piotr Lizonczyk
d0ec43c7c0 Update readme 2019-02-24 15:03:05 +01:00
Piotr Lizonczyk
944622214a multi python version 2019-02-24 15:03:05 +01:00
Piotr Lizonczyk
d8843dd2c8 CircleCI config, remove travis and appveyor 2019-02-24 15:03:05 +01:00
Piotr Lizończyk
0e376efbde Merge pull request #30 from plizonczyk/trunk
0.3.0 release
2019-02-24 12:56:31 +01:00
Piotr Lizonczyk
3518283e24 Merge remote-tracking branch 'origin/master' into trunk 2019-02-24 12:50:08 +01:00
Piotr Lizonczyk
613ba65ab9 0.3.0 release 2019-02-24 12:45:23 +01:00
Piotr Lizonczyk
fab0b06d17 Upgrade to Cryptography 2.5 2019-02-24 12:38:54 +01:00
Drew Harwell
3e3ff2af3c fix use of x25519 private keys (#29)
This underscore is a typo and causes errors to be thrown.
2019-02-24 12:27:23 +01:00
Piotr Lizończyk
2f67f21ca4 Remove custom x448 impl.
Closes #25
2018-11-30 01:06:58 +01:00
Piotr Lizończyk
6499489d5f Clarify NoiseProtocol members naming 2018-07-16 23:03:11 +02:00
Piotr Lizończyk
1f3414928a Update README.md 2018-07-16 01:56:32 +02:00
Piotr Lizończyk
25c716a9e6 Update changelog, package version, requirements 2018-07-16 01:52:50 +02:00
Piotr Lizończyk
e84db3c232 Added possibilty to use different crypto backends.
* Created NoiseBackend class serving as a base for backends

* Refactored NoiseProtocol name parsing

* Refactored existing spec-defined functions into abstract classes.
Implementing classes are connecting crypto primitives to expected
interfaces.

* Refactored existing usage of Cryptography as source of crypto into
"default" backend (along with in-house implementation of X448).

* Provisioned "experimental" backend, it will contain e.g. non-default
crypto algorithms

* Backend can be chosen while creating NoiseConnection, though by
default, the Cryptography backend ("default") is used

Closes #7
2018-07-16 01:47:29 +02:00
Piotr Lizończyk
6fc772aead Update README.md 2018-07-16 01:47:01 +02:00
Piotr Lizończyk
ebb76f5b42 Merge pull request #27 from gpotter2/master
Update scapy
2018-06-04 15:22:08 +02:00
gpotter2
f0761b888a Update scapy
scapy-python3 is an unofficial fork that is getting very oudated (many bug fixes missing).
Migrates to original and up-to-date scapy, which now supports both python 2 and 3
2018-06-04 11:29:40 +02:00
Piotr Lizończyk
0eab4f2cb1 Release 0.2.2 2018-03-21 12:25:13 +01:00
Piotr Lizończyk
b45aa5cd63 Merge pull request #21 from warner/unpin-cryptography
setup.py: relax the pin on 'cryptography'
2018-03-21 11:54:18 +01:00
Brian Warner
413e1f518b setup.py: relax the pin on 'cryptography'
refs #20
2018-03-16 08:37:07 -07:00
Piotr Lizończyk
79165cfc85 Merge pull request #19 from warner/fix-py35
fix python_requires= to allow installation under py3.5
2018-03-16 16:01:58 +01:00
Brian Warner
90f120f508 fix python_requires= to allow installation under py3.5
According to PEP440, a comma in a version specifier behaves as a logical AND,
so the previous "~=3.5,~=3.6" is equivalent to just "~=3.6", which excludes
python3.5.

This patch replaces it with "~=3.5", which is equivalent to ">=3.5, ==3.*",
so it includes 3.5, 3.6, 3.7, and beyond (but not 4.0).
2018-03-15 12:28:15 -07:00
Piotr Lizończyk
9286b18a05 Update README.md 2018-01-14 14:30:32 +01:00
Piotr Lizończyk
4b2ceb8313 Merge pull request #17 from plizonczyk/dependabot/pip/cryptography-2.1.4
Bump cryptography from 2.1.3 to 2.1.4
2018-01-14 14:28:08 +01:00
dependabot[bot]
0fc6fa0bd9 chore(dependencies): Bump cryptography from 2.1.3 to 2.1.4
Bumps [cryptography](https://github.com/pyca/cryptography) from 2.1.3 to 2.1.4.
- [Changelog](https://github.com/pyca/cryptography/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/2.1.3...2.1.4)
2017-11-30 07:05:45 +00:00
Piotr Lizończyk
dba4840489 Merge pull request #16 from plizonczyk/trunk
Release 0.2.1
2017-11-04 02:23:56 +01:00
Piotr Lizonczyk
d560ad7ca8 Release 0.2.1
Bumping Cryptography to 2.1.3 - OpenSSL security issue
2017-11-04 02:17:15 +01:00
Piotr Lizończyk
4e0fe3992c Merge pull request #15 from plizonczyk/windows
Support for Windows and OS X
2017-11-04 01:54:36 +01:00
Piotr Lizończyk
fa29011030 Update .travis.yml
OS X workaround
2017-11-04 00:51:38 +01:00
Piotr Lizończyk
25cc97aa24 Update README.md 2017-11-04 00:05:58 +01:00
Piotr Lizończyk
88eb72f5c3 Update .travis.yml 2017-11-04 00:04:35 +01:00
Piotr Lizonczyk
08d0859a79 Enable OS X build. Fix Windows build.
Update README and trove classifiers in setup.py
2017-11-03 23:37:02 +01:00
Piotr Lizonczyk
4be0891658 Trying out appveyor Windows builds 2017-11-03 23:19:29 +01:00
Piotr Lizonczyk
5a9f814a81 Adding some dev requirements 2017-11-01 11:35:40 +01:00
Piotr Lizończyk
bf658e6c4b Merge pull request #13 from plizonczyk/trunk
0.2.0 pre-release commit
2017-11-01 11:28:04 +01:00
Piotr Lizonczyk
7366c45e72 0.2.0 pre-release commit
Renamed NoiseBuilder to NoiseConnection
Bumped Cryptography from 2.1.1 to 2.1.2
Ready to release

Closes #5
2017-11-01 11:17:07 +01:00
Piotr Lizończyk
82776dac65 Merge pull request #12 from plizonczyk/trunk
Trunk to master - towards 0.2.0 release
2017-10-30 23:37:46 +01:00
Piotr Lizonczyk
2aa9166f9d Improved README with responder example.
Closes #11
2017-10-30 21:38:55 +01:00
Piotr Lizonczyk
f5e892fc96 Update documentation generation
Added information about documentation in README

Closes #8
2017-10-14 18:07:40 +02:00
Piotr Lizonczyk
59c11248ff Ensure compatibility with revision 33
* Allowed '/' in protocol name
* Added SymmetricState.GetHandshakeHash()
* Added CipherState.SetNonce()
* Unittests to ensure that each of above is working

Closes #3
2017-10-14 17:47:58 +02:00
Piotr Lizonczyk
2bac81d05c Do not reinitialise cipher class every time
Now CipherState holds instance of Cipher wrapper and manages
initialization of underlying cipher method with keys.

Closes #6
2017-10-14 17:06:51 +02:00
Piotr Lizonczyk
d636c506d3 Changelog and setup.py update 2017-10-11 19:00:35 +02:00
Piotr Lizończyk
3bfb39883e Cryptography version update (#10)
* 2.1 version of pyca/cryptography got released. Version bumped
* Python 3.5 support reintroduced, as we are now using BLAKE from
Cryptography, not hashlib
* Removed hashlib references, uncommented Cryptography references.
* Enum fix for python 3.5 compat

Closes #9
2017-10-11 18:58:07 +02:00
Piotr Lizonczyk
81a2f7e845 Use Read the Docs theme
+ clean up some default unnecessary options from sphinx conf.py

Refs #8
2017-10-08 01:50:20 +02:00
Piotr Lizonczyk
ae894c6be9 Docs generation setup
First shot at documentation. Just to check if they work with
ReadTheDocs.

Also, added dev_requirements.txt with packages required for development
of package.

Refs #8
2017-10-08 01:35:41 +02:00
Piotr Lizonczyk
7e51c3a6f7 Switched from lists to tuples for const data type
Closes #2
2017-10-08 00:54:54 +02:00
Piotr Lizonczyk
d4c4d2e1bd Using pow(x, y, modp) where applicable
Additionally minor reformatting.

Closes #1
2017-10-08 00:36:18 +02:00
Piotr Lizonczyk
ed4a452cc5 Improvements in NoiseBuilder
Added check for handshake_finished == True in encrypt/decrypt.
2017-09-12 23:21:27 +02:00