Table of Contents
Fetching ...

IID-Based QPP-RNG: A Random Number Generator Utilizing Random Permutation Sorting Driven by System Jitter

Randy Kuang, Dafu Lou

TL;DR

The IID-based QPP-RNG tackles the challenge of obtaining cryptographic-grade IID randomness by marrying Quantum Permutation Pads with system jitter-derived entropy. It derives 8-bit IID outputs from the permutation count $N$ via $d = N mod 256$, while continuously refreshing the internal seed with jitter to maintain unpredictability, and it relies on the expansive quantum permutation space $2^n!$ to provide post-quantum security. Empirical results show near-ideal randomness across macOS (x86/ARM) and Windows (x86), with Shannon entropy around $7.9999$ bits/byte and min-entropy in the $7.85$–$7.95$ bits/byte range per NIST SP 800-90B, validating cryptographic suitability. The work presents a software-only, scalable RNG that resists seed determinism, adapts to platform clock resolutions, and holds promise for broad cryptographic deployment in a post-quantum era.

Abstract

We propose a groundbreaking random number generator that achieves truly uniform, independent, and identically distributed (IID) randomness by integrating Quantum Permutation Pads (QPP) with system jitter--derived entropy, herein called IID-based QPP-RNG. Unlike conventional RNGs that use raw timing variations, our design uses system jitter solely to generate ephemeral QPP pads and derives 8-bit outputs directly from permutation counts, eliminating the need for post-processing. This approach leverages the factorial complexity of permutation sorting to systematically accumulate entropy from dynamic hardware interactions, ensuring non-deterministic outputs even from fixed seeds. Notably, IID-based QPP-RNG achieves a min-entropy of 7.85-7.95 bits per byte from IID min-entropy estimate, surpassing ID Quantique's QRNG (7.157042 bits per byte), which marks a breakthrough in randomness quality. Our implementation employs a dynamic seed evolution protocol that continuously refreshes the internal state with unpredictable system jitter, effectively decoupling the QPP sequence from the initial seed. Cross-platform validation on macOS (x86 and ARM) and Windows (x86) confirms uniformly distributed outputs, while evaluations compliant with NIST SP 800-90B show a Shannon entropy of 7.9999 bits per byte. Overall, IID-based QPP-RNG represents a significant advancement in random number generation, offering a scalable, system-based, software-only, post-quantum secure solution for a wide range of cryptographic applications.

IID-Based QPP-RNG: A Random Number Generator Utilizing Random Permutation Sorting Driven by System Jitter

TL;DR

The IID-based QPP-RNG tackles the challenge of obtaining cryptographic-grade IID randomness by marrying Quantum Permutation Pads with system jitter-derived entropy. It derives 8-bit IID outputs from the permutation count via , while continuously refreshing the internal seed with jitter to maintain unpredictability, and it relies on the expansive quantum permutation space to provide post-quantum security. Empirical results show near-ideal randomness across macOS (x86/ARM) and Windows (x86), with Shannon entropy around bits/byte and min-entropy in the bits/byte range per NIST SP 800-90B, validating cryptographic suitability. The work presents a software-only, scalable RNG that resists seed determinism, adapts to platform clock resolutions, and holds promise for broad cryptographic deployment in a post-quantum era.

Abstract

We propose a groundbreaking random number generator that achieves truly uniform, independent, and identically distributed (IID) randomness by integrating Quantum Permutation Pads (QPP) with system jitter--derived entropy, herein called IID-based QPP-RNG. Unlike conventional RNGs that use raw timing variations, our design uses system jitter solely to generate ephemeral QPP pads and derives 8-bit outputs directly from permutation counts, eliminating the need for post-processing. This approach leverages the factorial complexity of permutation sorting to systematically accumulate entropy from dynamic hardware interactions, ensuring non-deterministic outputs even from fixed seeds. Notably, IID-based QPP-RNG achieves a min-entropy of 7.85-7.95 bits per byte from IID min-entropy estimate, surpassing ID Quantique's QRNG (7.157042 bits per byte), which marks a breakthrough in randomness quality. Our implementation employs a dynamic seed evolution protocol that continuously refreshes the internal state with unpredictable system jitter, effectively decoupling the QPP sequence from the initial seed. Cross-platform validation on macOS (x86 and ARM) and Windows (x86) confirms uniformly distributed outputs, while evaluations compliant with NIST SP 800-90B show a Shannon entropy of 7.9999 bits per byte. Overall, IID-based QPP-RNG represents a significant advancement in random number generation, offering a scalable, system-based, software-only, post-quantum secure solution for a wide range of cryptographic applications.

Paper Structure

This paper contains 5 sections, 8 equations, 6 figures.

Figures (6)

  • Figure 1: QPP-RNG Initialization: This phase eliminates dependence on deterministic seeds by incorporating system jitter into the seeding process.
  • Figure 2: QPP-RNG Random Number Generation: This phase generates the final random numbers and updates the seed for the next iteration based on the permutation count and timing information.
  • Figure 3: Sorting time vs. permutation counts on macOS (x86). The upper graph shows the actual system time delta (ns) against permutation counts for a disordered array of 7 elements, while the lower graph presents the same data reduced modulo 256. Data points labeled $t_1$, $t_2$, and $t_3$ represent three consecutive runs using a fixed seed (123456789).
  • Figure 4: Random number distributions from QPP-RNG time deltas (mod 256) on macOS (ARM). A corresponding permutation count distribution (mod 256) is shown for reference. The input array consists of 5 elements.
  • Figure 5: Random number distributions from QPP-RNG time deltas (mod 256) on macOS (x86). A corresponding permutation count distribution (mod 256) is shown for reference. The input array consists of 5 elements.
  • ...and 1 more figures