commit 6115687ce7aabe53bc8f56ccec98554ded9a450fee91f0465a03c4bce4310034 Author: Dirk Mueller Date: Fri Nov 30 14:49:44 2018 +0000 Accepting request 652659 from home:frispete:python The separated python-pycryptodomex as separate package OBS-URL: https://build.opensuse.org/request/show/652659 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pycryptodomex?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/pycryptodome-3.7.2.tar.gz b/pycryptodome-3.7.2.tar.gz new file mode 100644 index 0000000..0e84cd9 --- /dev/null +++ b/pycryptodome-3.7.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ae30cd559eb71785fb42229ad3486c5a5073bf8457ebc7f5fb006279f77cd7f +size 9309831 diff --git a/python-pycryptodomex.changes b/python-pycryptodomex.changes new file mode 100644 index 0000000..c0fcd05 --- /dev/null +++ b/python-pycryptodomex.changes @@ -0,0 +1,237 @@ +------------------------------------------------------------------- +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-pycryptodomex.spec b/python-pycryptodomex.spec new file mode 100644 index 0000000..883619d --- /dev/null +++ b/python-pycryptodomex.spec @@ -0,0 +1,99 @@ +# +# spec file for package python-pycryptodomex +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# 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/ +# + + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define oldpython python +%bcond_without test +Name: python-pycryptodomex +Version: 3.7.2 +Release: 0 +Summary: Cryptographic library for Python +License: BSD-2-Clause +Group: Development/Languages/Python +URL: https://www.pycryptodome.org +Source: https://files.pythonhosted.org/packages/source/p/pycryptodome/pycryptodome-%{version}.tar.gz +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +# PyCryptodomex uses gmp via cffi as runtime optimization +# would be better, if libgmp* would provide gmp +Suggests: libgmp10 +Suggests: python-cffi +%python_subpackages + +%description +PyCryptodomex is a self-contained Python package of low-level +cryptographic primitives. + +Unlike PyCryptodome, it resides in its own namespace `Cryptodome`. + +PyCryptodome is a fork of PyCrypto. 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 + +PyCryptodomex 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 +%setup -q -n pycryptodome-%{version} +touch .separate_namespace + +%build +export CFLAGS="%{optflags}" +%python_build + +%install +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} + +%if %{with test} +%check +%python_exec setup.py test +%endif + +%files %{python_files} +%license LICENSE.rst +%doc AUTHORS.rst Changelog.rst README.rst +%{python_sitearch}/Cryptodome/ +%{python_sitearch}/pycryptodomex-%{version}-py*.egg-info + +%changelog