quipu-crypto 0.1.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.
- quipu_crypto-0.1.0/.github/workflows/ci.yml +42 -0
- quipu_crypto-0.1.0/.github/workflows/release.yml +72 -0
- quipu_crypto-0.1.0/.gitignore +36 -0
- quipu_crypto-0.1.0/Cargo.lock +1039 -0
- quipu_crypto-0.1.0/Cargo.toml +49 -0
- quipu_crypto-0.1.0/INFORME_PREAUDITORIA.txt +134 -0
- quipu_crypto-0.1.0/LICENSE +661 -0
- quipu_crypto-0.1.0/LICENSING.md +50 -0
- quipu_crypto-0.1.0/MODELO_DE_AMENAZA.txt +162 -0
- quipu_crypto-0.1.0/PKG-INFO +177 -0
- quipu_crypto-0.1.0/README.md +156 -0
- quipu_crypto-0.1.0/examples/demo.rs +54 -0
- quipu_crypto-0.1.0/examples/glyph_native_demo.rs +17 -0
- quipu_crypto-0.1.0/examples/hackerbot.rs +55 -0
- quipu_crypto-0.1.0/examples/oprf_server.rs +109 -0
- quipu_crypto-0.1.0/examples/quickstart.py +65 -0
- quipu_crypto-0.1.0/examples/quickstart.rs +78 -0
- quipu_crypto-0.1.0/examples/testplatform.rs +114 -0
- quipu_crypto-0.1.0/examples/v2demo.rs +73 -0
- quipu_crypto-0.1.0/glifos_nativos.png +0 -0
- quipu_crypto-0.1.0/glyph_alphabet.png +0 -0
- quipu_crypto-0.1.0/glyph_generative.png +0 -0
- quipu_crypto-0.1.0/glyph_sheet.png +0 -0
- quipu_crypto-0.1.0/proptest-regressions/prelayers.txt +8 -0
- quipu_crypto-0.1.0/pyproject.toml +35 -0
- quipu_crypto-0.1.0/scripts/audit.sh +24 -0
- quipu_crypto-0.1.0/scripts/glyph_generative.py +159 -0
- quipu_crypto-0.1.0/scripts/glyph_pipeline.py +202 -0
- quipu_crypto-0.1.0/secreto_en_glifos.png +0 -0
- quipu_crypto-0.1.0/src/antihacker.rs +49 -0
- quipu_crypto-0.1.0/src/api.rs +589 -0
- quipu_crypto-0.1.0/src/cipher.rs +128 -0
- quipu_crypto-0.1.0/src/codec.rs +88 -0
- quipu_crypto-0.1.0/src/container.rs +154 -0
- quipu_crypto-0.1.0/src/dictionaries.rs +76 -0
- quipu_crypto-0.1.0/src/dictionary.rs +168 -0
- quipu_crypto-0.1.0/src/ecc.rs +122 -0
- quipu_crypto-0.1.0/src/glyphfont.rs +244 -0
- quipu_crypto-0.1.0/src/glyphopt.rs +113 -0
- quipu_crypto-0.1.0/src/hackerbot.rs +170 -0
- quipu_crypto-0.1.0/src/kdf.rs +172 -0
- quipu_crypto-0.1.0/src/lib.rs +29 -0
- quipu_crypto-0.1.0/src/oprf.rs +165 -0
- quipu_crypto-0.1.0/src/oprf_net.rs +176 -0
- quipu_crypto-0.1.0/src/pqhybrid.rs +238 -0
- quipu_crypto-0.1.0/src/prelayers.rs +87 -0
- quipu_crypto-0.1.0/src/python.rs +116 -0
- quipu_crypto-0.1.0/src/render.rs +88 -0
- quipu_crypto-0.1.0/src/voprf.rs +237 -0
- quipu_crypto-0.1.0/tests/python/test_quipu.py +61 -0
- quipu_crypto-0.1.0/tests/wycheproof_aead.rs +58 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
# Se activa cuando el proyecto pase a git/GitHub. Mientras tanto, el equivalente
|
|
4
|
+
# local es `scripts/audit.sh`.
|
|
5
|
+
on:
|
|
6
|
+
push:
|
|
7
|
+
branches: [main, master]
|
|
8
|
+
pull_request:
|
|
9
|
+
schedule:
|
|
10
|
+
# Auditoría semanal de dependencias aunque no haya cambios (nuevas CVEs).
|
|
11
|
+
- cron: "0 6 * * 1"
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
CARGO_TERM_COLOR: always
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
test:
|
|
18
|
+
name: test + clippy
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
23
|
+
with:
|
|
24
|
+
components: clippy
|
|
25
|
+
- uses: Swatinem/rust-cache@v2
|
|
26
|
+
- name: Build
|
|
27
|
+
run: cargo build --all-targets
|
|
28
|
+
- name: Tests
|
|
29
|
+
run: cargo test --all-targets
|
|
30
|
+
- name: Clippy (deny warnings)
|
|
31
|
+
run: cargo clippy --all-targets -- -D warnings
|
|
32
|
+
|
|
33
|
+
audit:
|
|
34
|
+
name: cargo-audit (RustSec)
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/checkout@v4
|
|
38
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
39
|
+
- name: Install cargo-audit
|
|
40
|
+
run: cargo install cargo-audit --locked
|
|
41
|
+
- name: Audit dependencies
|
|
42
|
+
run: cargo audit
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
name: release-wheels
|
|
2
|
+
|
|
3
|
+
# Construye ruedas Python (abi3, una por plataforma sirve para CPython 3.9+) y el
|
|
4
|
+
# sdist. En un tag "v*" además publica en PyPI. También ejecutable a mano.
|
|
5
|
+
on:
|
|
6
|
+
push:
|
|
7
|
+
tags: ["v*"]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
wheels:
|
|
15
|
+
name: wheels-${{ matrix.os }}
|
|
16
|
+
runs-on: ${{ matrix.os }}
|
|
17
|
+
strategy:
|
|
18
|
+
fail-fast: false
|
|
19
|
+
matrix:
|
|
20
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v4
|
|
23
|
+
- uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.x"
|
|
26
|
+
- name: Build wheels (maturin, feature python)
|
|
27
|
+
uses: PyO3/maturin-action@v1
|
|
28
|
+
with:
|
|
29
|
+
command: build
|
|
30
|
+
args: --release --features python --out dist
|
|
31
|
+
sccache: "true"
|
|
32
|
+
manylinux: auto
|
|
33
|
+
- uses: actions/upload-artifact@v4
|
|
34
|
+
with:
|
|
35
|
+
name: wheels-${{ matrix.os }}
|
|
36
|
+
path: dist
|
|
37
|
+
|
|
38
|
+
sdist:
|
|
39
|
+
name: sdist
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v4
|
|
43
|
+
- name: Build sdist
|
|
44
|
+
uses: PyO3/maturin-action@v1
|
|
45
|
+
with:
|
|
46
|
+
command: sdist
|
|
47
|
+
args: --out dist
|
|
48
|
+
- uses: actions/upload-artifact@v4
|
|
49
|
+
with:
|
|
50
|
+
name: sdist
|
|
51
|
+
path: dist
|
|
52
|
+
|
|
53
|
+
publish:
|
|
54
|
+
name: publish to PyPI
|
|
55
|
+
needs: [wheels, sdist]
|
|
56
|
+
runs-on: ubuntu-latest
|
|
57
|
+
# Solo publica al hacer un tag v*.
|
|
58
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
59
|
+
environment: pypi
|
|
60
|
+
permissions:
|
|
61
|
+
id-token: write # PyPI trusted publishing (OIDC), sin token en secretos
|
|
62
|
+
steps:
|
|
63
|
+
- uses: actions/download-artifact@v4
|
|
64
|
+
with:
|
|
65
|
+
path: dist
|
|
66
|
+
merge-multiple: true
|
|
67
|
+
# Acción oficial de PyPA: soporta trusted publishing (OIDC) de forma nativa,
|
|
68
|
+
# sin necesidad de token. Sube todo lo que haya en dist/ (ruedas + sdist).
|
|
69
|
+
- name: Publish to PyPI
|
|
70
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
71
|
+
with:
|
|
72
|
+
skip-existing: true
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# --- Build artifacts ---
|
|
2
|
+
/target
|
|
3
|
+
fuzz/target
|
|
4
|
+
fuzz/corpus
|
|
5
|
+
fuzz/artifacts
|
|
6
|
+
fuzz/Cargo.lock
|
|
7
|
+
|
|
8
|
+
# --- Python ---
|
|
9
|
+
/venv
|
|
10
|
+
__pycache__/
|
|
11
|
+
*.pyc
|
|
12
|
+
*.so
|
|
13
|
+
|
|
14
|
+
# --- SECRETOS: nunca subir claves del servidor OPRF ni semillas ---
|
|
15
|
+
*.bin
|
|
16
|
+
oprf_seed*
|
|
17
|
+
*.key
|
|
18
|
+
*.pem
|
|
19
|
+
|
|
20
|
+
# --- Local del agente / privado ---
|
|
21
|
+
/.claude
|
|
22
|
+
/.remember
|
|
23
|
+
/conversaciones
|
|
24
|
+
|
|
25
|
+
# --- Borradores de financiación (estrategia/datos personales, NO públicos) ---
|
|
26
|
+
GRANT_NLNET.md
|
|
27
|
+
OTF_RED_TEAM_LAB.md
|
|
28
|
+
|
|
29
|
+
# --- Artefactos generados por ejemplos ---
|
|
30
|
+
quickstart_glifos.png
|
|
31
|
+
dist/
|
|
32
|
+
|
|
33
|
+
# --- SO ---
|
|
34
|
+
.DS_Store
|
|
35
|
+
|
|
36
|
+
# NOTA: Cargo.lock SÍ se versiona (builds reproducibles, higiene de supply-chain).
|