Skip to main content

A module-latice-based key-encapsulation mechanism (ML-KEM). Implements the FIPS-203 standard.

Project description

Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)

An implementation of the module-lattice-based key encapsulation mechanism (ML-KEM) as described in FIPS-203. At this time the package is in alpha and SHOULD NOT be considered for real-world cryptographic applications.

Usage

The package includes includes a pure python implementation of the K-PKE function (mlkem.k_pke.K_PKE) and an implementation that leverages C extensions (mlkem.fast_k_pke.Fast_K_PKE). The implementations have interchangeable interfaces and can be selected in their wrapper class mlkem.ml_kem.ML_KEM by setting the fast param to True for C extensions and False for pure python e.g.

from mlkem.ml_kem import ML_KEM
from mlkem.parameter_set import ML_KEM_768

ML_KEM(ML_KEM_768, fast=True)  # C extensions
ML_KEM(ML_KEM_768, fast=False)  # Pure python

Both implementations are self contained and portable (assuming you have 8 bits per byte on your system) with no dependencies on third party libraries in either the C or python code.

NIST recommends the ML-KEM-768 parameter set, which offers 192 bit security. ML-KEM-512 and ML-KEM-1024 are also available, which provide 128 and 256 bit security respectively. ML-KEM-768 is used by default in this package. Thus, the two instantiations below are equivalent -

from mlkem.ml_kem import ML_KEM
from mlkem.parameter_set import ML_KEM_768

ML_KEM()
ML_KEM(ML_KEM_768, fast=True)

The interface follows the one defined in section 7 of the standard for the functions KeyGen, Encaps and Decaps.

from mlkem.ml_kem import ML_KEM

ml_kem = ML_KEM()
ek, dk = ml_kem.key_gen()  # encapsulation and decapsulation key
k, c = ml_kem.encaps(ek)  # shared secret key and ciphertext
k_ = ml_kem.decaps(dk, c)  # shared secret key

In a less contrived scenario, Alice might run KeyGen and send the encapsulation key to Bob. Bob would then run Encaps and generate a shared secret key and a ciphertext. Bob would send the ciphertext to Alice, who would derive the shared secret key from the ciphertext. Alice and Bob can then use the shared secret key to generate additional secret material by passing it to a KDF, use the shared secret to directly key a symmetric cipher like AES, etc.

Development

As a prerequisite, uv is required for this project

pip install uv

Build the C extensions

uv run python setup.py build_ext --inplace

Run the test suite

uv run pytest

Build the docs

uv run make -C docs html

Performance

Below are some benchmarks for each parameter set, running on an 2021 M1 MacBook Pro and python3.13

1000 KeyGen, Encaps and Decaps operations with parameter set ML_KEM_512 took 0.635 seconds
1000 KeyGen, Encaps and Decaps operations with parameter set ML_KEM_768 took 0.931 seconds
1000 KeyGen, Encaps and Decaps operations with parameter set ML_KEM_1024 took 1.289 seconds

You can run the benchmark yourself using the below code -

import timeit
from mlkem.ml_kem import ML_KEM
from mlkem.parameter_set import ML_KEM_512, ML_KEM_768, ML_KEM_1024

def run(params):
    ml_kem = ML_KEM(params)
    ek, dk = ml_kem.key_gen()
    k, c = ml_kem.encaps(ek)
    k_ = ml_kem.decaps(dk, c)
    assert k == k_

for p, n in [(ML_KEM_512, "ML_KEM_512"), (ML_KEM_768, "ML_KEM_768"), (ML_KEM_1024, "ML_KEM_1024")]:
   time = timeit.timeit(stmt=lambda: run(p), number=1000)
   print(f"1000 KeyGen, Encaps and Decaps operations with parameter set {n} took {time:.3f} seconds")

The performance of the C extensions is significantly faster. The python implementation is primarily included for those that wish to explore and debug the algorithm. Performance against the NIST keygen and encap/decap test vectors can be seen below -

C Extensions

uv run pytest -k "key_gen or encaps or decaps"
================================================ test session starts ================================================
platform darwin -- Python 3.11.11, pytest-8.3.4, pluggy-1.5.0
rootdir: /Users/antonku/dev/github/mlkem
configfile: pyproject.toml
plugins: cov-6.0.0
collected 261 items / 36 deselected / 225 selected

tests/test_decaps.py ...........................................................................              [ 33%]
tests/test_encaps.py ...........................................................................              [ 66%]
tests/test_key_gen.py ...........................................................................             [100%]

======================================== 225 passed, 36 deselected in 0.23s =========================================

Pure Python

uv run pytest -k "key_gen or encaps or decaps"                                                              1 ↵
================================================ test session starts ================================================
platform darwin -- Python 3.11.11, pytest-8.3.4, pluggy-1.5.0
rootdir: /Users/antonku/dev/github/mlkem
configfile: pyproject.toml
plugins: cov-6.0.0
collected 261 items / 36 deselected / 225 selected

tests/test_decaps.py ...........................................................................              [ 33%]
tests/test_encaps.py ...........................................................................              [ 66%]
tests/test_key_gen.py ...........................................................................             [100%]

======================================== 225 passed, 36 deselected in 4.42s =========================================

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlkem-0.0.2.tar.gz (750.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mlkem-0.0.2-cp313-cp313-win_amd64.whl (36.9 kB view details)

Uploaded CPython 3.13Windows x86-64

mlkem-0.0.2-cp313-cp313-win32.whl (33.7 kB view details)

Uploaded CPython 3.13Windows x86

mlkem-0.0.2-cp313-cp313-musllinux_1_2_x86_64.whl (52.2 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

mlkem-0.0.2-cp313-cp313-musllinux_1_2_i686.whl (49.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

mlkem-0.0.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

mlkem-0.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (48.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

mlkem-0.0.2-cp313-cp313-macosx_14_0_arm64.whl (45.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

mlkem-0.0.2-cp313-cp313-macosx_13_0_x86_64.whl (46.6 kB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

mlkem-0.0.2-cp312-cp312-win_amd64.whl (36.9 kB view details)

Uploaded CPython 3.12Windows x86-64

mlkem-0.0.2-cp312-cp312-win32.whl (33.7 kB view details)

Uploaded CPython 3.12Windows x86

mlkem-0.0.2-cp312-cp312-musllinux_1_2_x86_64.whl (52.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

mlkem-0.0.2-cp312-cp312-musllinux_1_2_i686.whl (49.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

mlkem-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

mlkem-0.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (48.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

mlkem-0.0.2-cp312-cp312-macosx_14_0_arm64.whl (45.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

mlkem-0.0.2-cp312-cp312-macosx_13_0_x86_64.whl (46.6 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

mlkem-0.0.2-cp311-cp311-win_amd64.whl (36.9 kB view details)

Uploaded CPython 3.11Windows x86-64

mlkem-0.0.2-cp311-cp311-win32.whl (33.7 kB view details)

Uploaded CPython 3.11Windows x86

mlkem-0.0.2-cp311-cp311-musllinux_1_2_x86_64.whl (52.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

mlkem-0.0.2-cp311-cp311-musllinux_1_2_i686.whl (49.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

mlkem-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (51.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

mlkem-0.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (48.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

mlkem-0.0.2-cp311-cp311-macosx_14_0_arm64.whl (45.7 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

mlkem-0.0.2-cp311-cp311-macosx_13_0_x86_64.whl (46.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

File details

Details for the file mlkem-0.0.2.tar.gz.

File metadata

  • Download URL: mlkem-0.0.2.tar.gz
  • Upload date:
  • Size: 750.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8cf4e6fb39d7ab14c205f4b9ae5e1e0e224be2eee70e7bdaebc107aef184070c
MD5 f5944b75aa7d7f18e941ee551197ddb2
BLAKE2b-256 c87d24b00545d27772cb99c1f85f78a714c663571dc9cc994594dbad799aa656

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2.tar.gz:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mlkem-0.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f1026d803bcffa1a2d348657d0bb8202501b48981d9ef8483c33810f888e32f8
MD5 4328fce598a2f20d05ffd9d1d0e89b2a
BLAKE2b-256 0fa12f65f4d86ec33a7e480f44f9589295f6f64c2a72d0669e48430621b48d31

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-win_amd64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: mlkem-0.0.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 cce59ce258e6c95780bb531fad3ac87172f85a6547e650248eeaebf86f6562b6
MD5 0b9a52527041c1555d17f00e9feaf5d0
BLAKE2b-256 47927f10f923ab853e435a7cdb148df42bb2301bb522d3cd3e6d753c4b8a3dd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-win32.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1266abd89273101797e178dcd7947bc3860edc2d3b3b98b119ba0570394d7886
MD5 d88bb9c694c4af8308907f2703434ef1
BLAKE2b-256 f6de0442e723301ca8db17c5619936f721484161219bce624b9f511dae320f7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 90a68a7da670bdb68fa20d5f62072dfc93c5b57b5ed948adbc61cecce4d6ea9c
MD5 9a72a173a34ed13f3b6d4bc317dbe332
BLAKE2b-256 b13aa61c43127bc5d12d0704ee1386d50e71f7d5a560cee9dedf50c8aa959728

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7dea3d11161dca3e8d1c05ba07434c2232b076aecbd730a43091b801e411bde4
MD5 6e042232c22108bd9225d839971d3aa1
BLAKE2b-256 092a0b22c50b7377f1e4cdab7b24a9b0116183d5bfa47f09f0200ca5fdc69443

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 162f5d8c411a984e8af0e4a50f6a91085b453a647dff2819ce8adb0f0632ff8b
MD5 e9edcc51640046d53a922f0f5b2b8da5
BLAKE2b-256 7e4a9e4cf715d2576acbbfe220172ce9c6ab68e06b70dfa10037237e69d8bf8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c8812c5332a416db3b588d3ddaade0e75542f259c30ad6ffd2581f59b01c83e1
MD5 6ec309f63029511c063a88cb43220378
BLAKE2b-256 f90a1e50b8b14b3c9f22ee7d936811ebe7c444dab5d37bff42367ff5668d671f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9e41bc42e064f71522b2515a3cd1e791f530819598dd91ac678a4b54737b852a
MD5 c3fb28514e969301d92d59414ab85d36
BLAKE2b-256 ee4f95b952b94c2caa31db9e2a2a95605fe6a2f32ed94b5ec585b262f431cdc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mlkem-0.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b2f6bd1ab9870f238f2413156e06e33c7a79a9c6ee92d8cf488010be1f942e29
MD5 8645873c212a77b45738ea95eee91b05
BLAKE2b-256 054382f34faad3cb3fc578c4bd74368a0beda00dbe9f0c2abd7d9d45e9a6b04d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-win_amd64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: mlkem-0.0.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d67cccdc3dde7bb8b018e189cf519cd89302b8e9e2e2955ce7ba767770b56428
MD5 6e67d53caecff73801aa878a6c7dfa37
BLAKE2b-256 402c165349fd70d8f995c4222328403cd4afe7aeff6b3498dc6fb1347aacd1cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-win32.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab080f7cb96ba15e0de2ebb5907f9577f63ec5a5e5c8b302e8db4de4ce27e553
MD5 75646c94a53d3f202eb69572fc063661
BLAKE2b-256 8df237ad8cb9ee6d27bc755f5cb5945d715212cc31751ba7baf3b5e1f717f33a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e7a860aedc6d811ba2fd5563e35f0bd8ff3e498a8d8e27ceecd45bc57efa6506
MD5 8c2f938103b971244cb3020065e93cb9
BLAKE2b-256 b91d386aec931595914f7d90ccaa9a21bef4afe2b085bd0118ac9a82d4e9da18

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddc0416c7a429e633e244b62b6cb762d142b30a0ea91f2e0b69f5d44cd9cdb64
MD5 31337c51ea0ff7f762916fb254739491
BLAKE2b-256 133fa73786f6232d1de164009b85bca40b86b6a35458f72e749f8fec5c4e346c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 02af29c27801a47c14371c87580154de632e4ff072a7570597b3bb7efde3e443
MD5 7003422eb0f987eb3428aa1ea39db9c1
BLAKE2b-256 9f64ea8d93fc6f00c4a27081905c1e6c9d63c54bd99883ec0960893aa2b8e3e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e79b5acbe4f72c0cbfd8131d40b2354dc12f4929b4074cab7077127972f0f250
MD5 ad474b04e236ab1133b5d9d5d9dc870e
BLAKE2b-256 e9e84dc67f822bd77967830c4c585faf3d115b4368796d10192648d0f7d985b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e4b9abe58bfd34be8203c77cb6004218b6cbdbddc0f15261488c08a009400937
MD5 af059e818aaeb8e4bc924e38c0e6b5e4
BLAKE2b-256 7676fd0f83f9d047df67b14b08e317d0d104d3781100a018dbd18c2c77e32713

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mlkem-0.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2d08842ef77fd2ff228410c63d2cd31925fce8163e46a505106d103245656b4d
MD5 be993758ee6f54c0fc654be10fdd2b84
BLAKE2b-256 05ec4c50f39122b3b4fc5a2db3a48e3a70e9e6fd27c9783fa835ef9ab5749f4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-win_amd64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: mlkem-0.0.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 bbc38e5b0f11ff812447badb5f21c0dffa5e24a9bf7e7ee97d767d5dbd32675e
MD5 fd2cec7ca51b0b43b8c1ecea7754600f
BLAKE2b-256 e368b59104e807c231d6bfca9c1994e4906943e151898896cb6abc37599bf26a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-win32.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3f4e3a4e8b67cd3e5ac74881b6bc35b3b2b99995d11a1db8dbafed72c982e89b
MD5 562c1822df7bde96930462a47dbceb50
BLAKE2b-256 30744c8786905ef6afe3639f1103fd6ae20ef17b56c3951cfb8f9f154c69d8ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 72f792a7d3ba9d985f8d471b995ca63391b5dde1db7fb88cc37a239b9b0e42bb
MD5 5b6c4e79e75f4308b5c18d9a599b70a4
BLAKE2b-256 d4b16a67c7e679974c8e07a39bf74003e0f9b8761956984a22e36f5428a5479f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f9e4cadbb60b36bc90cc53573e5cc49608a9910d1733d6575e0883b79133213
MD5 91a2f4b502d150ac4435d12577d56275
BLAKE2b-256 045d0075a17cd8db93d32ac7670bdc97c9a287e47675158ac071f94e7bfdfa43

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7cdcb3e1ba0d18cbe384121a22b46301c2168abdfeb1aae8ff8edba162cc4cd1
MD5 bd614a70801f416a4d1ab43eb818f409
BLAKE2b-256 99d908355cba7afbb78f52059fa39ddbb85abfb66377f83a141753de053b0439

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 92db8dbcd3016edf4ad5ca1a53ef335afd1d6742d637017d096d7a8d5c1e5359
MD5 e33e42f7f5e14e5c898f71d255d362f2
BLAKE2b-256 2c6e4ff2fec637005813eb6ae6a4e96b2b11061ada6c67004d78ecfcd42d1d5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlkem-0.0.2-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for mlkem-0.0.2-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6f40ccaed4be6cc7e668d7519ef251c41ce5b560a0fe1c0f717df5f11bb8b2aa
MD5 ea4c1e3d91c19c52d2108368407a2036
BLAKE2b-256 09bed59ff293bdecbe20eb1c5da9810e74c89a7867199334a26752002ab92305

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlkem-0.0.2-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: publish-to-prod.yaml on AntonKueltz/ml-kem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page