hashsigs 0.2.1rc3__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 (90) hide show
  1. hashsigs-0.2.1rc3/.cargo/audit.toml +30 -0
  2. hashsigs-0.2.1rc3/.cargo/config.toml +2 -0
  3. hashsigs-0.2.1rc3/.github/dependabot.yml +21 -0
  4. hashsigs-0.2.1rc3/.gitignore +37 -0
  5. hashsigs-0.2.1rc3/.vale.ini +6 -0
  6. hashsigs-0.2.1rc3/COPYING +662 -0
  7. hashsigs-0.2.1rc3/Cargo.lock +9044 -0
  8. hashsigs-0.2.1rc3/Cargo.toml +132 -0
  9. hashsigs-0.2.1rc3/Makefile +85 -0
  10. hashsigs-0.2.1rc3/PKG-INFO +20 -0
  11. hashsigs-0.2.1rc3/README.md +622 -0
  12. hashsigs-0.2.1rc3/RELEASING.md +113 -0
  13. hashsigs-0.2.1rc3/SECURITY.md +372 -0
  14. hashsigs-0.2.1rc3/build.rs +118 -0
  15. hashsigs-0.2.1rc3/deny.toml +54 -0
  16. hashsigs-0.2.1rc3/examples/bench_keygen_sign.rs +44 -0
  17. hashsigs-0.2.1rc3/examples/measure_mem.rs +13 -0
  18. hashsigs-0.2.1rc3/py/Cargo.toml +25 -0
  19. hashsigs-0.2.1rc3/py/README.md +5 -0
  20. hashsigs-0.2.1rc3/py/src/lib.rs +9 -0
  21. hashsigs-0.2.1rc3/pyproject.toml +27 -0
  22. hashsigs-0.2.1rc3/rust-toolchain.toml +6 -0
  23. hashsigs-0.2.1rc3/src/abi.rs +653 -0
  24. hashsigs-0.2.1rc3/src/buf.rs +35 -0
  25. hashsigs-0.2.1rc3/src/error.rs +112 -0
  26. hashsigs-0.2.1rc3/src/hash/address.rs +95 -0
  27. hashsigs-0.2.1rc3/src/hash/backend.rs +155 -0
  28. hashsigs-0.2.1rc3/src/hash/mod.rs +44 -0
  29. hashsigs-0.2.1rc3/src/hash/ops.rs +150 -0
  30. hashsigs-0.2.1rc3/src/hash/suite/keccak.rs +27 -0
  31. hashsigs-0.2.1rc3/src/hash/suite/mod.rs +44 -0
  32. hashsigs-0.2.1rc3/src/hash/suite/sha2.rs +27 -0
  33. hashsigs-0.2.1rc3/src/lib.rs +105 -0
  34. hashsigs-0.2.1rc3/src/profiles.rs +106 -0
  35. hashsigs-0.2.1rc3/src/shrincs/action_context.rs +37 -0
  36. hashsigs-0.2.1rc3/src/shrincs/dispatch.rs +304 -0
  37. hashsigs-0.2.1rc3/src/shrincs/key.rs +696 -0
  38. hashsigs-0.2.1rc3/src/shrincs/mod.rs +118 -0
  39. hashsigs-0.2.1rc3/src/shrincs/signature.rs +448 -0
  40. hashsigs-0.2.1rc3/src/shrincs/signer.rs +1020 -0
  41. hashsigs-0.2.1rc3/src/shrincs/test_fixtures.rs +467 -0
  42. hashsigs-0.2.1rc3/src/shrincs/uxmss.rs +977 -0
  43. hashsigs-0.2.1rc3/src/shrincs/vector_conformance.rs +486 -0
  44. hashsigs-0.2.1rc3/src/shrincs/verifier.rs +506 -0
  45. hashsigs-0.2.1rc3/src/sphincs_plus_c/fors_c.rs +936 -0
  46. hashsigs-0.2.1rc3/src/sphincs_plus_c/hypertree.rs +954 -0
  47. hashsigs-0.2.1rc3/src/sphincs_plus_c/key.rs +378 -0
  48. hashsigs-0.2.1rc3/src/sphincs_plus_c/mod.rs +326 -0
  49. hashsigs-0.2.1rc3/src/sphincs_plus_c/signature.rs +286 -0
  50. hashsigs-0.2.1rc3/src/sphincs_plus_c/verifier.rs +196 -0
  51. hashsigs-0.2.1rc3/src/test_support.rs +41 -0
  52. hashsigs-0.2.1rc3/src/trace_macros.rs +67 -0
  53. hashsigs-0.2.1rc3/src/treehash.rs +343 -0
  54. hashsigs-0.2.1rc3/src/verifier.rs +77 -0
  55. hashsigs-0.2.1rc3/src/wasm/mod.rs +1101 -0
  56. hashsigs-0.2.1rc3/src/wots_c/mod.rs +367 -0
  57. hashsigs-0.2.1rc3/src/wotsplus/mod.rs +736 -0
  58. hashsigs-0.2.1rc3/tests/alloc_budget.rs +171 -0
  59. hashsigs-0.2.1rc3/tests/common/mod.rs +337 -0
  60. hashsigs-0.2.1rc3/tests/envelope_vectors.rs +133 -0
  61. hashsigs-0.2.1rc3/tests/generate_shrincs_vectors.rs +363 -0
  62. hashsigs-0.2.1rc3/tests/generate_stateful_gas_vector.rs +226 -0
  63. hashsigs-0.2.1rc3/tests/solidity_account_vectors.rs +91 -0
  64. hashsigs-0.2.1rc3/tests/test_fixtures/account_keys.shrincs-256s-keccak.json +1 -0
  65. hashsigs-0.2.1rc3/tests/test_fixtures/account_keys.shrincs-256s-sha2.json +1 -0
  66. hashsigs-0.2.1rc3/tests/test_fixtures/account_signature_cases.shrincs-256s-keccak.json +1 -0
  67. hashsigs-0.2.1rc3/tests/test_fixtures/account_signature_cases.shrincs-256s-sha2.json +1 -0
  68. hashsigs-0.2.1rc3/tests/test_fixtures/stateful_signer_keys.shrincs-128s-q18-keccak.json +1 -0
  69. hashsigs-0.2.1rc3/tests/test_fixtures/stateful_signer_keys.shrincs-128s-q20-keccak.json +1 -0
  70. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_account_wrapper_vectors.json.gz +0 -0
  71. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_account_wrapper_vectors_128s_q18_keccak.json.gz +0 -0
  72. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_account_wrapper_vectors_128s_q20_keccak.json.gz +0 -0
  73. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_account_wrapper_vectors_256s_sha2.json.gz +0 -0
  74. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_sphincs_128s_q18_keccak.json.gz +0 -0
  75. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_sphincs_128s_q20_keccak.json.gz +0 -0
  76. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_sphincs_256s_keccak.json.gz +0 -0
  77. hashsigs-0.2.1rc3/tests/test_vectors/shrincs_sphincs_256s_sha2.json.gz +0 -0
  78. hashsigs-0.2.1rc3/tests/test_vectors/wotsplus_keccak256.json +1067 -0
  79. hashsigs-0.2.1rc3/tests/test_vectors.rs +107 -0
  80. hashsigs-0.2.1rc3/ts/README.md +192 -0
  81. hashsigs-0.2.1rc3/ts/package-lock.json +48 -0
  82. hashsigs-0.2.1rc3/ts/package.json +39 -0
  83. hashsigs-0.2.1rc3/ts/scripts/copy-wasm.js +25 -0
  84. hashsigs-0.2.1rc3/ts/scripts/gen-wasm-inline.mjs +14 -0
  85. hashsigs-0.2.1rc3/ts/src/index.ts +334 -0
  86. hashsigs-0.2.1rc3/ts/src/loader.browser.ts +26 -0
  87. hashsigs-0.2.1rc3/ts/src/loader.node.ts +19 -0
  88. hashsigs-0.2.1rc3/ts/test/conformance.test.mjs +448 -0
  89. hashsigs-0.2.1rc3/ts/test/readme-examples.test.mjs +100 -0
  90. hashsigs-0.2.1rc3/ts/tsconfig.json +17 -0
@@ -0,0 +1,30 @@
1
+ # Cargo audit configuration
2
+ # This file documents known security advisories that we are aware of but cannot
3
+ # immediately fix due to transitive dependencies from third-party crates.
4
+
5
+ [advisories]
6
+ # Known security advisories that we are aware of but cannot immediately fix
7
+ # due to transitive dependencies from third-party crates (primarily Solana).
8
+ ignore = [
9
+ # Timing variability in curve25519-dalek's Scalar29::sub/Scalar52::sub
10
+ # This vulnerability comes from Solana's dependency on ed25519-dalek 1.0.1
11
+ # which uses curve25519-dalek 3.2.0. We are waiting for Solana to update
12
+ # their cryptographic dependencies to newer versions.
13
+ # Risk assessment: Low - This is a timing side-channel attack that would
14
+ # require local access and precise timing measurements to exploit.
15
+ "RUSTSEC-2024-0344",
16
+
17
+ # Double Public Key Signing Function Oracle Attack on ed25519-dalek
18
+ # This vulnerability also comes from Solana's dependency on ed25519-dalek 1.0.1.
19
+ # Risk assessment: Low - This attack requires the ability to get signatures
20
+ # on crafted messages, which is not possible in our use case.
21
+ "RUSTSEC-2022-0093",
22
+
23
+ # Unmaintained crates - these are warnings, not vulnerabilities
24
+ # These come from Solana's transitive dependencies and don't pose immediate
25
+ # security risks, just maintenance concerns.
26
+ "RUSTSEC-2024-0375", # atty is unmaintained
27
+ "RUSTSEC-2024-0388", # derivative is unmaintained
28
+ "RUSTSEC-2024-0436", # paste is unmaintained
29
+ "RUSTSEC-2021-0145" # atty potential unaligned read (unsound)
30
+ ]
@@ -0,0 +1,2 @@
1
+ [target.wasm32-unknown-unknown]
2
+ rustflags = ['--cfg', 'getrandom_backend="wasm_js"']
@@ -0,0 +1,21 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "cargo"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ # Ignore specific vulnerabilities that we've assessed and documented
8
+ ignore:
9
+ # Timing variability in curve25519-dalek - transitive from Solana
10
+ - dependency-name: "curve25519-dalek"
11
+ versions: ["3.2.0"]
12
+ # Double Public Key Signing Function Oracle Attack - transitive from Solana
13
+ - dependency-name: "ed25519-dalek"
14
+ versions: ["1.0.1"]
15
+ # Unmaintained crates - transitive from Solana, low risk
16
+ - dependency-name: "atty"
17
+ versions: ["0.2.14"]
18
+ - dependency-name: "derivative"
19
+ versions: ["2.2.0"]
20
+ - dependency-name: "paste"
21
+ versions: ["1.0.15"]
@@ -0,0 +1,37 @@
1
+ /target
2
+
3
+ .DS_Store
4
+
5
+ .cache
6
+ test-ledger
7
+ pkg
8
+ node_modules
9
+ tests/test_vectors/shrincs_stateful_k_gas_vector.json
10
+
11
+ # generated wasm-bindgen output + build artifacts for the ts/
12
+ # package (built in CI)
13
+ ts/dist
14
+ ts/src/nodejs
15
+ ts/src/web
16
+
17
+ # local prompt/planning scratch - not committed
18
+ _prompt_planning/
19
+
20
+ # Beads / Dolt files (added by bd init)
21
+ .dolt/
22
+ .beads/**/*.db
23
+ .beads-credential-key
24
+ .beads/proxieddb/
25
+ .beads.gate.lock
26
+
27
+ # Agent/tooling workspaces and instructions (local only)
28
+ .beads/
29
+ .agents/
30
+ .claude/
31
+ .codex/
32
+ CLAUDE.md
33
+
34
+ # Writable cargo home used by CI (must not collide with committed .cargo/)
35
+ .cargo-home/
36
+ .rustcheck/
37
+ .serena/
@@ -0,0 +1,6 @@
1
+ [*.{md,txt,rst}]
2
+ # SHRINCS/SPHINCS+ build-profile names ("128s", "256s", "q18", "q20") match
3
+ # Google.Units' digit+letter regex (it reads "128s" as "128 seconds"), but
4
+ # they are profile identifiers, not measurements. Disabling avoids degrading
5
+ # the profile names to satisfy a false positive.
6
+ Google.Units = NO