P. Mehdipour, A. Miranda Alves, G. Honorato, M. Salarinoghabi
7 min
Abstract
This paper presents a symmetric stream cipher that utilizes the dynamic properties of random cubic mappings in the complex plane to generate pseudo-random key streams. The system is based on the iterations of the random cubic polynomial $f_n(z)=z^3+c_n z$, where the parameters $c_n$ are chosen randomly from a disc of radius $δ$ and with center at the origin, aiming to improve the chaotic behaviour and, consequently, the randomness of the generated sequence. The stability of the Julia set under small parameter perturbations, when $δ< δ_0\simeq 0.89$, is considered to ensure key consistency in noisy environments, such as 5G networks. On the other hand, for $δ> 3$, the system exhibits instability and chaos, ideal for generating ultra-secure keys. The Python implementation integrates secure key derivation, robust key stream generation via warmed-up iteration, and an authenticated encryption scheme using the modern cryptographic primitives (\texttt{HKDF} and\texttt{HMAC-SHA-256}), to ensure message integrity and authenticity. Statistical analyses, including chi-square test and entropy calculation, are performed on the output of the key stream generator to evaluate its randomness and distribution. In addition, a complete statistical validation, compliant with \texttt{NIST SP 800-22} standards in modern cryptography, was performed to enhance the proposed system's credibility.
Alex: How does tweaking delta deliver that—especially staying synced amid noise?
Sam: They pick each c_n from a disk around zero sized by delta, using HMAC-DRBG. For small delta, orbits stay near the stable Julia set boundary, so noise doesn't wreck the path—sender and receiver stay matched. Over delta 3, orbits explode into hyperchaos for unpredictability. They run a warm-up phase, discarding early steps like letting soup simmer. Then HMAC-SHA256 hashes the complex z's parts with a counter for keystream blocks.
Alex: So the warm-up skips shaky starts, and hashing evens it out. But Julia sets are fractal with no thickness—how does noise not shove orbits off?
Sam: Julia sets are the edgy boundary where points stay bounded, but they're thin fractals. Nearby Fatou sets have regular behavior, so noise nudges orbits there for stability. This yields NIST SP 800-22 passes, like chi-square and entropy tests, confirming randomness. HKDF derives subkeys for hybrid strength.
Alex: That's a clear way to balance noise-proof sync with attack-proof chaos. A meaningful fix for noisy nets.
Alex: You've laid out the chaos tuning. But walk me through the steps from shared key to keystream—how do they turn cubic iterations into bits?
Sam: It starts with a shared secret key and initialization vector, or IV—a unique number per message. They feed both into HKDF, which stretches the key into a stream part and authentication part—like a secure splitter. The stream key seeds HMAC-DRBG for starting z zero and c_n sequence. They iterate a warm-up number of times, discarding output. Every three iterations after, they hash z's real and imaginary parts plus a counter with HMAC-SHA256 for a 32-byte keystream block. That XORs with the message to scramble it.
Alex: Every three steps, like batching to hide the math. And they add a MAC tag for protection?
Sam: Yes. Encrypt-then-MAC ensures secrecy and checks tampering: receiver recomputes the MAC on IV, data, and ciphertext, then XORs back only if it matches.
Alex: You've detailed the process end-to-end. Those NIST tests—how do they confirm randomness?
Sam: NIST SP 800-22 checks if bits behave like coin flips—no clumps, even spread, no patterns. On 6480-bit chunks, every test passed, with p-values above 0.01—like balanced ones and zeros, high entropy.
Alex: All passes mean no obvious biases. What about ENT?
Sam: ENT probes compressibility and correlations. It showed entropy at nearly 8 bits per byte, chi-square for uniform spread, mean near 128. Serial correlation was low but flagged for scrutiny.
Alex: So mostly strong, but neighbors link a bit. Graphical tools?
Sam: Plots compare histograms to ideals, showing no deviations in waves or drifts—building intuition for stability.
Alex: The tests paint a consistent picture, with honest notes.
Alex: What about long sequences—does it hold up?
Sam: The U01 suite tested million-bit streams. It failed three: Approximate Entropy for repeating patterns, Longest Run for streaks, Overlapping Template for short repeats. These show biases that emerge at scale.
Alex: Good for short bursts, flaws in long ones. Fixes?
Sam: They tried pooling parts before hashing and running SHA-256. Neither cleared failures. It suggests the map needs better mixing for full strength.
Alex: Scale matters in real streams. Still useful for short 5G bursts?
Sam: Yes. It tames chaos for noise-proof sync at low delta and hyperchaos at high. With HKDF and encrypt-then-MAC, it's deployable for 5G. Future work targets large-scale biases—a meaningful step.
Alex: A balanced advance, strong where it counts, honest about refinements. Thanks for listening to ResearchPod.