mirror of
https://github.com/luxfi/dkg.git
synced 2026-10-30 16:58:45 +00:00
The one ring abstraction both consumers bind onto, adapting
luxfi/lattice/v7/ring. A *Profile is the single place a scheme's
parameters live (ring, module shape K×L, public Pedersen matrices A/B,
secret distribution chi, KeyFinalize). Everything above is generic.
- ring.go : Ring wrapper at fixed (n,q); Poly/Vector/Matrix aliases.
- ops.go : module algebra (MatVecMul NTT-Mont, CT compare, NUMS
matrix derivation, Gaussian + bounded-uniform samplers),
ported verbatim from corona/utils + dkg2 domain convention.
- fips204.go: FIPS-204 Power2Round/Decompose (verbatim, circl-identical).
- profiles : Ringtail() (corona K=8xL=7, q=48-bit, Gaussian, round-Xi)
and MLDSA65() (pulsar K=6xL=5, q=23-bit, uniform-eta, t1).
Ringtail matrices use corona's exact NUMS tags so Phase-3 wiring
reproduces corona group keys byte-for-byte. Tests: profiles construct,
matrices deterministic + domain-separated, samplers in-range,
Power2Round obeys the FIPS-204 reconstruction identity, CT compare.
6 lines
258 B
Plaintext
6 lines
258 B
Plaintext
Copyright (C) 2025-2026, Lux Industries Inc. All rights reserved.
|
|
|
|
Use of this source code is governed by a BSD-3-Clause-style license that
|
|
can be found in the luxfi organization LICENSE terms. See
|
|
https://github.com/luxfi for the canonical licensing terms.
|