Skip to content

chore(deps): bump pycryptodome from 3.24.1 to 4.1.0 - #502

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/pycryptodome-4.1.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/pycryptodome-4.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 19, 2026

Copy link
Copy Markdown
Contributor

Bumps pycryptodome from 3.24.1 to 4.1.0.

Release notes

Sourced from pycryptodome's releases.

v4.1.0 - Issy-les-Moulineaux

New features

  • New module Crypto.PublicKey.MLDSA, for ML-DSA keys (FIPS 204). It is based on the portable C code of mldsa-native <https://github.com/pq-code-package/mldsa-native>_ (v2.0.0), with the Keccak code of PyCryptodome. On CPUs with AVX2 and BMI2, a version compiled for them and with 4-way SHA-3 is used: compared to the portable version, key generation and verification are 30-45% faster, signing 15-30%.
  • New module Crypto.Signature.mldsa, for ML-DSA and HashML-DSA signatures (FIPS 204), hedged (default) or deterministic, with an optional context. The new MLDSAMuHash computes the message representative mu (external mu), to sign or verify a large message in pieces.
  • New function digest() in the modules of the SHA-2 and SHA-3 hashes, to hash a whole message with a single call, like Crypto.Hash.KangarooTwelve.digest(). For messages up to 1 KiB, it is 1.5x to 3.4x faster than new() followed by digest().
  • Crypto.IO.PKCS8.wrap() has a new parameter public_key, to create a OneAsymmetricKey version 2 (RFC 5958) with the field publicKey. Crypto.IO.PKCS8.unwrap() returns an UnwrappedKey: still a tuple (oid, private_key, params), with the same items as attributes, plus public_key (the field publicKey, if present).
  • The scalar Keccak permutation (used by SHA-3, SHAKE, cSHAKE, KMAC, TupleHash, TurboSHAKE and KangarooTwelve) processes the state one plane at a time, two rounds per iteration, which needs fewer registers: SHA-3 and SHAKE are 5-10% faster.

Resolved issues

  • Crypto.PublicKey.ECC.import_key() checks that the field publicKey of a PKCS#8 OneAsymmetricKey version 2 (RFC 5958), if present, matches the private key. Before, it was ignored.

v4.0.1 - Le Havre

New features

  • The Windows wheels for x86-64 are built with clang-cl (compatible with MSVC), so the code for CPUs with AVX2, BMI2 and ADX is also used on Windows: SHA-3 and the other Keccak-based functions, KangarooTwelve, ChaCha20, Salsa20, and the big integers of RSA, DSA and the NIST curves. To build from source with clang-cl, set the environment variable PYCRYPTODOME_CLANG_CL (see the installation instructions).

v4.0.0 - Grenoble

Major release, with some breaking changes. See Changelog.

Changelog

Sourced from pycryptodome's changelog.

4.1.0 (19 October 2026) ++++++++++++++++++++++++++

New features

  • New module Crypto.PublicKey.MLDSA, for ML-DSA keys (FIPS 204). It is based on the portable C code of mldsa-native <https://github.com/pq-code-package/mldsa-native>_ (v2.0.0), with the Keccak code of PyCryptodome. On CPUs with AVX2 and BMI2, a version compiled for them and with 4-way SHA-3 is used: compared to the portable version, key generation and verification are 30-45% faster, signing 15-30%.
  • New module Crypto.Signature.mldsa, for ML-DSA and HashML-DSA signatures (FIPS 204), hedged (default) or deterministic, with an optional context. The new MLDSAMuHash computes the message representative mu (external mu), to sign or verify a large message in pieces.
  • New function digest() in the modules of the SHA-2 and SHA-3 hashes, to hash a whole message with a single call, like Crypto.Hash.KangarooTwelve.digest(). For messages up to 1 KiB, it is 1.5x to 3.4x faster than new() followed by digest().
  • Crypto.IO.PKCS8.wrap() has a new parameter public_key, to create a OneAsymmetricKey version 2 (RFC 5958) with the field publicKey. Crypto.IO.PKCS8.unwrap() returns an UnwrappedKey: still a tuple (oid, private_key, params), with the same items as attributes, plus public_key (the field publicKey, if present).
  • The scalar Keccak permutation (used by SHA-3, SHAKE, cSHAKE, KMAC, TupleHash, TurboSHAKE and KangarooTwelve) processes the state one plane at a time, two rounds per iteration, which needs fewer registers: SHA-3 and SHAKE are 5-10% faster.

Resolved issues

  • Crypto.PublicKey.ECC.import_key() checks that the field publicKey of a PKCS#8 OneAsymmetricKey version 2 (RFC 5958), if present, matches the private key. Before, it was ignored.

4.0.1 (17 October 2026) ++++++++++++++++++++++++++

New features

  • The Windows wheels for x86-64 are built with clang-cl (compatible with MSVC), so the code for CPUs with AVX2, BMI2 and ADX is also used on Windows: SHA-3 and the other Keccak-based functions, KangarooTwelve, ChaCha20, Salsa20, and the big integers of RSA, DSA and the NIST curves. To build from source with clang-cl, set the environment variable PYCRYPTODOME_CLANG_CL (see the installation instructions).

4.0.0 (14 October 2026) ++++++++++++++++++++++++++

Breaking changes

  • Remove support for Python 2.7 and 3.8. The minimum supported version is now Python 3.9.
  • The pycryptodomex package (Cryptodome namespace) is no longer released

... (truncated)

Commits
  • 29372bd Bump version
  • 6ecb50d Merge branch 'mldsa'
  • ce968aa Update Changelog
  • 6b79e75 Update text
  • 64ec848 Use our own keccak code for MLDSA
  • 0a0d734 Faster scalar Keccak permutation (plane by plane, 2 rounds per iteration)
  • cb51419 Update Changelog
  • 11dcf04 Bump version of pycryptodome-test-vectors
  • b94f3a9 Upgrade to Wycheproof v1
  • 3c26bd1 Add tests and OpenSSL test vectors for ML-DSA import/export
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pycryptodome](https://github.com/Legrandin/pycryptodome) from 3.24.1 to 4.1.0.
- [Release notes](https://github.com/Legrandin/pycryptodome/releases)
- [Changelog](https://github.com/Legrandin/pycryptodome/blob/master/Changelog.rst)
- [Commits](Legrandin/pycryptodome@v3.24.1...v4.1.0)

---
updated-dependencies:
- dependency-name: pycryptodome
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Oct 19, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants