mirror of
https://github.com/luxfi/threshold.git
synced 2026-07-27 04:01:59 +00:00
rename: Corona → Corona (canonical R-LWE threshold)
Removes all Corona references in favor of the canonical name Corona, which is the production R-LWE threshold primitive shipping with the Lux Quasar consensus stack. Drops protocols/lss/forbid_academic_rlwe_test.go — the regression guard that policed imports of luxfi/corona is no longer needed now that Corona is the only name in the codebase.
This commit is contained in:
@@ -1,69 +0,0 @@
|
||||
// Copyright (C) 2025-2026, Lux Industries Inc. All rights reserved.
|
||||
// See the file LICENSE for licensing terms.
|
||||
|
||||
// Regression guard for the LSS-Pulsar / LSS-Lens adapters. The
|
||||
// production R-LWE path is luxfi/corona; the Module-LWE Threshold
|
||||
// path is luxfi/pulsar; the academic upstream forks (luxfi/corona,
|
||||
// luxfi/nasua) are research-only and MUST NOT appear in production
|
||||
// import graphs.
|
||||
//
|
||||
// This test fails CI if either lss_pulsar.go or lss_lens.go imports
|
||||
// any of the academic-fork module paths directly. Other files in
|
||||
// this package are out of scope.
|
||||
|
||||
package lss
|
||||
|
||||
import (
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// TestLSSAdaptersForbidAcademicRLWE — fails if either lss_pulsar.go
|
||||
// or lss_lens.go imports an academic-fork R-LWE library directly.
|
||||
// Production R-LWE goes through luxfi/corona; Module-LWE Threshold
|
||||
// goes through luxfi/pulsar.
|
||||
func TestLSSAdaptersForbidAcademicRLWE(t *testing.T) {
|
||||
pkgDir, err := os.Getwd()
|
||||
if err != nil {
|
||||
t.Fatalf("os.Getwd: %v", err)
|
||||
}
|
||||
files := []string{"lss_pulsar.go", "lss_lens.go"}
|
||||
|
||||
forbiddenPrefixes := []string{
|
||||
"github.com/luxfi/corona",
|
||||
"github.com/luxfi/nasua",
|
||||
}
|
||||
|
||||
fset := token.NewFileSet()
|
||||
var violations []string
|
||||
for _, base := range files {
|
||||
path := filepath.Join(pkgDir, base)
|
||||
src, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
t.Fatalf("read %s: %v", base, err)
|
||||
}
|
||||
file, err := parser.ParseFile(fset, path, src, parser.ImportsOnly)
|
||||
if err != nil {
|
||||
t.Fatalf("parse imports %s: %v", base, err)
|
||||
}
|
||||
for _, imp := range file.Imports {
|
||||
ip := strings.Trim(imp.Path.Value, "\"")
|
||||
for _, forbidden := range forbiddenPrefixes {
|
||||
if strings.HasPrefix(ip, forbidden) {
|
||||
violations = append(violations,
|
||||
base+": forbidden import "+ip)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(violations) > 0 {
|
||||
t.Fatalf("LSS adapters must not import academic-fork R-LWE "+
|
||||
"libraries directly. Production R-LWE = luxfi/corona; "+
|
||||
"production Module-LWE Threshold = luxfi/pulsar.\n\n"+
|
||||
"Violations:\n %s", strings.Join(violations, "\n "))
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
# 1. Both adapters' lineage / set-rotation / signing / pairwise /
|
||||
# rollback / activation-transcript tests pass (deterministic).
|
||||
# 2. The deterministic KAT-style regen for corona vectors that
|
||||
# 2. The deterministic KAT-style regen for Corona vectors that
|
||||
# lss_pulsar_test.go pulls in via pulsarThreshold also passes.
|
||||
#
|
||||
# Output:
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ break against MLWE/RLWE leaves it standing.
|
||||
- All build under `lake build Crypto`.
|
||||
- **Papers**:
|
||||
- `papers/lp-073-pulsar/lp-073-pulsar.tex`
|
||||
- `papers/lux-corona-pq/lux-corona-pq.tex` (legacy filename)
|
||||
- `papers/lux-corona-pq/lux-corona-pq.tex`
|
||||
- `papers/lp-074-magnetar/` — open.
|
||||
- **Go implementations**:
|
||||
- `~/work/lux/pulsar/` + `~/work/lux/pulsar-mptc/` (NIST MPTC)
|
||||
|
||||
+1
-4
@@ -39,7 +39,7 @@ Z, Δ)` — a 33,052-byte triple of ring polynomials.
|
||||
| `~/work/lux/corona/dkg/`, `dkg2/` | DKG protocols |
|
||||
| `~/work/lux/precompile/corona/` | EVM precompile at 0x012206 |
|
||||
| `~/work/lux/proofs/lean/Crypto/Corona.lean` | Lean structural proof |
|
||||
| `~/work/lux/papers/lux-corona-pq/lux-corona-pq.tex` | Paper (filename retains pre-rename `corona` qualifier; content describes Corona) |
|
||||
| `~/work/lux/papers/lux-corona-pq/lux-corona-pq.tex` | Paper |
|
||||
| `~/work/lux/threshold/protocols/corona/` | Threshold-protocol library entry point |
|
||||
|
||||
## Parameter set
|
||||
@@ -68,9 +68,6 @@ defense-in-depth lattice-diversity layer, not a security-tier upgrade.
|
||||
from Magnetar (hash) in the Nova cert profile.
|
||||
- No EasyCrypt / Jasmin high-assurance track for Corona yet (Pulsar
|
||||
has both at theory-shell level).
|
||||
- Paper file at `papers/lux-corona-pq/lux-corona-pq.tex` retains
|
||||
the old `corona` filename; rename to `lux-corona-pq.tex` is a
|
||||
pending tidy-up.
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
Reference in New Issue
Block a user