puantum 9.9.9__tar.gz → 11.0.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- puantum-11.0.0.0/.github/workflows/publish.yml +127 -0
- puantum-11.0.0.0/.readthedocs.yaml +22 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/PKG-INFO +2 -3
- {puantum-9.9.9 → puantum-11.0.0.0}/pyproject.toml +2 -4
- puantum-11.0.0.0/security.md +21 -0
- puantum-9.9.9/.github/workflows/publish.yml +0 -40
- puantum-9.9.9/README.md +0 -82
- {puantum-9.9.9 → puantum-11.0.0.0}/.gitignore +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/Cargo.lock +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/Cargo.toml +0 -0
- /puantum-9.9.9/license.md → /puantum-11.0.0.0/LICENSE +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/Makefile +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/__init__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/__init__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/classic/__init__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/classic/__init__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/__init__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/__init__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__init__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__init__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__internal__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/dsa/__internal__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__init__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__init__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__internal__.py +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/puantum/quantum/kem/__internal__.pyi +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/readme.md +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/classic/mod.rs +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/mod.rs +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/quantum/binding.rs +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/rust/cryptography/quantum/mod.rs +0 -0
- {puantum-9.9.9 → puantum-11.0.0.0}/rust/python.rs +0 -0
@@ -0,0 +1,127 @@
|
|
1
|
+
# GitHub Workflow
|
2
|
+
|
3
|
+
name: GitHub Workflow
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches:
|
8
|
+
- main
|
9
|
+
|
10
|
+
permissions:
|
11
|
+
id-token: write
|
12
|
+
contents: write
|
13
|
+
attestations: write
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
linux:
|
17
|
+
runs-on: ubuntu-latest
|
18
|
+
strategy:
|
19
|
+
matrix:
|
20
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
21
|
+
#
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v4
|
24
|
+
- uses: actions/setup-python@v5
|
25
|
+
with:
|
26
|
+
python-version: ${{ matrix.python-version }}
|
27
|
+
#
|
28
|
+
- name: Maturin build
|
29
|
+
uses: PyO3/maturin-action@v1
|
30
|
+
with:
|
31
|
+
command: build
|
32
|
+
args: --release --out pypi --find-interpreter
|
33
|
+
#
|
34
|
+
- name: Upload
|
35
|
+
uses: actions/upload-artifact@v4
|
36
|
+
with:
|
37
|
+
name: wheels-linux-py${{ matrix.python-version }}
|
38
|
+
path: pypi
|
39
|
+
#
|
40
|
+
windows:
|
41
|
+
runs-on: windows-latest
|
42
|
+
strategy:
|
43
|
+
matrix:
|
44
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
45
|
+
#
|
46
|
+
steps:
|
47
|
+
- uses: actions/checkout@v4
|
48
|
+
- uses: actions/setup-python@v5
|
49
|
+
with:
|
50
|
+
python-version: ${{ matrix.python-version }}
|
51
|
+
#
|
52
|
+
- name: Maturin build
|
53
|
+
uses: PyO3/maturin-action@v1
|
54
|
+
with:
|
55
|
+
command: build
|
56
|
+
args: --release --out pypi --find-interpreter
|
57
|
+
#
|
58
|
+
- name: Upload
|
59
|
+
uses: actions/upload-artifact@v4
|
60
|
+
with:
|
61
|
+
name: wheels-windows-py${{ matrix.python-version }}
|
62
|
+
path: pypi
|
63
|
+
#
|
64
|
+
macos:
|
65
|
+
runs-on: macos-latest
|
66
|
+
strategy:
|
67
|
+
matrix:
|
68
|
+
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
69
|
+
#
|
70
|
+
steps:
|
71
|
+
- uses: actions/checkout@v4
|
72
|
+
- uses: actions/setup-python@v5
|
73
|
+
with:
|
74
|
+
python-version: ${{ matrix.python-version }}
|
75
|
+
#
|
76
|
+
- name: Maturin build
|
77
|
+
uses: PyO3/maturin-action@v1
|
78
|
+
with:
|
79
|
+
command: build
|
80
|
+
args: --release --out pypi --find-interpreter
|
81
|
+
#
|
82
|
+
- name: Upload
|
83
|
+
uses: actions/upload-artifact@v4
|
84
|
+
with:
|
85
|
+
name: wheels-macos-py${{ matrix.python-version }}
|
86
|
+
path: pypi
|
87
|
+
sdist:
|
88
|
+
runs-on: ubuntu-latest
|
89
|
+
steps:
|
90
|
+
- uses: actions/checkout@v4
|
91
|
+
#
|
92
|
+
- name: Maturin sdist
|
93
|
+
uses: PyO3/maturin-action@v1
|
94
|
+
with:
|
95
|
+
command: sdist
|
96
|
+
args: --out pypi
|
97
|
+
#
|
98
|
+
- name: Upload
|
99
|
+
uses: actions/upload-artifact@v4
|
100
|
+
with:
|
101
|
+
name: wheels-sdist
|
102
|
+
path: pypi
|
103
|
+
release:
|
104
|
+
name: Release
|
105
|
+
runs-on: ubuntu-latest
|
106
|
+
needs:
|
107
|
+
- linux
|
108
|
+
- windows
|
109
|
+
- macos
|
110
|
+
- sdist
|
111
|
+
steps:
|
112
|
+
- uses: actions/download-artifact@v4
|
113
|
+
with:
|
114
|
+
path: artifacts
|
115
|
+
- name: List downloaded artifacts
|
116
|
+
run: ls -R artifacts
|
117
|
+
- name: Generate artifact attestation
|
118
|
+
uses: actions/attest-build-provenance@v2
|
119
|
+
with:
|
120
|
+
subject-path: 'artifacts/wheels-*/*'
|
121
|
+
- name: Publish to PyPI
|
122
|
+
uses: PyO3/maturin-action@v1
|
123
|
+
env:
|
124
|
+
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
125
|
+
with:
|
126
|
+
command: upload
|
127
|
+
args: --non-interactive --skip-existing artifacts/wheels-*/*
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Read the Docs configuration file
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
3
|
+
|
4
|
+
# Required
|
5
|
+
version: 2
|
6
|
+
|
7
|
+
# Set the OS, Python version, and other tools you might need
|
8
|
+
build:
|
9
|
+
os: ubuntu-24.04
|
10
|
+
tools:
|
11
|
+
python: "3.13"
|
12
|
+
|
13
|
+
# Build documentation in the "docs/" directory with Sphinx
|
14
|
+
sphinx:
|
15
|
+
configuration: docs/conf.py
|
16
|
+
|
17
|
+
# Optionally, but recommended,
|
18
|
+
# declare the Python requirements required to build your documentation
|
19
|
+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
20
|
+
# python:
|
21
|
+
# install:
|
22
|
+
# - requirements: docs/requirements.txt
|
@@ -1,12 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: puantum
|
3
|
-
Version:
|
3
|
+
Version: 11.0.0.0
|
4
4
|
Classifier: Programming Language :: Python :: 3
|
5
5
|
Classifier: Programming Language :: Rust
|
6
6
|
Classifier: Operating System :: OS Independent
|
7
|
-
Classifier: License :: Public Domain
|
8
7
|
Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
|
9
|
-
License-File:
|
8
|
+
License-File: LICENSE
|
10
9
|
Summary: Python Cryptography
|
11
10
|
Keywords: python,cryptography,quantum,security
|
12
11
|
Author-email: Anonymous <217687495+1xfakebit@users.noreply.github.com>
|
@@ -1,18 +1,16 @@
|
|
1
1
|
[project]
|
2
2
|
name = "puantum"
|
3
|
-
version = "
|
3
|
+
version = "11.0.0.0"
|
4
4
|
authors = [{name = "Anonymous", email = "217687495+1xfakebit@users.noreply.github.com"}]
|
5
5
|
description = "Python Cryptography"
|
6
6
|
readme = {file = "readme.md", content-type = "text/markdown"}
|
7
|
-
license = "
|
8
|
-
license-files = ["license.md"]
|
7
|
+
license = { file = "LICENSE" }
|
9
8
|
keywords = ["python", "cryptography", "quantum", "security"]
|
10
9
|
|
11
10
|
classifiers = [
|
12
11
|
"Programming Language :: Python :: 3",
|
13
12
|
"Programming Language :: Rust",
|
14
13
|
"Operating System :: OS Independent",
|
15
|
-
"License :: Public Domain",
|
16
14
|
"License :: OSI Approved :: The Unlicense (Unlicense)"
|
17
15
|
]
|
18
16
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Security Policy
|
2
|
+
|
3
|
+
## Supported Versions
|
4
|
+
|
5
|
+
Use this section to tell people about which versions of your project are
|
6
|
+
currently being supported with security updates.
|
7
|
+
|
8
|
+
| Version | Supported |
|
9
|
+
| ------- | ------------------ |
|
10
|
+
| 5.1.x | :white_check_mark: |
|
11
|
+
| 5.0.x | :x: |
|
12
|
+
| 4.0.x | :white_check_mark: |
|
13
|
+
| < 4.0 | :x: |
|
14
|
+
|
15
|
+
## Reporting a Vulnerability
|
16
|
+
|
17
|
+
Use this section to tell people how to report a vulnerability.
|
18
|
+
|
19
|
+
Tell them where to go, how often they can expect to get an update on a
|
20
|
+
reported vulnerability, what to expect if the vulnerability is accepted or
|
21
|
+
declined, etc.
|
@@ -1,40 +0,0 @@
|
|
1
|
-
name: Build and Publish to PyPI
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches:
|
6
|
-
- main
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build-and-publish:
|
10
|
-
runs-on: ${{ matrix.os }}
|
11
|
-
strategy:
|
12
|
-
matrix:
|
13
|
-
os: [ubuntu-latest, macos-latest, windows-latest]
|
14
|
-
python-version: ['3.10', '3.11', '3.12', '3.13']
|
15
|
-
|
16
|
-
steps:
|
17
|
-
- name: Checkout repository
|
18
|
-
uses: actions/checkout@v4
|
19
|
-
|
20
|
-
- name: Set up Python
|
21
|
-
uses: actions/setup-python@v5
|
22
|
-
with:
|
23
|
-
python-version: ${{ matrix.python-version }}
|
24
|
-
|
25
|
-
- name: Install Rust
|
26
|
-
uses: dtolnay/rust-toolchain@stable
|
27
|
-
|
28
|
-
- name: Install maturin
|
29
|
-
run: pip install maturin
|
30
|
-
|
31
|
-
- name: Build the wheel and sdist
|
32
|
-
run: maturin build --sdist --release
|
33
|
-
|
34
|
-
- name: Publish to PyPI
|
35
|
-
env:
|
36
|
-
TWINE_USERNAME: __token__
|
37
|
-
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
38
|
-
run: |
|
39
|
-
pip install twine
|
40
|
-
twine upload target/wheels/*
|
puantum-9.9.9/README.md
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
# 🔐 Python Cryptography
|
2
|
-
|
3
|
-
A blazing-fast cryptography library for Python, built on Rust.
|
4
|
-
|
5
|
-
Pryptography supports an extensive set of **post-quantum** digital signature algorithms (DSA) and key encapsulation mechanisms (KEM).
|
6
|
-
|
7
|
-
---
|
8
|
-
## ⚡ Features
|
9
|
-
- ✅ Dozens of NIST PQC candidates
|
10
|
-
- 🦀 Rust core for speed and safety
|
11
|
-
- 📦 Easy installation via [`pip`](https://pip.pypa.io)
|
12
|
-
---
|
13
|
-
|
14
|
-
### 🧬 Supported Algorithms
|
15
|
-
|
16
|
-
### 🛡️ KEM
|
17
|
-
- #### Bike
|
18
|
-
- #### ClassicMcEliece
|
19
|
-
- #### Hqc
|
20
|
-
- #### Kyber
|
21
|
-
- #### MLKEM
|
22
|
-
- #### NtruPrime
|
23
|
-
- #### FrodoKem
|
24
|
-
|
25
|
-
### ✍️ DSA
|
26
|
-
- #### Cross
|
27
|
-
- #### Dilithium
|
28
|
-
- #### Falcon
|
29
|
-
- #### Mayo
|
30
|
-
- #### MLDSA
|
31
|
-
- #### Sphincs
|
32
|
-
- #### Uov
|
33
|
-
|
34
|
-
### ❔ Examples
|
35
|
-
|
36
|
-
#### DSA Example
|
37
|
-
```python
|
38
|
-
# IMPORT
|
39
|
-
from puantum.quantum.dsa import Algorithm, KeyPair
|
40
|
-
|
41
|
-
# MAIN
|
42
|
-
alicesk, alicepk = KeyPair(Algorithm.MLDSA.MLDSA87)
|
43
|
-
message = "Hello".encode()
|
44
|
-
|
45
|
-
signature = alicesk.sign(message=message)
|
46
|
-
valid = alicepk.verify(signature=signature, message=message)
|
47
|
-
|
48
|
-
assert valid, "Signature verification failed!"
|
49
|
-
|
50
|
-
print(f"Message: [{message.decode()}]")
|
51
|
-
print(f"Signature: [{signature.hex()[:len(message)]}]")
|
52
|
-
```
|
53
|
-
|
54
|
-
#### KEM Example
|
55
|
-
```python
|
56
|
-
# IMPORT
|
57
|
-
from puantum.quantum.kem import Algorithm, KeyPair
|
58
|
-
|
59
|
-
# MAIN
|
60
|
-
alicesk, alicepk = KeyPair(Algorithm.MLKEM.MLKEM1024)
|
61
|
-
_bobsk, _bobpk = KeyPair(Algorithm.MLKEM.MLKEM1024)
|
62
|
-
|
63
|
-
bobss, bobct = alicepk.encapsulate()
|
64
|
-
alicess = alicesk.decapsulate(bobct)
|
65
|
-
|
66
|
-
assert alicess == bobss, "Shared secrets do not match!"
|
67
|
-
|
68
|
-
print(f"Alice's Shared Secret: [{alicess.hex()}]")
|
69
|
-
print(f"Bob's Shared Secret: [{bobss.hex()}]")
|
70
|
-
```
|
71
|
-
|
72
|
-
### 📦 Install
|
73
|
-
```shell
|
74
|
-
pip install puantum
|
75
|
-
```
|
76
|
-
|
77
|
-
#### or from source:
|
78
|
-
```shell
|
79
|
-
make python
|
80
|
-
```
|
81
|
-
|
82
|
-
### 🥳 Enjoy!
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|