Add paper, more minor doc updates
Some checks failed
CI / lint (push) Successful in 1m37s
CI / test-python (push) Successful in 1m45s
CI / test-zig (push) Successful in 1m37s
CI / test-wasm (push) Successful in 1m52s
CI / test (push) Successful in 13m50s
CI / miri (push) Successful in 13m48s
CI / build (push) Successful in 1m10s
CI / fuzz-regression (push) Successful in 9m16s
CI / publish (push) Failing after 55s
CI / publish-python (push) Failing after 1m40s
CI / publish-wasm (push) Failing after 1m49s
Some checks failed
CI / lint (push) Successful in 1m37s
CI / test-python (push) Successful in 1m45s
CI / test-zig (push) Successful in 1m37s
CI / test-wasm (push) Successful in 1m52s
CI / test (push) Successful in 13m50s
CI / miri (push) Successful in 13m48s
CI / build (push) Successful in 1m10s
CI / fuzz-regression (push) Successful in 9m16s
CI / publish (push) Failing after 55s
CI / publish-python (push) Failing after 1m40s
CI / publish-wasm (push) Failing after 1m49s
Signed-off-by: Kamal Tufekcic <kamal@lo.sh>
This commit is contained in:
parent
e6d0a1ef1a
commit
793b00ff4b
198 changed files with 2254 additions and 21 deletions
14
Abstract.md
14
Abstract.md
|
|
@ -73,16 +73,16 @@ HybridSig combines Ed25519 (classical) and ML-DSA-65 (post-quantum). Key pairs
|
|||
satisfy pk = (pk_E, pk_P), sk = (sk_E, sk_P).
|
||||
|
||||
**Sign(sk, m)** → σ = (σ_E ‖ σ_P): both components computed independently and
|
||||
concatenated. ML-DSA-65 uses hedged signing via `sign_internal` (FIPS 204 §5.2 /
|
||||
Algorithm 2); fresh randomness is mixed per signing operation for
|
||||
concatenated. ML-DSA-65 uses hedged signing via `sign_internal` (FIPS 204 §6.2 /
|
||||
Algorithm 7); fresh randomness is mixed per signing operation for
|
||||
fault-injection resistance. **FIPS 204 compatibility note**: The implementation
|
||||
calls `sign_internal` directly — the raw internal signing function with no
|
||||
context string or domain prefix. This is structurally incompatible with FIPS 204
|
||||
§6.2 (`ML-DSA.Sign`, which prepends a context-dependent domain separator before
|
||||
calling `sign_internal`). A FIPS 204 §6.2 verifier expecting the domain-prefixed
|
||||
message format will reject Soliton ML-DSA-65 signatures. A formal model or test
|
||||
vector suite must use the `sign_internal` / `verify_internal` interface, not the
|
||||
§6.2 external interface. For adversary models that include fault injection,
|
||||
§5.2 (`ML-DSA.Sign` / Algorithm 2, which prepends a context-dependent domain
|
||||
separator before calling `sign_internal`). A FIPS 204 §5.2 verifier expecting
|
||||
the domain-prefixed message format will reject Soliton ML-DSA-65 signatures. A
|
||||
formal model or test vector suite must use the `sign_internal` /
|
||||
`verify_internal` interface, not the §5.2 external interface. For adversary models that include fault injection,
|
||||
hedged signing provides resistance to differential fault analysis that
|
||||
deterministic signing does not. **RNG implication**: Every HybridSig.Sign
|
||||
invocation consumes randomness (from ML-DSA-65's hedged component). In the §8.2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue