mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-29 07:34:31 +00:00
Resolves high-severity review findings: anachronistic dates aligned to citation floors; arithmetic corrected to match formulas; internal contradictions collapsed to the body-supported value; LP self-references aligned to filenames; liquidity-surface repo paths scrubbed; AI-slop trimmed. PDFs rebuilt separately.
89 lines
3.4 KiB
TeX
89 lines
3.4 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
\usepackage{../shared/hanzocover}
|
|
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage{amsmath,amssymb,amsthm}
|
|
\usepackage{algorithm,algorithmic}
|
|
\usepackage{graphicx}
|
|
\usepackage{hyperref}
|
|
\usepackage{booktabs}
|
|
\usepackage{listings}
|
|
\input{../shared/lstlang}
|
|
\usepackage{xcolor}
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{arrows.meta,positioning}
|
|
|
|
% Code listing style
|
|
\lstdefinelanguage{Solidity}{
|
|
keywords={pragma, contract, function, returns, memory, view, pure, public, private, internal, external, uint256, uint, bytes, address, mapping, require, assert, revert, for, if, else, while, return, new, this, assembly, let, mstore, add, mul, mod, sub},
|
|
keywordstyle=\color{blue}\bfseries,
|
|
ndkeywords={true, false, null, undefined},
|
|
ndkeywordstyle=\color{darkgray}\bfseries,
|
|
identifierstyle=\color{black},
|
|
sensitive=false,
|
|
comment=[l]{//},
|
|
morecomment=[s]{/*}{*/},
|
|
commentstyle=\color{purple}\ttfamily,
|
|
stringstyle=\color{red}\ttfamily,
|
|
morestring=[b]',
|
|
morestring=[b]"
|
|
}
|
|
|
|
\lstset{
|
|
language=Solidity,
|
|
backgroundcolor=\color{gray!5},
|
|
basicstyle=\footnotesize\ttfamily,
|
|
breakatwhitespace=false,
|
|
breaklines=true,
|
|
captionpos=b,
|
|
keepspaces=true,
|
|
numbers=left,
|
|
numbersep=5pt,
|
|
showspaces=false,
|
|
showstringspaces=false,
|
|
showtabs=false,
|
|
tabsize=2,
|
|
frame=single
|
|
}
|
|
|
|
% Theorem environments
|
|
\newtheorem{theorem}{Theorem}
|
|
\newtheorem{lemma}[theorem]{Lemma}
|
|
\newtheorem{proposition}[theorem]{Proposition}
|
|
\newtheorem{corollary}[theorem]{Corollary}
|
|
\newtheorem{definition}[theorem]{Definition}
|
|
\newtheorem{remark}[theorem]{Remark}
|
|
|
|
\title{NTT Transform: Enabling Post-Quantum Cryptography on EVM\\with 85\% Gas Reduction}
|
|
\author{
|
|
Zach Kelling\thanks{Corresponding author: [email protected]}\\
|
|
\textit{Lux Industries, Inc.}\\
|
|
\texttt{[email protected]}
|
|
}
|
|
\date{2024}
|
|
|
|
\begin{document}
|
|
|
|
\hanzocoverpage
|
|
|
|
\begin{abstract}
|
|
The advent of quantum computing poses an existential threat to current blockchain cryptographic systems, necessitating the rapid adoption of post-quantum algorithms. We present a highly optimized Number Theoretic Transform (NTT) implementation for the Ethereum Virtual Machine (EVM) that achieves an 85\% gas reduction for polynomial operations—from 24M gas to 3.6M gas for FALCON-512 signature verification. Our implementation enables practical deployment of NIST-standardized post-quantum algorithms including Dilithium (ML-DSA), FALCON, and SPHINCS+ on EVM-compatible chains. Through innovative Yul optimization techniques and memory layout strategies, we demonstrate that post-quantum cryptography is viable on current blockchain infrastructure without requiring protocol-level changes. This work represents the first production-ready NTT implementation for EVM, paving the way for quantum-resistant blockchain systems while maintaining backward compatibility with existing smart contract ecosystems.
|
|
\end{abstract}
|
|
|
|
\input{sections/01-introduction}
|
|
\input{sections/02-number-theoretic-transform-background}
|
|
\input{sections/03-ntt-algorithm}
|
|
\input{sections/04-evm-implementation}
|
|
\input{sections/05-gas-optimization-journey}
|
|
\input{sections/06-supported-post-quantum-algorithms}
|
|
\input{sections/07-use-cases}
|
|
\input{sections/08-benchmark-results}
|
|
\input{sections/09-comparison-with-other-chains}
|
|
\input{sections/10-security-analysis}
|
|
\input{sections/11-eip-proposal-status}
|
|
\input{sections/12-future-optimizations}
|
|
\input{sections/13-conclusion}
|
|
\input{sections/99-acknowledgments}
|
|
|
|
\end{document}
|