pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-pycryptodomex: Update wip/py-pycryptodomex to 3.6.4



Module Name:	pkgsrc-wip
Committed By:	Leonardo Taccari <iamleot%gmail.com@localhost>
Pushed By:	leot
Date:		Sun Jul 29 19:21:38 2018 +0200
Changeset:	268fb6bf488fbba36c433781dc5d9faaa8559ee6

Modified Files:
	py-pycryptodomex/Makefile
	py-pycryptodomex/PLIST
	py-pycryptodomex/distinfo
Added Files:
	py-pycryptodomex/PLIST.i386
	py-pycryptodomex/PLIST.x86_64

Log Message:
py-pycryptodomex: Update wip/py-pycryptodomex to 3.6.4

pkgsrc changes:
 - Cosmetic cleanup/sort of pkgsrc Makefile variables
 - Add appveyor/get_wheels.sh to CHECK_PORTABILITY_SKIP list (not used by the
   package)
 - Move AES-NI-specific .so to PLIST.{i386,x86_64} (it is built only with
   compilers that supports `-maes')

Changes:
3.6.4 (10 July 2018)
+++++++++++++++++++++
New features
------------
* Build Python 3.7 wheels on Linux, Windows and Mac.

Resolved issues
---------------
* GH#178: Rename ``_cpuid`` module to make upgrades more robust.
* More meaningful exceptions in case of mismatch in IV length (CBC/OFB/CFB modes).
* Fix compilation issues on Solaris 10/11.

3.6.3 (21 June 2018)
+++++++++++++++++++++
Resolved issues
---------------
* GH#175: Fixed incorrect results for CTR encryption/decryption with more than 8 blocks.

3.6.2 (19 June 2018)
+++++++++++++++++++++
New features
------------
* ChaCha20 accepts 96 bit nonces (in addition to 64 bit nonces)
  as defined in RFC7539.
* Accelerate AES-GCM on x86 using PCLMULQDQ instruction.
* Accelerate AES-ECB and AES-CTR on x86 by pipelining AESNI instructions.
* As result of the two improvements above, on x86 (Broadwell):
  - AES-ECB and AES-CTR are 3x faster
  - AES-GCM is 9x faster

Resolved issues
---------------
* On Windows, MPIR library was stilled pulled in if renamed to ``gmp.dll``.

Breaks in compatibility
-----------------------
* In ``Crypto.Util.number``, functions ``floor_div`` and ``exact_div``
  have been removed. Also, ``ceil_div`` is limited to non-negative terms only.

3.6.1 (15 April 2018)
+++++++++++++++++++++
New features
------------
* Added Google Wycheproof tests (https://github.com/google/wycheproof)
  for RSA, DSA, ECDSA, GCM, SIV, EAX, CMAC.
* New parameter ``mac_len`` (length of MAC tag) for CMAC.

Resolved issues
---------------
* In certain circumstances (at counter wrapping, which happens on average after
  32 GB) AES GCM produced wrong ciphertexts.
* Method ``encrypt()`` of AES SIV cipher could be still called,
  whereas only ``encrypt_and_digest()`` is allowed.

3.6.0 (8 April 2018)
++++++++++++++++++++
New features
------------
* Introduced ``export_key`` and deprecated ``exportKey`` for DSA and RSA key
  objects.
* Ciphers and hash functions accept ``memoryview`` objects in input.
* Added support for SHA-512/224 and SHA-512/256.

Resolved issues
---------------
* Reintroduced ``Crypto.__version__`` variable as in PyCrypto.
* Fixed compilation problem with MinGW.

3.5.1 (8 March 2018)
++++++++++++++++++++
Resolved issues
---------------
* GH#142. Fix mismatch with declaration and definition of addmul128.

3.5.0 (7 March 2018)
++++++++++++++++++++
New features
------------
* Import and export of ECC curves in compressed form.
* The initial counter for a cipher in CTR mode can be a byte string
  (in addition to an integer).
* Faster PBKDF2 for HMAC-based PRFs (at least 20x for short passwords,
  more for longer passwords). Thanks to Christian Heimes for pointing
  out the implementation was under-optimized.
* The salt for PBKDF2 can be either a string or bytes (GH#67).
* Ciphers and hash functions accept data as `bytearray`, not just
  binary strings.
* The old SHA-1 and MD5 hash functions are available even when Python's
  own `hashlib` does not include them.

Resolved issues
---------------
* Without libgmp, modular exponentiation (since v3.4.8) crashed
  on 32-bit big-endian systems.

Breaks in compatibility
-----------------------
* Removed support for Python < 2.6.

3.4.12 (5 February 2018)
++++++++++++++++++++++++
Resolved issues
---------------
* GH#129. pycryptodomex could only be installed via wheels.

3.4.11 (5 February 2018)
++++++++++++++++++++++++
Resolved issues
---------------
* GH#121. the record list was still not correct due to PEP3147
  and __pycache__ directories. Thanks again to John O'Brien.

3.4.10 (2 February 2018)
++++++++++++++++++++++++
Resolved issues
---------------
* When creating ElGamal keys, the generator wasn't a square residue:
  ElGamal encryption done with those keys cannot be secure under
  the DDH assumption. Thanks to Weikeng Chen.

3.4.9 (1 February 2018)
+++++++++++++++++++++++
New features
------------
* More meaningful error messages while importing an ECC key.

Resolved issues
---------------
* GH#123 and #125. The SSE2 command line switch was not always passed on 32-bit x86 platforms.
* GH#121. The record list (--record) was not always correctly filled for the
  pycryptodomex package. Thanks to John W. O'Brien.

3.4.8 (27 January 2018)
+++++++++++++++++++++++
New features
------------
* Added a native extension in pure C for modular exponentiation, optimized for SSE2 on x86.
  In the process, we drop support for the arbitrary arithmetic library MPIR
  on Windows, which is painful to compile and deploy.
  The custom  modular exponentiation is 130% (160%) slower on an Intel CPU in 32-bit (64-bit) mode,
  compared to MPIR. Still, that is much faster that CPython's own `pow()` function which
  is 900% (855%) slower than MPIR. Support for the GMP library on Unix remains.
* Added support for *manylinux* wheels.
* Support for Python 3.7.

Resolved issues
---------------
* The DSA parameter 'p' prime was created with 255 bits cleared
  (but still with the correct strength).
* GH#106. Not all docs were included in the tar ball.
  Thanks to Christopher Hoskin.
* GH#109. ECDSA verification failed for DER encoded signatures.
  Thanks to Alastair Houghton.
* Human-friendly messages for padding errors with ECB and CBC.

3.4.7 (26 August 2017)
++++++++++++++++++++++
New features
------------
* API documentation is made with sphinx instead of epydoc.
* Start using ``importlib`` instead of ``imp`` where available.

Resolved issues
---------------
* GH#82. Fixed PEM header for RSA/DSA public keys.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=268fb6bf488fbba36c433781dc5d9faaa8559ee6

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 py-pycryptodomex/Makefile     | 12 ++++++------
 py-pycryptodomex/PLIST        | 38 +++++++++++++++++++++++++++++---------
 py-pycryptodomex/PLIST.i386   |  2 ++
 py-pycryptodomex/PLIST.x86_64 |  2 ++
 py-pycryptodomex/distinfo     |  8 ++++----
 5 files changed, 43 insertions(+), 19 deletions(-)

diffs:
diff --git a/py-pycryptodomex/Makefile b/py-pycryptodomex/Makefile
index 6117df8c5e..9ecfa321aa 100644
--- a/py-pycryptodomex/Makefile
+++ b/py-pycryptodomex/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	pycryptodomex-3.4.6
+DISTNAME=	pycryptodomex-3.6.4
 PKGNAME=	${DISTNAME:S/^py/${PYPKGPREFIX}-/}
 CATEGORIES=	security python
 MASTER_SITES=	${MASTER_SITE_PYPI:=p/pycryptodomex/}
@@ -10,16 +10,16 @@ HOMEPAGE=	http://www.pycryptodome.org/
 COMMENT=	Cryptographic library for Python
 LICENSE=	public-domain AND python-software-foundation
 
-do-test:
-	${RUN}cd ${WRKSRC};${SETENV} ${TEST_ENV} ${PYTHONBIN} ${PYSETUP} test
+CONFLICTS+=	${PYPKGPREFIX}-cryptodome-[0-9]*
+
+CHECK_PORTABILITY_SKIP+=	appveyor/get_wheels.sh
 
 CFLAGS.SunOS+=	-std=c99 -D_XOPEN_SOURCE=600
 
-CONFLICTS+=	${PYPKGPREFIX}-cryptodome-[0-9]*
+do-test:
+	${RUN}cd ${WRKSRC};${SETENV} ${TEST_ENV} ${PYTHONBIN} ${PYSETUP} test
 
 BUILDLINK_API_DEPENDS.gmp+=     gmp>=5.0
 .include "../../devel/gmp/buildlink3.mk"
-WRKSRC=	${WRKDIR}/pycryptodomex-3.4.6
-
 .include "../../lang/python/egg.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/py-pycryptodomex/PLIST b/py-pycryptodomex/PLIST
index ef98d8f549..b174192777 100644
--- a/py-pycryptodomex/PLIST
+++ b/py-pycryptodomex/PLIST
@@ -38,9 +38,6 @@ ${PYSITELIB}/Cryptodome/Cipher/__init__.py
 ${PYSITELIB}/Cryptodome/Cipher/__init__.pyc
 ${PYSITELIB}/Cryptodome/Cipher/__init__.pyo
 ${PYSITELIB}/Cryptodome/Cipher/_chacha20.so
-${PYSITELIB}/Cryptodome/Cipher/_errors.py
-${PYSITELIB}/Cryptodome/Cipher/_errors.pyc
-${PYSITELIB}/Cryptodome/Cipher/_errors.pyo
 ${PYSITELIB}/Cryptodome/Cipher/_mode_cbc.py
 ${PYSITELIB}/Cryptodome/Cipher/_mode_cbc.pyc
 ${PYSITELIB}/Cryptodome/Cipher/_mode_cbc.pyo
@@ -75,7 +72,6 @@ ${PYSITELIB}/Cryptodome/Cipher/_mode_siv.py
 ${PYSITELIB}/Cryptodome/Cipher/_mode_siv.pyc
 ${PYSITELIB}/Cryptodome/Cipher/_mode_siv.pyo
 ${PYSITELIB}/Cryptodome/Cipher/_raw_aes.so
-${PYSITELIB}/Cryptodome/Cipher/_raw_aesni.so
 ${PYSITELIB}/Cryptodome/Cipher/_raw_arc2.so
 ${PYSITELIB}/Cryptodome/Cipher/_raw_blowfish.so
 ${PYSITELIB}/Cryptodome/Cipher/_raw_cast.so
@@ -154,7 +150,9 @@ ${PYSITELIB}/Cryptodome/Hash/_BLAKE2b.so
 ${PYSITELIB}/Cryptodome/Hash/_BLAKE2s.so
 ${PYSITELIB}/Cryptodome/Hash/_MD2.so
 ${PYSITELIB}/Cryptodome/Hash/_MD4.so
+${PYSITELIB}/Cryptodome/Hash/_MD5.so
 ${PYSITELIB}/Cryptodome/Hash/_RIPEMD160.so
+${PYSITELIB}/Cryptodome/Hash/_SHA1.so
 ${PYSITELIB}/Cryptodome/Hash/_SHA224.so
 ${PYSITELIB}/Cryptodome/Hash/_SHA256.so
 ${PYSITELIB}/Cryptodome/Hash/_SHA384.so
@@ -162,6 +160,7 @@ ${PYSITELIB}/Cryptodome/Hash/_SHA512.so
 ${PYSITELIB}/Cryptodome/Hash/__init__.py
 ${PYSITELIB}/Cryptodome/Hash/__init__.pyc
 ${PYSITELIB}/Cryptodome/Hash/__init__.pyo
+${PYSITELIB}/Cryptodome/Hash/_ghash_portable.so
 ${PYSITELIB}/Cryptodome/Hash/_keccak.so
 ${PYSITELIB}/Cryptodome/Hash/keccak.py
 ${PYSITELIB}/Cryptodome/Hash/keccak.pyc
@@ -184,6 +183,9 @@ ${PYSITELIB}/Cryptodome/Math/Numbers.pyo
 ${PYSITELIB}/Cryptodome/Math/Primality.py
 ${PYSITELIB}/Cryptodome/Math/Primality.pyc
 ${PYSITELIB}/Cryptodome/Math/Primality.pyo
+${PYSITELIB}/Cryptodome/Math/_Numbers_custom.py
+${PYSITELIB}/Cryptodome/Math/_Numbers_custom.pyc
+${PYSITELIB}/Cryptodome/Math/_Numbers_custom.pyo
 ${PYSITELIB}/Cryptodome/Math/_Numbers_gmp.py
 ${PYSITELIB}/Cryptodome/Math/_Numbers_gmp.pyc
 ${PYSITELIB}/Cryptodome/Math/_Numbers_gmp.pyo
@@ -193,6 +195,7 @@ ${PYSITELIB}/Cryptodome/Math/_Numbers_int.pyo
 ${PYSITELIB}/Cryptodome/Math/__init__.py
 ${PYSITELIB}/Cryptodome/Math/__init__.pyc
 ${PYSITELIB}/Cryptodome/Math/__init__.pyo
+${PYSITELIB}/Cryptodome/Math/_montgomery.so
 ${PYSITELIB}/Cryptodome/Protocol/KDF.py
 ${PYSITELIB}/Cryptodome/Protocol/KDF.pyc
 ${PYSITELIB}/Cryptodome/Protocol/KDF.pyo
@@ -397,6 +400,9 @@ ${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/TDES/TOFBpermop.rsp
 ${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/TDES/TOFBsubtab.rsp
 ${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/TDES/TOFBvarkey.rsp
 ${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/TDES/TOFBvartext.rsp
+${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/wycheproof/aes_eax_test.json
+${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/wycheproof/aes_gcm_test.json
+${PYSITELIB}/Cryptodome/SelfTest/Cipher/test_vectors/wycheproof/aes_siv_cmac_test.json
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/__init__.py
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/__init__.pyc
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/__init__.pyo
@@ -463,6 +469,10 @@ ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2b/tv2.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2s/blake2s-test.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2s/tv1.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/BLAKE2s/tv2.txt
+${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA1/SHA1ShortMsg.rsp
+${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA2/SHA512ShortMsg.rsp
+${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA2/SHA512_224ShortMsg.rsp
+${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA2/SHA512_256ShortMsg.rsp
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-224.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-256.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/SHA3/ShortMsgKAT_SHA3-384.txt
@@ -482,6 +492,7 @@ ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_256.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_384.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/keccak/ShortMsgKAT_512.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/keccak/readme.txt
+${PYSITELIB}/Cryptodome/SelfTest/Hash/test_vectors/wycheproof/aes_cmac_test.json
 ${PYSITELIB}/Cryptodome/SelfTest/IO/__init__.py
 ${PYSITELIB}/Cryptodome/SelfTest/IO/__init__.pyc
 ${PYSITELIB}/Cryptodome/SelfTest/IO/__init__.pyo
@@ -500,6 +511,9 @@ ${PYSITELIB}/Cryptodome/SelfTest/Math/test_Numbers.pyo
 ${PYSITELIB}/Cryptodome/SelfTest/Math/test_Primality.py
 ${PYSITELIB}/Cryptodome/SelfTest/Math/test_Primality.pyc
 ${PYSITELIB}/Cryptodome/SelfTest/Math/test_Primality.pyo
+${PYSITELIB}/Cryptodome/SelfTest/Math/test_modexp.py
+${PYSITELIB}/Cryptodome/SelfTest/Math/test_modexp.pyc
+${PYSITELIB}/Cryptodome/SelfTest/Math/test_modexp.pyo
 ${PYSITELIB}/Cryptodome/SelfTest/Protocol/__init__.py
 ${PYSITELIB}/Cryptodome/SelfTest/Protocol/__init__.pyc
 ${PYSITELIB}/Cryptodome/SelfTest/Protocol/__init__.pyo
@@ -549,6 +563,8 @@ ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_
 ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_private_p8_clear.pem
 ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.der
 ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public.pem
+${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.der
+${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_compressed.pem
 ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_public_openssh.txt
 ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.der
 ${PYSITELIB}/Cryptodome/SelfTest/PublicKey/test_vectors/ECC/ecc_p256_x509.pem
@@ -584,6 +600,10 @@ ${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-PSS/SigVerPSS_186-
 ${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-2.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigGen15_186-3.txt
 ${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/PKCS1-v1.5/SigVer15_186-3.rsp
+${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/wycheproof/dsa_test.json
+${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/wycheproof/ecdsa_secp256r1_sha256_test.json
+${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/wycheproof/ecdsa_test.json
+${PYSITELIB}/Cryptodome/SelfTest/Signature/test_vectors/wycheproof/rsa_signature_test.json
 ${PYSITELIB}/Cryptodome/SelfTest/Util/__init__.py
 ${PYSITELIB}/Cryptodome/SelfTest/Util/__init__.pyc
 ${PYSITELIB}/Cryptodome/SelfTest/Util/__init__.pyo
@@ -644,14 +664,13 @@ ${PYSITELIB}/Cryptodome/Util/RFC1751.pyo
 ${PYSITELIB}/Cryptodome/Util/__init__.py
 ${PYSITELIB}/Cryptodome/Util/__init__.pyc
 ${PYSITELIB}/Cryptodome/Util/__init__.pyo
-${PYSITELIB}/Cryptodome/Util/_cpuid.so
+${PYSITELIB}/Cryptodome/Util/_cpu_features.py
+${PYSITELIB}/Cryptodome/Util/_cpu_features.pyc
+${PYSITELIB}/Cryptodome/Util/_cpu_features.pyo
+${PYSITELIB}/Cryptodome/Util/_cpuid_c.so
 ${PYSITELIB}/Cryptodome/Util/_file_system.py
 ${PYSITELIB}/Cryptodome/Util/_file_system.pyc
 ${PYSITELIB}/Cryptodome/Util/_file_system.pyo
-${PYSITELIB}/Cryptodome/Util/_galois.so
-${PYSITELIB}/Cryptodome/Util/_number_new.py
-${PYSITELIB}/Cryptodome/Util/_number_new.pyc
-${PYSITELIB}/Cryptodome/Util/_number_new.pyo
 ${PYSITELIB}/Cryptodome/Util/_raw_api.py
 ${PYSITELIB}/Cryptodome/Util/_raw_api.pyc
 ${PYSITELIB}/Cryptodome/Util/_raw_api.pyo
@@ -674,4 +693,5 @@ ${PYSITELIB}/Cryptodome/__init__.pyo
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
 ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
 ${PYSITELIB}/${EGG_INFODIR}/top_level.txt
diff --git a/py-pycryptodomex/PLIST.i386 b/py-pycryptodomex/PLIST.i386
new file mode 100644
index 0000000000..7fee7ab35f
--- /dev/null
+++ b/py-pycryptodomex/PLIST.i386
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+${PYSITELIB}/Cryptodome/Cipher/_raw_aesni.so
diff --git a/py-pycryptodomex/PLIST.x86_64 b/py-pycryptodomex/PLIST.x86_64
new file mode 100644
index 0000000000..7fee7ab35f
--- /dev/null
+++ b/py-pycryptodomex/PLIST.x86_64
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+${PYSITELIB}/Cryptodome/Cipher/_raw_aesni.so
diff --git a/py-pycryptodomex/distinfo b/py-pycryptodomex/distinfo
index 2aafca8fbd..7146caab3c 100644
--- a/py-pycryptodomex/distinfo
+++ b/py-pycryptodomex/distinfo
@@ -1,6 +1,6 @@
 $NetBSD$
 
-SHA1 (pycryptodomex-3.4.6.tar.gz) = d906558e3e5704db9aaa4530eab950fb3eb21732
-RMD160 (pycryptodomex-3.4.6.tar.gz) = 4af7feac01af921236e5a50530fbe113842bd4b3
-SHA512 (pycryptodomex-3.4.6.tar.gz) = 25f59ce38fdbd524687a2984fee27aa940f7d6d9b8113b58c5d48eb7c5a92f8c1536704b33464bfd4ace5402f4f1bf3f104f1792789e12ea7fa21d10022cac83
-Size (pycryptodomex-3.4.6.tar.gz) = 6494632 bytes
+SHA1 (pycryptodomex-3.6.4.tar.gz) = f69ccae32ebdc97e0d1e7fa92533f99307df5208
+RMD160 (pycryptodomex-3.6.4.tar.gz) = f0610e1f5f7e079b43a82d6dc4983357f6b50eea
+SHA512 (pycryptodomex-3.6.4.tar.gz) = 592f2bad2e60902030a98c5ccf494a79db2668dca7876b813509860a3873021fb5f762065c629856b394c03aab9325298f58bf10a68a8d08d63519e951bad0c2
+Size (pycryptodomex-3.6.4.tar.gz) = 7135893 bytes


Home | Main Index | Thread Index | Old Index