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. They are also numerically precise (implementing convolutions using the Number Theoretic Transform to avoid floating point arithmetic), making them well suited to cryptography. The algorithms and parameter calculation are described in detail, including illustrative code examples and performance benchmarking.
翻译:我们提出Cryptomite,这是一个包含随机性提取器实现的Python库。该库提供了一系列双源、种子型和确定型随机性提取器,并配有参数计算模块,使其易于使用并适用于多种应用场景。我们还展示了理论成果,包括新的提取器构造以及对现有提取器参数的改进。这些提取器实现效率高,能处理高达$2^{40} > 10^{12}$比特的输入规模,并且在数值上精确(利用数论变换实现卷积以避免浮点算术),因此特别适合密码学应用。本文详细描述了算法和参数计算方法,并附有说明性代码示例和性能基准测试。