mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
38 lines
2.7 KiB
TeX
38 lines
2.7 KiB
TeX
\section{Per-Algorithm Specification (Pointer)}
|
|
\label{sec:per-algorithm-spec}
|
|
|
|
LP-137 carries no per-algorithm formal content. Each primitive in the stack is specified in its own LP, organized one LP per algorithm. The full per-algorithm index lives in \texttt{LP-INDEX.md} of \texttt{luxfi/lps}. The scope covered here is the Lux GPU substrate (\S\ref{sec:architecture}), the byte-equality contract (\S\ref{sec:determinism-harness}), the GPU-residency invariant, and the production performance methodology (\S\ref{sec:performance}).
|
|
|
|
Per-algorithm LPs of immediate relevance to LP-137 are summarized in Table~\ref{tab:lp-pointers} below; consult each LP for parameters, algorithm pseudocode, KAT sources, implementation paths, and security analysis.
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{lll}
|
|
\toprule
|
|
\textbf{Family} & \textbf{Algorithm range} & \textbf{LPs}\\
|
|
\midrule
|
|
Hash & SHA-256, Keccak-256, RIPEMD-160, BLAKE2b, BLAKE3, Poseidon2 & 148, 149, 150, 151, 126, 069 \\
|
|
AEAD & AES-256-GCM, ChaCha20-Poly1305 & 116, 117 \\
|
|
Curve & secp256k1, secp256r1, Ed25519, Curve25519, X25519 & 147, 123, 124, 112, 114 \\
|
|
Curve (pairing) & BN254, BLS12-381, Banderwagon, Baby Jubjub, Pasta & 146, 075/110, 152, 111, 113 \\
|
|
Commitment & KZG, Pedersen, IPA, Verkle & 118, 119, 153, 026 \\
|
|
Lattice & NTT, poly\_mul & 029, 159 \\
|
|
PQ Sig & ML-DSA, SLH-DSA, FALCON, Lamport & 070, 071, 074, 156 \\
|
|
PQ KEM & ML-KEM, X-Wing & 072, 115 \\
|
|
Threshold & Pulsar, FROST, CGGMP21, Shamir, Universal & 073, 154, 155, 077, 076 \\
|
|
FHE & TFHE & 013, 066 \\
|
|
EVM Precompile & evm256, modexp & 157, 158 \\
|
|
Misc & ECVRF, ECIES, HPKE & 131, 121, 122 \\
|
|
Attestation & Remote (TEE) & 127 \\
|
|
\midrule
|
|
Accel kernel & batch-inv, multi-curve MSM, combined Miller, Karatsuba modexp, & 160, 161, 162, 163, \\
|
|
& six-step NTT, Pedersen tree-reduce, threshold pre-sign & 164, 165, 166 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Per-algorithm LP pointers. Each LP is the canonical formal spec for its primitive; LP-137 (this paper) is the GPU substrate that all of them share. LP-160 through LP-166 \cite{lp160,lp161,lp162,lp163,lp164,lp165,lp166} are acceleration kernels that consume one or more per-algorithm canonicals (e.g.\ LP-161 consumes LP-075/LP-110/LP-146/LP-147/LP-152) and ship under the same byte-equality contract.}
|
|
\label{tab:lp-pointers}
|
|
\end{table}
|
|
|
|
The LPs follow a uniform template (LP-148 SHA-256 \cite{fips180} is the model): \texttt{Abstract / Specification / Implementation / Test oracle / Security analysis / References}, with the \texttt{Implementation} block always linking the Go canonical, C++ CPU body, and Metal/CUDA/WGSL kernel paths.
|