Paper 2026/008

A SNARK for (Non-)Subsequences with Text-Sub-Linear Proving Time

Dario Fiore, IMDEA Software Institute
San Ling, Nanyang Technological University, VinUniversity
Khai Hanh Tang, Nanyang Technological University
Hong Hanh Tran, FPT University
Huaxiong Wang, Nanyang Technological University
Yingfei Yan, University Clermont Auvergne
Abstract

A keyword $\mathbf{s}$ is a subsequence of a text $\mathbf{t}$ if $\mathbf{s}$ can be obtained by deleting some characters from $\mathbf{t}$; otherwise, $\mathbf{s}$ is a non-subsequence of $\mathbf{t}$. (Non-)subsequence relationships arise in various fields, including genetic analysis, blockchains, and natural language processing. Recently, Ling et al. (SCN 2024) proposed a succinct argument for non-subsequences based on multivariate sumcheck (Lund et al., FOCS 1990) whose prover's running time is at least $\mathcal{O}(n + N + |\Sigma|)$, where $n$ and $N$ are respectively the lengths of strings $\mathbf{s}$ and $\mathbf{t}$, and $\Sigma$ is the alphabet over which $\mathbf{s}$ and $\mathbf{t}$ are defined. As shown in their work, proving non-subsequence relationships is non-trivial since one needs to decompose such an argument into smaller components for sumcheck, permutation, and lookup. We propose a subsequence scheme that separates proving (non-)subsequences into the following two phases: (i) a preprocessing phase and (ii) a (non-)subsequence proving phase, assuming $n \ll N$ (i.e., $|\mathbf{s}| \ll |\mathbf{t}|$). Specifically, we can generate a one-time preprocessing proof with inputs $\mathbf{t}$ and $\Sigma$, without any knowledge of $\mathbf{s}$. When $\mathbf{s}$ is known, we can determine whether $\mathbf{s}$ is a subsequence of $\mathbf{t}$ and prove the corresponding statement. Employing cached quotients (IACR ePrint 2022/1763), we achieve a running time quasi-linear in $N + |\Sigma|$ for preprocessing, while the running time of proving a (non-)subsequence relationship is $\mathcal{O}(n \log_2 (N + |\Sigma|))$ for each query $\mathbf{s}$. Since $n \ll N$ and $\log_2(N + |\Sigma|)$ grows sub-linearly with the text size, this saves the prover's running time, assuming a preprocessing depending only on $\mathbf{t}$ is computed in advance. Hence, we achieve a \textit{text-sub-linear} proving time.

Metadata
Available format(s)
PDF
Category
Public-key cryptography
Publication info
Published elsewhere. Major revision. ESORICS 2026
Keywords
SNARKlookup argumentcached quotients
Contact author(s)
dario fiore @ imdea org
lingsan @ ntu edu sg
khaihanh tang @ ntu edu sg
hanhth12 @ fe edu vn
hxwang @ ntu edu sg
yingfei yan @ uca fr
History
2026-04-27: last of 3 revisions
2026-01-04: received
See all versions
Short URL
https://ia.cr/2026/008
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2026/008,
      author = {Dario Fiore and San Ling and Khai Hanh Tang and Hong Hanh Tran and Huaxiong Wang and Yingfei Yan},
      title = {A {SNARK} for (Non-)Subsequences with Text-Sub-Linear Proving Time},
      howpublished = {Cryptology {ePrint} Archive, Paper 2026/008},
      year = {2026},
      url = {https://eprint.iacr.org/2026/008}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.