Files
zeekay f9db4f5737 Publish under the org, not a person
Bylines, paper authorship, correspondence addresses and the founder blurb under
each post named an individual. They name the organisation that published the
work instead: the brand on posts and pages, the research byline on papers, and
research@ in place of a personal address. Both are what these repositories
already used elsewhere — nothing new was coined.

Co-authors are untouched. Where a paper named someone else alongside, they stay
named; only the one byline changed. Bibliography entries, running heads,
PDF metadata and affiliations move with it, so a citation still resolves to
whoever the cited paper names.

Sample and fixture data uses the placeholder name these tests already use
elsewhere, so no assertion changed meaning.
2026-09-01 08:53:13 -07:00

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{
Hanzo AI Research\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}