From ac9ff88567875ba8b31e611ffcc8133a6cef5614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 19 Oct 2023 02:05:47 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 python-pycryptodome revision 56e1cc29eac8f22b96aff70c16c15a3c --- .gitattributes | 23 ++ pycryptodome-3.18.0.tar.gz | 3 + python-pycryptodome.changes | 536 ++++++++++++++++++++++++++++++++++++ python-pycryptodome.spec | 107 +++++++ 4 files changed, 669 insertions(+) create mode 100644 .gitattributes create mode 100644 pycryptodome-3.18.0.tar.gz create mode 100644 python-pycryptodome.changes create mode 100644 python-pycryptodome.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/pycryptodome-3.18.0.tar.gz b/pycryptodome-3.18.0.tar.gz new file mode 100644 index 0000000..2cc42d0 --- /dev/null +++ b/pycryptodome-3.18.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60f58349c3d62a99bb87665b2a16afda87dc2d537a14aa45aaad1a3748b781ba +size 16720227 diff --git a/python-pycryptodome.changes b/python-pycryptodome.changes new file mode 100644 index 0000000..c90200c --- /dev/null +++ b/python-pycryptodome.changes @@ -0,0 +1,536 @@ +------------------------------------------------------------------- +Wed Jun 28 13:36:37 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Thu Jun 1 10:12:06 UTC 2023 - Dirk Müller + +- update to 3.18.0: + * Added support for DER BOOLEAN encodings. + * The library now compiles on Windows ARM64. Thanks to Niyas + Sait. + * GH#722: ``nonce`` attribute was not correctly set for + XChaCha20_Poly1305 ciphers. Thanks to Liam Haber. + * GH#728: Workaround for a possible x86 emulator bug in Windows + for ARM64. + * GH#739: OID encoding for arc 2 didn't accept children larger + than 39. Thanks to James. + * Correctly check that the scalar matches the point when + importing an ECC private key. + +------------------------------------------------------------------- +Fri May 5 17:09:46 UTC 2023 - Matej Cepl + +- Fix %%files to work with %pyproject_ style building. + +------------------------------------------------------------------- +Mon Mar 27 09:18:25 UTC 2023 - Dirk Müller + +- update to 3.17.0: + * Added support for the Counter Mode KDF defined in SP 800-108 + Rev 1. + * Reduce the minimum tag length for the EAX cipher to 2 bytes. + * An RSA object has 4 new properties for the CRT coefficients: + ``dp``, ``dq``, ``invq`` and ``invq`` (``invp`` is the same + value as the existing ``u``). + * GH#526: improved typing for ``RSA.construct``. + * GH#534: reduced memory consumption when using a large number + of cipher objects. + * GH#598: fixed missing error handling for + ``Util.number.inverse``. + * GH#629: improved typing for ``AES.new`` and the various + mode-specific types it returns. Thanks to Greg Werbin. + * GH#653: added workaround for an alleged GCC compiler bug + that affected Ed25519 code compiled for AVX2. + * GH#658: attribute ``curve`` of an ECC key was not always + the preferred curve name, as it used to be in v3.15.0 + (independently of the curve name specified when generating + the key). + * GH#637: fixed typing for legacy modules ``PKCS1_v1_5`` and + ``PKCS1_PSS``, as their ``verify()`` returned a boolean. + * GH#664: with OCB mode, nonces of maximum length (15 bytes) + were actually used as 14 bytes nonces. + After this fix, data that was encrypted in past using the + (default) nonce length of 15 bytes can still be decrypted + by reducing the nonce to its first 14 bytes. + * GH#705: improved typing for ``nonce``, ``iv``, and ``IV`` + parameters of cipher objects. + +------------------------------------------------------------------- +Mon Mar 27 09:16:44 UTC 2023 - Dirk Müller + +- update to 3.17.0: + * ++++++++++++++++++++++++++ + * New features + * Added support for the Counter Mode KDF defined in SP 800-108 + Rev 1. + * Reduce the minimum tag length for the EAX cipher to 2 bytes. + * An RSA object has 4 new properties for the CRT coefficients + * ``dp``, ``dq``, ``invq`` and ``invq`` (``invp`` is the same + value + * as the existing ``u``). + * Resolved issues + * GH#526: improved typing for ``RSA.construct``. + * GH#534: reduced memory consumption when using a large number + * of cipher objects. + * GH#598: fixed missing error handling for + ``Util.number.inverse``. + * GH#629: improved typing for ``AES.new`` and the various + * mode-specific types it returns. Thanks to Greg Werbin. + * GH#653: added workaround for an alleged GCC compiler bug + * hat affected Ed25519 code compiled for AVX2. + * GH#658: attribute ``curve`` of an ECC key was not always + * he preferred curve name, as it used to be in v3.15.0 + * independently of the curve name specified when generating + * he key). + * GH#637: fixed typing for legacy modules ``PKCS1_v1_5`` and + ``PKCS1_PSS``, + * as their ``verify()`` returned a boolean. + * GH#664: with OCB mode, nonces of maximum length (15 bytes + * were actually used as 14 bytes nonces. + * After this fix, data that was encrypted in past using the + * default) nonce length of 15 bytes can still be decrypted + * by reducing the nonce to its first 14 bytes. + * GH#705: improved typing for ``nonce``, ``iv``, and ``IV`` + parameters + * of cipher objects. + * Other changes + * Build PyPy wheels only for versions 3.8 and 3.9, and not for + 3.7 anymore. + +------------------------------------------------------------------- +Tue Dec 6 13:06:39 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 3.16.0 + * New features + Build wheels for musl Linux. Thanks to Ben Raz. + * Resolved issues + GH#639: ARC4 now also works with 'keys' as short as 8 bits. + GH#669: fix segfaults when running in a manylinux2010 i686 image. + +------------------------------------------------------------------- +Tue Jun 28 20:38:31 UTC 2022 - Torsten Gruner + +- update to 3.15.0: + * Add support for curves Ed25519 and Ed448, including export and import of keys. + * Add support for EdDSA signatures. + * Add support for Asymmetric Key Packages (RFC5958) to import private keys. + * GH#620: for Crypto.Util.number.getPrime , do not sequentially scan numbers searching for a prime. + +------------------------------------------------------------------- +Wed Mar 9 13:31:35 UTC 2022 - pgajdos@suse.com + +- do not use setup.py test construct + https://trello.com/c/me9Z4sIv/121-setuppy-test-leftovers + +------------------------------------------------------------------- +Tue Feb 15 08:52:41 UTC 2022 - Dirk Müller + +- update to 3.14.1: + * GH#595: Fixed memory leak for GMP integers. + * Add support for curve NIST P-192. + * Add support for curve NIST P-224. + * GH#590: Fixed typing info for ``Crypto.PublicKey.ECC``. + * Relaxed ECDSA requirements for FIPS 186 signatures and accept any SHA-2 or + * SHA-3 hash. ``sign()`` and ``verify()`` will be performed even if the hash is stronger + than the ECC key. + +------------------------------------------------------------------- +Sat Dec 11 13:19:30 UTC 2021 - Dirk Müller + +- update to 3.12.0: + * ECC keys in the SEC1 format can be exported and imported. + * Add support for KMAC128, KMAC256, TupleHash128, and TupleHash256 (NIST SP-800 185). + * Add support for KangarooTwelve. + * GH#563: An asymmetric key could not be imported as a ``memoryview``. + * GH#566: cSHAKE128/256 generated a wrong output for customization strings + * GH#582: CBC decryption generated the wrong plaintext when the input and the output were the same buffer. + +------------------------------------------------------------------- +Sat Oct 16 22:36:27 UTC 2021 - Dirk Müller + +- update to 3.11.0: + * GH#512: Especially for very small bit sizes, ``Crypto.Util.number.getPrime()`` was + occasionally generating primes larger than given the bit size. + * GH#552: Correct typing annotations for ``PKCS115_Cipher.decrypt()``. + * GH#555: ``decrypt()`` method of a PKCS#1v1.5 cipher returned a ``bytearray`` instead of ``bytes``. + * GH#557: External DSA domain parameters were accepted even when the modulus (``p``) was not prime. + This affected ``Crypto.PublicKey.DSA.generate()`` and ``Crypto.PublicKey.DSA.construct()``. + * Added cSHAKE128 and cSHAKE256 (of SHA-3 family). + * GH#558: The flag RTLD_DEEPBIND passed to ``dlopen()`` is not well supported by + `address sanitizers `_. + It is now possible to set the environment variable ``PYCRYPTDOME_DISABLE_DEEPBIND`` + to drop that flag and allow security testing. + +------------------------------------------------------------------- +Thu Mar 4 21:00:08 UTC 2021 - Dirk Müller + +- update to 3.10.1: + * Fixed a potential memory leak when initializing block ciphers. + * GH#466: ``Crypto.Math.miller_rabin_test()`` was still using the system random + source and not the one provided as parameter. + * GH#469: RSA objects have the method ``public_key()`` like ECC objects. + The old method ``publickey()`` is still available for backward compatibility. + * GH#476: ``Crypto.Util.Padding.unpad()`` was raising an incorrect exception + in case of zero-length inputs. Thanks to Captainowie. + * GH#491: better exception message when ``Counter.new()`` is called with an integer + ``initial_value`` than doesn't fit into ``nbits`` bits. + * GH#496: added missing ``block_size`` member for ECB cipher objects. Thanks to willem. + * GH#500: ``nonce`` member of an XChaCha20 cipher object was not matching the original nonce. + +------------------------------------------------------------------- +Tue Dec 1 09:48:51 UTC 2020 - Hans-Peter Jansen + +- update to 3.9.9: + * GH#435: Fixed Crypto.Util.number.size for negative numbers + +------------------------------------------------------------------- +Tue Aug 4 14:36:10 UTC 2020 - Dirk Mueller + +- update to 3.9.8: + * GH#426: The Shamir's secret sharing implementation is not actually compatible with ``ssss``. + Added an optional parameter to enable interoperability. + * GH#427: Skip altogether loading of ``gmp.dll`` on Windows. + * GH#420: Fix incorrect CFB decryption when the input and the output are the same buffer. + * Speed up Shamir's secret sharing routines. Thanks to ncarve. + +------------------------------------------------------------------- +Thu Mar 19 13:12:39 UTC 2020 - Marketa Calabkova + +- Update to 3.9.7 + * Align stack of functions using SSE2 intrinsics to avoid crashes, + when compiled with gcc on 32-bit x86 platforms. + * Prevent key_to_english from creating invalid data when fed with + keys of length not multiple of 8. + * Fix blocking RSA signing/decryption when key has very small factor. + * fixed memory leak for operations that use memoryviews when cffi + is not installed. + * RSA OAEP decryption was not verifying that all PS bytes are zero. + * Fixed wrong ASN.1 OID for HMAC-SHA512 in PBE2. + +------------------------------------------------------------------- +Sun Nov 10 16:54:21 UTC 2019 - Hans-Peter Jansen + +- Update to 3.9.2 (10 November 2019): + + New features + * Add Python 3.8 wheels for Mac. + + Resolved issues + * GH#308: Avoid allocating arrays of __m128i on the stack, to + cope with buggy compilers. + * GH#322: Remove blanket -O3 optimization for gcc and clang, to + cope with buggy compilers. + * GH#337: Fix typing stubs for signatures. + * GH#338: Deal with gcc installations that don't have + x86intrin.h. + +- Update to version 3.9.1 (1 November 2019): + + New features + * Add Python 3.8 wheels for Linux and Windows. + + Resolved issues + * GH#328: minor speed-up when importing RSA. + +- Add export LC_ALL=en_US.UTF-8 to %build, %install and %check to + fix the build on older distros + (as done from Thomas Bechtold in python-pycryptodomex) + +------------------------------------------------------------------- +Tue Sep 10 12:29:30 UTC 2019 - Tomáš Chvátal + +- Update to 3.9.0: + * Add support for loading PEM files encrypted with AES256-CBC. + * Add support for XChaCha20 and XChaCha20-Poly1305 ciphers. + * Add support for bcrypt key derivation function (Crypto.Protocol.KDF.bcrypt). + * Add support for left multiplication of an EC point by a scalar. + * Add support for importing ECC and RSA keys in the new OpenSSH format. + +------------------------------------------------------------------- +Thu May 30 15:03:25 UTC 2019 - Martin Liška + +- Update Source to point to github. + +------------------------------------------------------------------- +Thu May 30 11:47:57 UTC 2019 - Martin Liška + + - Update to 3.8.2 + * GH#291: fix strict aliasing problem, emerged with GCC 9.1. + +------------------------------------------------------------------- +Fri May 24 11:36:30 UTC 2019 - Martin Liška + +- Use -fno-strict-aliasing in order to bypass: + https://github.com/Legrandin/pycryptodome/issues/291. + +------------------------------------------------------------------- +Tue May 14 13:03:34 UTC 2019 - Marketa Calabkova + +- Update to 3.8.1 + * Add support for loading PEM files encrypted with AES192-CBC, + AES256-CBC, and AES256-GCM. + * When importing ECC keys, ignore EC PARAMS section that was + included by some openssl commands. + * repr() did not work for ECC.EccKey. + * Minimal length for Blowfish cipher is 32 bits, not 40 bits. + 3.8.0 + * Speed-up ECC performance. ECDSA is 33 times faster on the + NIST P-256 curve. + * Added support for NIST P-384 and P-521 curves. + * EccKey has new methods size_in_bits() and size_in_bytes(). + * Support HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, and HMAC-SHA512 + in PBE2/PBKDF2. + * DER objects were not rejected if their length field had + a leading zero. + * Allow legacy RC2 ciphers to have 40-bit keys. + * point_at_infinity() becomes an instance method for + Crypto.PublicKey.ECC.EccKey, from a static one. + 3.7.3 + * GH#258: False positive on PSS signatures when externally + provided salt is too long. + +------------------------------------------------------------------- +Wed Jan 9 21:55:51 UTC 2019 - Jonathan Brownell + +- Protect older platforms from encountering "Suggests:" keyword + +------------------------------------------------------------------- +Sun Jan 6 14:30:43 UTC 2019 - Hans-Peter Jansen + +- fix tarball: use the one from PyPI... + +------------------------------------------------------------------- +Thu Nov 29 16:41:53 UTC 2018 - Hans-Peter Jansen + +- Update to 3.7.2 + - Resolved issues + * GH#242: Fixed compilation problem on ARM platforms. + +- Update to 3.7.1 + - New features + * Added type stubs to enable static type checking with mypy. + Thanks to Michael Nix. + * New ``update_after_digest`` flag for CMAC. + + - Resolved issues + * GH#232: Fixed problem with gcc 4.x when compiling + ``ghash_clmul.c``. + * GH#238: Incorrect digest value produced by CMAC after cloning + the object. + * Method ``update()`` of an EAX cipher object was returning the + underlying CMAC object, instead of the EAX object itself. + * Method ``update()`` of a CMAC object was not throwing an + exception after the digest was computed (with ``digest()`` or + ``verify()``). + +------------------------------------------------------------------- +Thu Nov 29 16:34:47 UTC 2018 - Hans-Peter Jansen + +- checked in python-pycrytodomex as separate package on request of + Dirk Müller + +------------------------------------------------------------------- +Sun Nov 25 10:54:15 UTC 2018 - Hans-Peter Jansen + +- fixed source url + +------------------------------------------------------------------- +Thu Nov 1 10:42:04 UTC 2018 - Hans-Peter Jansen + +- Update to 3.7.0 + - New features + * Added support for Poly1305 MAC (with AES and ChaCha20 ciphers + for key derivation). + * Added support for ChaCha20-Poly1305 AEAD cipher. + * New parameter output for Crypto.Util.strxor.strxor, + Crypto.Util.strxor.strxor_c, encrypt and decrypt methods in + symmetric ciphers (Crypto.Cipher package). output is a + pre-allocated buffer (a bytearray or a writeable memoryview) + where the result must be stored. This requires less memory for + very large payloads; it is also more efficient when encrypting + (or decrypting) several small payloads. + + - Resolved issues + * GH#266: AES-GCM hangs when processing more than 4GB at a time + on x86 with PCLMULQDQ instruction. + + - Breaks in compatibility + * Drop support for Python 3.3. + * Remove Crypto.Util.py3compat.unhexlify and + Crypto.Util.py3compat.hexlify. + * With the old Python 2.6, use only ctypes (and not cffi) to + interface to native code. + +- Clean up spec +- pycryptodomex package spec added +------------------------------------------------------------------- +Fri Oct 19 13:02:22 UTC 2018 - Dirk Mueller + +- remove pycryptodomex copy in this package container + +------------------------------------------------------------------- +Mon Sep 3 14:21:25 UTC 2018 - Marketa Calabkova + +- Update to 3.6.6 + - Resolved issues: + * Fix vulnerability on AESNI ECB with payloads smaller than + 16 bytes. + +- Update to 3.5.5 + - Resolved issues + + * Fixed incorrect AES encryption/decryption with AES + acceleration on x86 due to gcc’s optimization and strict + aliasing rules. + * More prime number candidates than necessary where discarded + as composite due to the limited way D values were searched + in the Lucas test. + * Fixed ResouceWarnings and DeprecationWarnings. + +- Update to 3.5.4 + - New features: + * Build Python 3.7 wheels on Linux, Windows and Mac. + - Resolved issues: + * More meaningful exceptions in case of mismatch in IV length + (CBC/OFB/CFB modes). + +------------------------------------------------------------------- +Tue Jul 3 10:17:10 UTC 2018 - hpj@urpla.net + +- Update to 3.6.3 (21 June 2018) + - Resolved issues + * GH#175: Fixed incorrect results for CTR encryption/decryption + with more than 8 blocks. + +- Update to 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. + +- suggesting libgmp10 and python-cffi +- add license file tag + +------------------------------------------------------------------- +Wed May 16 12:26:23 UTC 2018 - tchvatal@suse.com + +- Provide/obsolete also python-crypto for py2 package + +------------------------------------------------------------------- +Mon May 7 20:17:35 UTC 2018 - hpj@urpla.net + +- fix condition to act as drop in replacement for python-pycrypto + +------------------------------------------------------------------- +Fri May 4 18:29:29 UTC 2018 - hpj@urpla.net + +- Update to 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 GBi) AES GCM produced wrong ciphertexts. + * Method ``encrypt()`` of AES SIV cipher could be still called, + whereas only ``encrypt_and_digest()`` should be allowed. + +- Update to 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. + +- Update to 3.5.1 (8 March 2018) + - Resolved issues + * GH#142. Fix mismatch with declaration and definition of addmul128. + +- Update to 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. + +- Update to 3.4.12 (5 February 2018) + - Resolved issues + * GH#129. pycryptodomex could only be installed via wheels. + +- Update to 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. + +- Update to 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. + +- Update to 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. + +- Update to 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. + +------------------------------------------------------------------- +Mon Sep 18 15:29:37 UTC 2017 - hpj@urpla.net + +- provide python-crypto 2.6.1 + +------------------------------------------------------------------- +Wed Sep 6 15:22:27 UTC 2017 - toddrme2178@gmail.com + +- Initial version diff --git a/python-pycryptodome.spec b/python-pycryptodome.spec new file mode 100644 index 0000000..6938bb8 --- /dev/null +++ b/python-pycryptodome.spec @@ -0,0 +1,107 @@ +# +# spec file for package python-pycryptodome +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define oldpython python +%define min_version %{lua:rpm.expand("%{version}"):gsub("^(%d+%.%d+).*", "%1")} +%{?sle15_python_module_pythons} +Name: python-pycryptodome +Version: 3.18.0 +Release: 0 +Summary: Cryptographic library for Python +License: BSD-2-Clause +URL: https://www.pycryptodome.org +Source: https://github.com/Legrandin/pycryptodome/archive/v%{version}.tar.gz#/pycryptodome-%{version}.tar.gz +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Provides: python-pycrypto = %{version} +Obsoletes: python-pycrypto < %{version} +%if !0%{?_no_weakdeps} +# PyCryptodome uses gmp via cffi as runtime optimization +# would be better, if libgmp* would provide gmp +Suggests: libgmp10 +Suggests: python-cffi +%endif +%ifpython2 +Provides: %{oldpython}-pycrypto = %{version} +Obsoletes: %{oldpython}-pycrypto < %{version} +%endif +%python_subpackages + +%description +PyCryptodome is a self-contained Python package of low-level +cryptographic primitives. + +PyCryptodome is a fork of PyCrypto, residing in the `Crypto` +namespace for better drop-in compatibility, while it brings several +enhancements with respect to the last official version of PyCrypto +(2.6.1), for instance: + +* Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB) +* Accelerated AES on Intel platforms via AES-NI +* First class support for PyPy +* Elliptic curves cryptography (NIST P-256 curve only) +* Better and more compact API (`nonce` and `iv` attributes for + ciphers, automatic generation of random nonces and IVs, simplified + CTR cipher mode, and more) +* SHA-3 (including SHAKE XOFs), SHA-512/t and BLAKE2 hash algorithms +* Salsa20 and ChaCha20 stream ciphers +* Poly1305 MAC +* ChaCha20-Poly1305 authenticated cipher +* scrypt and HKDF +* Deterministic (EC)DSA +* Password-protected PKCS#8 key containers +* Shamir's Secret Sharing scheme +* Random numbers get sourced directly from the OS (and not from a + CSPRNG in userspace) +* Simplified install process, including better support for Windows +* Cleaner RSA and DSA key generation (largely based on FIPS 186-4) +* Major clean ups and simplification of the code base + +PyCryptodome is 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. + +%prep +%autosetup -p1 -n pycryptodome-%{version} + +%build +export LC_ALL=en_US.UTF-8 +export CFLAGS="%{optflags}" +%python_build + +%install +export LC_ALL=en_US.UTF-8 +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} + +%check +export LC_ALL=en_US.UTF-8 +%{python_expand pushd %{buildroot}%{$python_sitearch} +PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m Crypto.SelfTest +popd} + +%files %{python_files} +%license LICENSE.rst +%doc AUTHORS.rst Changelog.rst README.rst +%{python_sitearch}/Crypto/ +%{python_sitearch}/pycryptodome-%{min_version}*-info + +%changelog