mirror of
https://github.com/luxfi/precompile.git
synced 2026-07-27 03:33:45 +00:00
corona → corona — final sweep (live source clean)
Follow-up to the main rename: caught README/PRIMER/LLM/MDX/Sol that survived the first pass. Live source greps clean now (audit output: /private/tmp/.../tasks/bs3iodq61.output → only build artifacts + vendor/ + binaries remain, which auto-regenerate).
This commit is contained in:
+2
-2
@@ -93,7 +93,7 @@ Since Go 1.24, `crypto/rand.Read` never returns an error [2]. Error checks on
|
||||
| `x25519/deep_test.go` | 112-113 | `_, _ = rand.Read(...)` | `rand.Read(...)` |
|
||||
| `curve25519/deep_test.go` | 213 | `_, err := rand.Read(buf[:])` | `rand.Read(buf[:])` |
|
||||
| `xwing/contract_test.go` | 130 | `_, err := rand.Read(garbage)` | `rand.Read(garbage)` |
|
||||
| `corona/contract_test.go` | 227 | `if _, err := rand.Read(prfKey); err != nil` | `rand.Read(prfKey)` |
|
||||
| `Corona/contract_test.go` | 227 | `if _, err := rand.Read(prfKey); err != nil` | `rand.Read(prfKey)` |
|
||||
| `ed25519/security_test.go` | 34,75 | `_, _ = rand.Read(message)` | `rand.Read(message)` |
|
||||
| `ring/security_test.go` | 55,152 | `_, _ = rand.Read(...)` | `rand.Read(...)` |
|
||||
|
||||
@@ -215,7 +215,7 @@ calibrated to unoptimized builds).
|
||||
**Hot paths for profiling** (by test duration):
|
||||
- `fhe`: 71.8s (FHE is inherently slow; PGO helps most here)
|
||||
- `pqcrypto`: 4.7s
|
||||
- `corona`: 4.8s
|
||||
- `Corona`: 4.8s
|
||||
- `slhdsa`: 3.7s
|
||||
- `zk`: 3.8s
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ All crypto-heavy precompiles have GPU fast paths via `github.com/luxfi/accel` an
|
||||
node. Removed; awaiting a real accel SLH-DSA kernel.
|
||||
- `frost/` -- `accelcrypto.BatchVerify(SigECDSA, ...)` for Schnorr verification
|
||||
- `cggmp21/` -- `accelcrypto.BatchVerify(SigECDSA, ...)` for ECDSA verification
|
||||
- `corona/` -- `accellattice.NTTForward()` for polynomial deserialization (Ring-LWE threshold; renamed from corona in LP-4200)
|
||||
- `corona/` -- `accellattice.NTTForward()` for polynomial deserialization (Ring-LWE threshold; renamed from Corona in LP-4200)
|
||||
- `blake3/` -- `accelcrypto.Hash(HashBlake3, ...)` for hash256 and Merkle tree batch hashing
|
||||
- `fhe/` -- `accelfhe.Add/Sub/Multiply` in `performFHEOperation()` GPU fast path
|
||||
|
||||
@@ -267,7 +267,7 @@ Example hook implementations:
|
||||
|---------|------|---------|-------------|-----|
|
||||
| 0x0800 | FROST | frost/ | Schnorr threshold signatures | 25,000 |
|
||||
| 0x0801 | CGGMP21 | cggmp21/ | ECDSA threshold signatures | 50,000 |
|
||||
| 0x0802 | CORONA | corona/ | Threshold lattice signatures (PQ) | 75,000 |
|
||||
| 0x0802 | CORONA | Corona/ | Threshold lattice signatures (PQ) | 75,000 |
|
||||
|
||||
#### ZK Proofs (0x0900-0x09FF)
|
||||
| Address | Name | Package | Description | Gas |
|
||||
@@ -1171,7 +1171,7 @@ EVM interface to QuantumVM for post-quantum security:
|
||||
│ └── verifier.go
|
||||
├── quasar/ # Quantum consensus
|
||||
├── ring/ # Ring signatures
|
||||
├── corona/ # Pulsar threshold
|
||||
├── Corona/ # Pulsar threshold
|
||||
├── secp256r1/ # P-256 curve
|
||||
├── slhdsa/ # SLH-DSA signatures
|
||||
├── threshold/ # Threshold precompiles (0x0800-0x0813) [NEW]
|
||||
|
||||
@@ -98,7 +98,7 @@ Post-quantum cryptography replaces the hardness assumption.
|
||||
| `mldsa` | `0x0200..06` | FIPS 204 (ML-DSA) | Module-LWE + Module-SIS |
|
||||
| `mlkem` | `0x0200..07` | FIPS 203 (ML-KEM) | Module-LWE |
|
||||
| `slhdsa` | `0x0600..01` | FIPS 205 (SLH-DSA (FIPS 205, formerly SPHINCS+)) | Hash-based (no structured math) |
|
||||
| `corona` | `0x0200..0B` | — | LWE threshold signatures |
|
||||
| `Corona` | `0x0200..0B` | — | LWE threshold signatures |
|
||||
| `xwing` | `0x2221` | Draft hybrid | X25519 + ML-KEM-768 |
|
||||
|
||||
**NIST standardized ML-DSA, ML-KEM, and SLH-DSA in 2024.** That's the
|
||||
|
||||
@@ -21,7 +21,7 @@ Geth provides `NewPrecompileAdapter()` to wrap these into geth-compatible precom
|
||||
|---------|---------|-------------|-----|
|
||||
| `frost` | `0x0800...0002` | FROST Schnorr threshold verify (secp256k1/Ed25519) | 50k + 5k/signer |
|
||||
| `cggmp21` | `0x0800...0003` | CGGMP21 threshold ECDSA verify (secp256k1) | 75k + 10k/signer |
|
||||
| `corona` | `0x0200...000B` | Ring-LWE lattice threshold verify (post-quantum) | 150k + 10k/party |
|
||||
| `Corona` | `0x0200...000B` | Ring-LWE lattice threshold verify (post-quantum) | 150k + 10k/party |
|
||||
|
||||
### Curves & Signatures
|
||||
|
||||
|
||||
+2
-2
@@ -72,7 +72,7 @@ The test suite is broad (341+ tests across 62 files) but shallow in exactly the
|
||||
| `verifySLHDSAGPU` — exported but untested | **MEDIUM** |
|
||||
| Gas = 0 (only tested once via `TestSLHDSAVerify_OutOfGas` with gas=1000, not gas=0) | **LOW** |
|
||||
|
||||
### 1.6 Pulsar Lattice Threshold (corona/)
|
||||
### 1.6 Pulsar Lattice Threshold (Corona/)
|
||||
|
||||
| Missing Test | Severity |
|
||||
|-------------|----------|
|
||||
@@ -173,7 +173,7 @@ No package has a complete gas edge case test suite. The required tests per preco
|
||||
| Test | Packages That Have It | Packages Missing It |
|
||||
|------|----------------------|---------------------|
|
||||
| gas = 0 | NONE | ALL |
|
||||
| gas = RequiredGas - 1 | ed25519 (implicitly) | frost, cggmp21, mldsa, slhdsa, corona, blake3, kzg4844, pqcrypto, mlkem, secp256r1, x25519, xwing, fhe, quantum, quasar, bls12381, babyjubjub, curve25519, pasta, pedersen, poseidon, hpke, ring, math, stableswap, compute |
|
||||
| gas = RequiredGas - 1 | ed25519 (implicitly) | frost, cggmp21, mldsa, slhdsa, Corona, blake3, kzg4844, pqcrypto, mlkem, secp256r1, x25519, xwing, fhe, quantum, quasar, bls12381, babyjubjub, curve25519, pasta, pedersen, poseidon, hpke, ring, math, stableswap, compute |
|
||||
| gas = RequiredGas (exact) | mldsa, slhdsa | Most others supply excess gas |
|
||||
| gas = max uint64 | contract (partial) | ALL precompile packages |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user