mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-27 06:42:14 -05:00
gnu: Add python-pycryptodomex.
* gnu/packages/python-crypto.scm (python-pycryptodomex): New public variable.
This commit is contained in:
parent
e0c34c1a4c
commit
5ef1913ce6
1 changed files with 51 additions and 0 deletions
|
@ -1029,6 +1029,57 @@ (define-public python-pycryptodome
|
||||||
(define-public python2-pycryptodome
|
(define-public python2-pycryptodome
|
||||||
(package-with-python2 python-pycryptodome))
|
(package-with-python2 python-pycryptodome))
|
||||||
|
|
||||||
|
(define-public python-pycryptodomex
|
||||||
|
(package
|
||||||
|
(name "python-pycryptodomex")
|
||||||
|
(version "3.9.9")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "pycryptodomex" version))
|
||||||
|
(sha256
|
||||||
|
(base32 "0lbx4qk3xmwqiidhmkj8qa7bh2lf8bwzg0xjpsh2w5zqjrc7qnvv"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(home-page "https://www.pycryptodome.org")
|
||||||
|
(synopsis "Low-level cryptographic Python library")
|
||||||
|
(description
|
||||||
|
"PyCryptodome is a self-contained Python package of low-level
|
||||||
|
cryptographic primitives. It's not a wrapper to a separate C library like
|
||||||
|
OpenSSL. To the largest possible extent, algorithms are implemented in pure
|
||||||
|
Python. Only the pieces that are extremely critical to performance (e.g.,
|
||||||
|
block ciphers) are implemented as C extensions.
|
||||||
|
|
||||||
|
You are expected to have a solid understanding of cryptography and security
|
||||||
|
engineering to successfully use these primitives. You must also be able to
|
||||||
|
recognize that some are obsolete (e.g., TDES) or even insecure (RC4).
|
||||||
|
|
||||||
|
It provides many enhancements over the last release of PyCrypto (2.6.1):
|
||||||
|
|
||||||
|
@itemize
|
||||||
|
@item Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB)
|
||||||
|
@item Accelerated AES on Intel platforms via AES-NI
|
||||||
|
@item First-class support for PyPy
|
||||||
|
@item Elliptic curves cryptography (NIST P-256 curve only)
|
||||||
|
@item Better and more compact API (nonce and iv attributes for ciphers,
|
||||||
|
automatic generation of random nonces and IVs, simplified CTR cipher mode, and
|
||||||
|
more)
|
||||||
|
@item SHA-3 (including SHAKE XOFs) and BLAKE2 hash algorithms
|
||||||
|
@item Salsa20 and ChaCha20 stream ciphers
|
||||||
|
@item scrypt and HKDF
|
||||||
|
@item Deterministic (EC)DSA
|
||||||
|
@item Password-protected PKCS#8 key containers
|
||||||
|
@item Shamir’s Secret Sharing scheme
|
||||||
|
@item Random numbers get sourced directly from the OS (and not from a CSPRNG
|
||||||
|
in userspace)
|
||||||
|
@item Cleaner RSA and DSA key generation (largely based on FIPS 186-4)
|
||||||
|
@item Major clean-ups and simplification of the code base
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
PyCryptodomex is the stand-alone version of PyCryptodome that no longer
|
||||||
|
provides drop-in compatibility with PyCrypto.")
|
||||||
|
(license (list license:bsd-2
|
||||||
|
license:public-domain)))) ; code inherited from PyCrypto
|
||||||
|
|
||||||
(define-public python-m2crypto
|
(define-public python-m2crypto
|
||||||
(package
|
(package
|
||||||
(name "python-m2crypto")
|
(name "python-m2crypto")
|
||||||
|
|
Loading…
Reference in a new issue