mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-29 04:32:13 +00:00
69 lines
2.9 KiB
TeX
69 lines
2.9 KiB
TeX
\section{Cryptography: Lux Crypto}
|
|
|
|
\label{sec:crypto}
|
|
%% ============================================================================
|
|
|
|
\subsection{Overview}
|
|
|
|
Lux Crypto is a post-quantum cryptographic library implementing FIPS~203 (ML-KEM, key encapsulation), FIPS~204 (ML-DSA, digital signatures), and FIPS~205 (SLH-DSA, stateless hash-based signatures). The library is written in Go with assembly-optimized inner loops for x86-64 (AVX2) and ARM64 (NEON).
|
|
|
|
\subsection{Feature Matrix}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Cryptographic library comparison.}
|
|
\footnotesize
|
|
\begin{tabular}{@{}lcccc@{}}
|
|
\toprule
|
|
Feature & \rotatebox{60}{Lux Crypto} & \rotatebox{60}{libsodium} & \rotatebox{60}{OpenSSL} & \rotatebox{60}{BoringSSL} \\
|
|
\midrule
|
|
ML-KEM (FIPS 203) & \yes & \no & \pmark & \pmark \\
|
|
ML-DSA (FIPS 204) & \yes & \no & \pmark & \pmark \\
|
|
SLH-DSA (FIPS 205) & \yes & \no & \no & \no \\
|
|
Ed25519 & \yes & \yes & \yes & \yes \\
|
|
X25519 & \yes & \yes & \yes & \yes \\
|
|
AES-256-GCM & \yes & \yes & \yes & \yes \\
|
|
ChaCha20-Poly1305 & \yes & \yes & \yes & \yes \\
|
|
Argon2id & \yes & \yes & \no & \no \\
|
|
HKDF & \yes & \yes & \yes & \yes \\
|
|
AVX2 accel. & \yes & \yes & \yes & \yes \\
|
|
NEON accel. & \yes & \yes & \yes & \yes \\
|
|
Go native & \yes & \no & \no & \no \\
|
|
FIPS certified & Pending & \no & \yes & \yes \\
|
|
Constant-time & \yes & \yes & \yes & \yes \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Performance}
|
|
|
|
Benchmarked on AMD EPYC 7R13 (AVX2 enabled):
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Cryptographic operation throughput.}
|
|
\footnotesize
|
|
\begin{tabular}{@{}lrr@{}}
|
|
\toprule
|
|
Operation & Lux Crypto & OpenSSL 3.3 \\
|
|
\midrule
|
|
ML-KEM-768 keygen & 48,200/s & N/A \\
|
|
ML-KEM-768 encaps & 41,500/s & 38,200/s \\
|
|
ML-KEM-768 decaps & 39,800/s & 35,100/s \\
|
|
ML-DSA-65 sign & 22,400/s & 19,800/s \\
|
|
ML-DSA-65 verify & 68,300/s & 62,100/s \\
|
|
Ed25519 sign & 52,100/s & 54,300/s \\
|
|
Ed25519 verify & 18,600/s & 19,200/s \\
|
|
AES-256-GCM (1KB) & 4.8~GB/s & 5.1~GB/s \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Lux Crypto is competitive with OpenSSL on classical algorithms (within 5\%) and faster on post-quantum algorithms (8--10\% advantage on ML-KEM and ML-DSA) due to Go-native assembly kernels that avoid CGo overhead. OpenSSL 3.3's PQ implementations are marked experimental; BoringSSL's ML-KEM support landed in 2025 but ML-DSA and SLH-DSA remain absent.
|
|
|
|
\subsection{Key Differentiator}
|
|
|
|
Lux Crypto is the only cryptographic library that provides all three NIST post-quantum standards (FIPS~203, 204, 205) in a production-ready, Go-native package with assembly-optimized performance. libsodium has no PQ support. OpenSSL and BoringSSL have partial, experimental PQ support. The Go-native implementation eliminates CGo overhead, which matters in high-throughput blockchain validators that perform millions of signature verifications per second.
|
|
|
|
%% ============================================================================
|