AG-2024.02-1637·cs.CR·cross-listed: quant-ph
Cryptomite: A versatile and user-friendly library of randomness extractors
Authors
- Cameron Foreman
- Richie Yeung
- Alec Edgington
- Florian J. Curchod
Abstract
We present Cryptomite, a Python library of randomness extractor implementations. The library offers a range of two-source, seeded and deterministic randomness extractors, together with parameter calculation modules, making it easy to use and suitable for a variety of applications. We also present theoretical results, including new extractor constructions and improvements to existing extractor parameters. The extractor implementations are efficient in practice and tolerate input sizes of up to $2^{40}>10^{12}$ bits. Contrary to alternatives using the fast Fourier transform, we implement convolutions efficiently using the number-theoretic transform to avoid rounding errors, making them well suited to cryptography. The algorithms and parameter calculation are described in detail, including illustrative code examples and performance benchmarking.
Submitted
13 February 20242 years ago
Version
v1
License
CC-BY-4.0
DOI
10.48550/arXiv.2402.09481
Summary
Cryptomite is a practical Python library implementing randomness extractors—tools that convert weak or biased random sources into high-quality randomness for cryptography—with efficient algorithms and new theoretical improvements.
- The library provides ready-to-use implementations of multiple extractor types (two-source, seeded, deterministic) that can handle massive inputs up to a trillion bits, removing barriers to practical deployment.
- By using number-theoretic transforms instead of standard Fourier methods, the code avoids floating-point rounding errors that could weaken cryptographic security.
- The paper includes new extractor constructions and parameter optimizations alongside detailed documentation and benchmarks, making it genuinely usable rather than just theoretically sound.
curious · generated by claude-haiku-4-5
Chat with this PDF
Ask questions, probe assumptions, request a plain-English summary. Answers cite sections from the preprint itself.
Community
Questions and answers about this paper from other readers. No formal peer review — just a place to think out loud.