This 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.
aarch64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
aarch64: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
aarch64: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
aarch64: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
aarch64: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
aarch64: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
alpha: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
alpha: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
alpha: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
alpha: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
alpha: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
alpha: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
alpha: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earm: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
earm: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
earm: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
earm: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earm: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earm: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earm: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earm: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earm: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv6hf: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv6hf: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py27-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
earmv7hf: | py36-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
earmv7hf: | py37-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
earmv7hf: | py38-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
earmv7hf: | py39-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
earmv7hf: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
earmv7hf: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
earmv7hf: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
earmv7hf: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
i386: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
i386: | py27-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
i386: | py36-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
i386: | py37-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
i386: | py38-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
i386: | py39-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
i386: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
i386: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
i386: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
i386: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
i386: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
i386: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
m68k: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
m68k: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
m68k: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
mips64eb: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
mips64eb: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
mips64eb: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
mips64eb: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
mips64eb: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mips64eb: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mips64eb: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mips64eb: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mips64eb: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mipsel: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mipsel: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mipsel: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mipsel: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
mipsel: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
powerpc: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
powerpc: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
powerpc: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
powerpc: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
powerpc: | py27-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
powerpc: | py36-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
powerpc: | py37-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
powerpc: | py38-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
powerpc: | py39-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
powerpc: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
powerpc: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
powerpc: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
powerpc: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
powerpc: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
powerpc: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
powerpc: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
sh3el: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
sh3el: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
sh3el: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
sh3el: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
sh3el: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sh3el: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sh3el: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sh3el: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sh3el: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc64: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc64: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc64: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc64: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc64: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
sparc: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
sparc: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.16.0.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.16.0.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.16.0.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.16.0.tgz | (NetBSD 9.0) |
x86_64: | py39-ecdsa-0.16.0.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py27-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py36-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py37-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py38-ecdsa-0.15.tgz | (NetBSD 8.0) |
x86_64: | py27-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
x86_64: | py36-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
x86_64: | py37-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
x86_64: | py38-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
x86_64: | py39-ecdsa-0.16.1.tgz | (NetBSD 8.0) |
x86_64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.15.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py27-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py36-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py37-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py38-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
x86_64: | py39-ecdsa-0.16.1.tgz | (NetBSD 9.0) |
Binary packages can be installed with pkgin or pkg_add(1). The NetBSD packages collection is also designed to permit easy installation from source.
The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.
Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.
Problem reports, updates or suggestions for this package should be reported with send-pr.