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.
Files changed (51) hide show
  1. quipu_crypto-0.1.0/.github/workflows/ci.yml +42 -0
  2. quipu_crypto-0.1.0/.github/workflows/release.yml +72 -0
  3. quipu_crypto-0.1.0/.gitignore +36 -0
  4. quipu_crypto-0.1.0/Cargo.lock +1039 -0
  5. quipu_crypto-0.1.0/Cargo.toml +49 -0
  6. quipu_crypto-0.1.0/INFORME_PREAUDITORIA.txt +134 -0
  7. quipu_crypto-0.1.0/LICENSE +661 -0
  8. quipu_crypto-0.1.0/LICENSING.md +50 -0
  9. quipu_crypto-0.1.0/MODELO_DE_AMENAZA.txt +162 -0
  10. quipu_crypto-0.1.0/PKG-INFO +177 -0
  11. quipu_crypto-0.1.0/README.md +156 -0
  12. quipu_crypto-0.1.0/examples/demo.rs +54 -0
  13. quipu_crypto-0.1.0/examples/glyph_native_demo.rs +17 -0
  14. quipu_crypto-0.1.0/examples/hackerbot.rs +55 -0
  15. quipu_crypto-0.1.0/examples/oprf_server.rs +109 -0
  16. quipu_crypto-0.1.0/examples/quickstart.py +65 -0
  17. quipu_crypto-0.1.0/examples/quickstart.rs +78 -0
  18. quipu_crypto-0.1.0/examples/testplatform.rs +114 -0
  19. quipu_crypto-0.1.0/examples/v2demo.rs +73 -0
  20. quipu_crypto-0.1.0/glifos_nativos.png +0 -0
  21. quipu_crypto-0.1.0/glyph_alphabet.png +0 -0
  22. quipu_crypto-0.1.0/glyph_generative.png +0 -0
  23. quipu_crypto-0.1.0/glyph_sheet.png +0 -0
  24. quipu_crypto-0.1.0/proptest-regressions/prelayers.txt +8 -0
  25. quipu_crypto-0.1.0/pyproject.toml +35 -0
  26. quipu_crypto-0.1.0/scripts/audit.sh +24 -0
  27. quipu_crypto-0.1.0/scripts/glyph_generative.py +159 -0
  28. quipu_crypto-0.1.0/scripts/glyph_pipeline.py +202 -0
  29. quipu_crypto-0.1.0/secreto_en_glifos.png +0 -0
  30. quipu_crypto-0.1.0/src/antihacker.rs +49 -0
  31. quipu_crypto-0.1.0/src/api.rs +589 -0
  32. quipu_crypto-0.1.0/src/cipher.rs +128 -0
  33. quipu_crypto-0.1.0/src/codec.rs +88 -0
  34. quipu_crypto-0.1.0/src/container.rs +154 -0
  35. quipu_crypto-0.1.0/src/dictionaries.rs +76 -0
  36. quipu_crypto-0.1.0/src/dictionary.rs +168 -0
  37. quipu_crypto-0.1.0/src/ecc.rs +122 -0
  38. quipu_crypto-0.1.0/src/glyphfont.rs +244 -0
  39. quipu_crypto-0.1.0/src/glyphopt.rs +113 -0
  40. quipu_crypto-0.1.0/src/hackerbot.rs +170 -0
  41. quipu_crypto-0.1.0/src/kdf.rs +172 -0
  42. quipu_crypto-0.1.0/src/lib.rs +29 -0
  43. quipu_crypto-0.1.0/src/oprf.rs +165 -0
  44. quipu_crypto-0.1.0/src/oprf_net.rs +176 -0
  45. quipu_crypto-0.1.0/src/pqhybrid.rs +238 -0
  46. quipu_crypto-0.1.0/src/prelayers.rs +87 -0
  47. quipu_crypto-0.1.0/src/python.rs +116 -0
  48. quipu_crypto-0.1.0/src/render.rs +88 -0
  49. quipu_crypto-0.1.0/src/voprf.rs +237 -0
  50. quipu_crypto-0.1.0/tests/python/test_quipu.py +61 -0
  51. 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).