mirror of
https://github.com/luxfi/pulsar.git
synced 2026-09-24 00:25:52 +00:00
The SP 800-185 primitives (cSHAKE256/KMAC256 + LeftEncode/RightEncode/
EncodeString/BytePad) now live solely in github.com/luxfi/mlwe/transcript,
the single hash surface shared with Corona. Pulsar keeps only what is
protocol-specific:
- the customisation tags and N="Pulsar" function name,
- cshake256/kmac256 Pulsar-named entries (bodies delegate to mlwe),
- transcriptHash/transcriptHash32 (Pulsar's length-prefixed digest,
NOT SP 800-185 TupleHash256 — re-expressed over the shared encoders).
Deleted the duplicate encoder/primitive bodies; routed the six direct
encoder callers (abort, threshold, protocol_auth, dkg_wellformed_proof,
nonce_transcript_proof, partial_proof) to transcript.LeftEncode/EncodeString.
Byte-identity gate: x/crypto resolves to v0.52.0 (== baseline, no skew);
golden vectors unchanged; KAT replays pass byte-identical (9 keygen, 9 sign,
6 verify, 4 threshold-sign, 3 DKG); full suite green.
Matches the Corona onto-mlwe precedent (keep protocol hash methods, route
bodies; generic encoders called directly). Mirrors corona refactor/onto-mlwe.
26 lines
802 B
AMPL
26 lines
802 B
AMPL
module github.com/luxfi/pulsar
|
|
|
|
go 1.26.4
|
|
|
|
require (
|
|
github.com/cloudflare/circl v1.6.3
|
|
github.com/luxfi/dkg v0.3.5
|
|
github.com/luxfi/lattice/v7 v7.1.4
|
|
github.com/luxfi/mlwe v0.2.0
|
|
golang.org/x/crypto v0.52.0
|
|
)
|
|
|
|
require (
|
|
github.com/ALTree/bigfloat v0.2.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/google/go-cmp v0.7.0 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
|
github.com/luxfi/math v1.4.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/stretchr/testify v1.11.1 // indirect
|
|
github.com/zeebo/blake3 v0.2.4 // indirect
|
|
golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 // indirect
|
|
golang.org/x/sys v0.45.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
)
|