mirror of
https://github.com/luxfi/precompile.git
synced 2026-09-24 00:26:21 +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(...)` |
|
| `x25519/deep_test.go` | 112-113 | `_, _ = rand.Read(...)` | `rand.Read(...)` |
|
||||||
| `curve25519/deep_test.go` | 213 | `_, err := rand.Read(buf[:])` | `rand.Read(buf[:])` |
|
| `curve25519/deep_test.go` | 213 | `_, err := rand.Read(buf[:])` | `rand.Read(buf[:])` |
|
||||||
| `xwing/contract_test.go` | 130 | `_, err := rand.Read(garbage)` | `rand.Read(garbage)` |
|
| `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)` |
|
| `ed25519/security_test.go` | 34,75 | `_, _ = rand.Read(message)` | `rand.Read(message)` |
|
||||||
| `ring/security_test.go` | 55,152 | `_, _ = rand.Read(...)` | `rand.Read(...)` |
|
| `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):
|
**Hot paths for profiling** (by test duration):
|
||||||
- `fhe`: 71.8s (FHE is inherently slow; PGO helps most here)
|
- `fhe`: 71.8s (FHE is inherently slow; PGO helps most here)
|
||||||
- `pqcrypto`: 4.7s
|
- `pqcrypto`: 4.7s
|
||||||
- `corona`: 4.8s
|
- `Corona`: 4.8s
|
||||||
- `slhdsa`: 3.7s
|
- `slhdsa`: 3.7s
|
||||||
- `zk`: 3.8s
|
- `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.
|
node. Removed; awaiting a real accel SLH-DSA kernel.
|
||||||
- `frost/` -- `accelcrypto.BatchVerify(SigECDSA, ...)` for Schnorr verification
|
- `frost/` -- `accelcrypto.BatchVerify(SigECDSA, ...)` for Schnorr verification
|
||||||
- `cggmp21/` -- `accelcrypto.BatchVerify(SigECDSA, ...)` for ECDSA 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
|
- `blake3/` -- `accelcrypto.Hash(HashBlake3, ...)` for hash256 and Merkle tree batch hashing
|
||||||
- `fhe/` -- `accelfhe.Add/Sub/Multiply` in `performFHEOperation()` GPU fast path
|
- `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 |
|
| 0x0800 | FROST | frost/ | Schnorr threshold signatures | 25,000 |
|
||||||
| 0x0801 | CGGMP21 | cggmp21/ | ECDSA threshold signatures | 50,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)
|
#### ZK Proofs (0x0900-0x09FF)
|
||||||
| Address | Name | Package | Description | Gas |
|
| Address | Name | Package | Description | Gas |
|
||||||
@@ -1171,7 +1171,7 @@ EVM interface to QuantumVM for post-quantum security:
|
|||||||
│ └── verifier.go
|
│ └── verifier.go
|
||||||
├── quasar/ # Quantum consensus
|
├── quasar/ # Quantum consensus
|
||||||
├── ring/ # Ring signatures
|
├── ring/ # Ring signatures
|
||||||
├── corona/ # Pulsar threshold
|
├── Corona/ # Pulsar threshold
|
||||||
├── secp256r1/ # P-256 curve
|
├── secp256r1/ # P-256 curve
|
||||||
├── slhdsa/ # SLH-DSA signatures
|
├── slhdsa/ # SLH-DSA signatures
|
||||||
├── threshold/ # Threshold precompiles (0x0800-0x0813) [NEW]
|
├── 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 |
|
| `mldsa` | `0x0200..06` | FIPS 204 (ML-DSA) | Module-LWE + Module-SIS |
|
||||||
| `mlkem` | `0x0200..07` | FIPS 203 (ML-KEM) | Module-LWE |
|
| `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) |
|
| `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 |
|
| `xwing` | `0x2221` | Draft hybrid | X25519 + ML-KEM-768 |
|
||||||
|
|
||||||
**NIST standardized ML-DSA, ML-KEM, and SLH-DSA in 2024.** That's the
|
**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 |
|
| `frost` | `0x0800...0002` | FROST Schnorr threshold verify (secp256k1/Ed25519) | 50k + 5k/signer |
|
||||||
| `cggmp21` | `0x0800...0003` | CGGMP21 threshold ECDSA verify (secp256k1) | 75k + 10k/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
|
### 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** |
|
| `verifySLHDSAGPU` — exported but untested | **MEDIUM** |
|
||||||
| Gas = 0 (only tested once via `TestSLHDSAVerify_OutOfGas` with gas=1000, not gas=0) | **LOW** |
|
| 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 |
|
| 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 |
|
| Test | Packages That Have It | Packages Missing It |
|
||||||
|------|----------------------|---------------------|
|
|------|----------------------|---------------------|
|
||||||
| gas = 0 | NONE | ALL |
|
| 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 = RequiredGas (exact) | mldsa, slhdsa | Most others supply excess gas |
|
||||||
| gas = max uint64 | contract (partial) | ALL precompile packages |
|
| gas = max uint64 | contract (partial) | ALL precompile packages |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user