Path to this page:
./
security/py-ecdsa,
Easy-to-use implementation of ECDSA cryptography
Branch: CURRENT,
Version: 0.19.0,
Package name: py311-ecdsa-0.19.0,
Maintainer: glsThis is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve
Digital Signature Algorithm), implemented purely in Python, released under the
MIT license. With this library, you can quickly create keypairs (signing key
and verifying key), sign messages, and verify the signatures. The keys and
signatures are very short, making them easy to handle and incorporate into
other protocols.
This library provides key generation, signing, and verifying, for five popular
NIST "Suite B" GF(p) curves, with key lengths of 192, 224, 256, 384, and 521
bits. The "short names" for these curves, as known by the OpenSSL tool, are:
prime192v1, secp224r1, prime256v1, secp384r1, and secp521r1. No other curves
are included, but it would not be too hard to add more.
Required to run:[
devel/py-setuptools] [
lang/py-six] [
lang/python37]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 193.155 KB
Version history: (Expand)
- (2024-04-10) Updated to version: py311-ecdsa-0.19.0
- (2022-08-10) Updated to version: py310-ecdsa-0.18.0
- (2022-01-05) Updated to version: py39-ecdsa-0.17.0nb1
- (2021-10-07) Updated to version: py39-ecdsa-0.17.0
- (2021-06-01) Updated to version: py38-ecdsa-0.17.0
- (2020-12-01) Updated to version: py37-ecdsa-0.16.1
CVS history: (Expand)
2024-04-10 13:16:20 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-ecdsa: updated to 0.19.0
ecdsa 0.19.0
New API:
to_ssh in VerifyingKey and SigningKey, supports Ed25519 keys only
(Pablo Mazzini)
New features:
Support for twisted Brainpool curves
Doc fix:
Fix curve equation in glossary
Documentation for signature encoding and signature decoding functions
Maintenance:
Dropped official support for 3.3 and 3.4 (because of problems running them
in CI, not because it's actually incompatible; support for 2.6 and 2.7 is
unaffected)
Fixes aroung hypothesis parameters
Officially support Python 3.11 and 3.12
Small updates to test suite to make it work with 3.11 and 3.12 and new
releases of test dependencies
Dropped the internal _rwlock module as it's unused
Added mutation testing to CI, lots of speed-ups to the test suite
to make it happen
Removal of unnecessary six.b literals (Alexandre Detiste)
Deprecations:
int_to_string, string_to_int, and digest_integer from ecdsa.ecdsa
module are now considered deprecated, they will be removed in a future
release
|
2022-08-10 12:57:45 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-ecdsa: updated to 0.18.0
Release 0.18.0 (09 Jul 2022)
New API:
* `curve_by_name` in `curves` module to get a `Curve` object by providing curve
name.
Bug fix:
* Make the `VerifyingKey` encoded with explicit parameters use the same
kind of point encoding for public key and curve generator.
* Better handling of malformed curve parameters (as in CVE-2022-0778);
make python-ecdsa raise `MalformedPointError` instead of `AssertionError`.
Doc fix:
* Publish the documentation on https://ecdsa.readthedocs.io/,
include explanation of basics of handling of ECC data formats and how to use
the library for elliptic curve arithmetic.
* Make object names more consistent, make them into hyperlinks on the
readthedocs documentation.
* Make security note more explicit (Ian Rodney)
* Fix the `explicit` vs `named_curve` confusion in `VerifyingKey` docs.
Maintenance:
* Updated black version; slight changes to formatting
* Include interoperability tests for Ed25519 and Ed448 with OpenSSL.
|
2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595) |
Log message:
*: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
|
2021-10-26 13:18:07 by Nia Alarie | Files touched by this commit (605) |
Log message:
security: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Unfetchable distfiles (fetched conditionally?):
./security/cyrus-sasl/distinfo \
cyrus-sasl-dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d.patch.v2
|
2021-10-07 16:54:50 by Nia Alarie | Files touched by this commit (606) |
Log message:
security: Remove SHA1 hashes for distfiles
|
2021-06-01 07:34:51 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-ecdsa: updated to 0.17.0
Relase 0.17.0 (27 May 2021)
New API:
* Keys that use explicit curve parameters can now be read and written.
Reading of explicit curves can be disabled by using the
`valid_curve_encodings` keyword argument in `VerifyingKey.from_pem()`,
`VerifyingKey.from_der()`, `SigningKey.from_pem()`, and
`SigningKey.from_der()`.
* Keys can now be written with use of explicit curve parameters,
use `curve_parameters_encoding` keyword argument of `VerifyingKey.to_pem()`,
`VerifyingKey.to_der()`, `SigningKey.to_pem(), or `SigningKey.to_der()` to
specify the format. By default `named_curve` will be used, unless the
curve doesn't have an associated OID (as will be the case for an unsupported
curve), then `explicit` encoding will be used.
* Allow specifying acceptable point formats when loading public keys
(this also fixes a minor bug where python-ecdsa would accept raw
encoding for points in PKCS#8 files). Set of accepted encodings is controlled
by `valid_encodings` keyword argument in
`ECDH.load_received_public_key_bytes()`, `VerifyingKey.from_string()`,
`VerifyingKey.from_pem()`, VerifyingKey.from_der()`.
* `PointJacobi` and `Point` now inherit from `AbstractPoint` that implements
the methods for parsing points. That added `from_bytes()` and
`to_bytes()` methods to both of them.
* Curve parameters can now be read and written to PEM and DER files. The
`Curve` class supports new `to_der()`, `from_der()`, `to_pem()`, and
`from_pem()` methods.
Doc fix:
* Describe in detail which methods can raise `RSZeroError`, and that
`SigningKey.sign_deterministic()` won't raise it.
Bug fix:
* Correctly truncate hash values larger than the curve order (only impacted
custom curves and the curves added in this release).
* Correctly handle curves for which the order is larger than the prime
(only impacted custom curves and the secp160r1 curve added in this release).
* Fix the handling of `==` and `!=` for `Public_key`, `Private_key`, `Point`,
`PointJacobi`, `VerifyingKey`, and `SigningKey` so that it behaves
consistently and in the expected way both in Python 2 and Python 3.
* Implement lock-less algorithm inside PointJacobi for keeping shared state
so that when calculation is aborted with KeyboardInterrupt, the state doesn't
become corrupted (this fixes the occasional breakage of ecdsa in interactive
shells).
New features:
* The `speed.py` script now provides performance for signature verification
without use of precomputation.
* New curves supported: secp112r1, secp112r2, secp128r1, secp160r1.
Performance:
* Use 2-ary Non-Adjacent Form for the combined multiply-add. This speeds up
single-shot verify (i.e. without precomputation) by about 4 to 5%.
* Use native Python 3.8 support for calculating multiplicative inverses.
Maintenace:
* Include Python 3.9 in PyPI keywords.
* More realistic branch coverage counting (ignore Python version-specific
branches).
* Additional test coverage to many parts of the library.
* Migrate to Github Actions for Continuous Testing.
|
2020-11-30 21:13:53 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-ecdsa: updated to 0.16.1
Release 0.16.1
New API:
`VerifyingKey.precompute()` supports `lazy` argument to delay precomputation
to the first time the key is used to verify a signature.
Doc fixes:
Documentation for the `VerifyingKey.precompute()` method.
Bug fix:
Make created signatures correct when the hash used is bigger than the curve
order bit size and the curve order is not a multiple of 8 (this affects
only users of custom curves or hashes with output larger than 512 bits).
Performance:
Speed up library load time by calculating the generator point multiplication
tables the first time the points are used, not when they are initialised.
Maintenance:
Include Python 3.9 in CI testing.
Test coverage for the `VerifyingKey.precompute()` method.
Small speed-ups for the test suite.
|
2020-10-03 08:13:27 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-ecdsa: updated to 0.16.0
Release 0.16.0
New features:
Support for reading and writing private keys in PKCS#8 format.
New API:
`to_pem` and `to_der` now accept new parameter, `format`, to specify
the format of the encoded files, either the dafault, legacy "ssleay", or
the new `pkcs8` to use PKCS#8. Note that only unencrypted PKCS#8 files are
supported.
Add `allow_truncate` to `verify` in `VerifyingKey`, it defaults to True,
when specified as False, use of large hashes smaller than curves will be
disallowed (as it was in 0.14.1 and earlier).
Bug fix:
Correctly calculate signatures for private keys equal to n-1.
Make `PointJacobi` and thus `SigningKey` and `VerifyingKey` pickleable.
Doc fixes:
`to_pem` functions return `bytes` not `str`, document them as such.
`from_pem` and `from_pem` in `SigningKey` returns `SigningKey`, document them
as such.
Maintenance:
Ensure that version checks will work with Python 4.
Format the source with black.
Fix uses of `assert_` in test suite.
Use newer Ubuntu in Travis to test against OpenSSL 1.1.1 (and thus
test the interoperability of ECDH code in Travis).
|