Pony is a tiny ARX-based stream cipher built around a compact, asymmetric round function.
It is not intended for production use — just exploration, experimentation, and fun.
The heart of Pony is parxw, a 4‑word ARX step with two independent lanes:
an add/rotate lane and an xor lane.
These lanes do not depend on each other inside a round,
but they do feed each other’s inputs in the next round.
This creates a two‑round mixing cycle where the lanes:
diverge → cross → converge → diverge → …
Unlike symmetric ARX designs (e.g., ChaCha20), Pony’s round is directional.
The update path b → a → d → c → b is intentionally lopsided.
This asymmetry produces fast, irregular diffusion and short dependency chains,
giving Pony its “snappy” and chaotic behavior.
Pony is a concept cipher — a playground for ARX ideas.
You are encouraged to experiment with:
• the key schedule
• IV handling
• rotation constants
• number of rounds
• state layout
The core idea lives in parxw.
• Reference implementation
• Key schedule
• 16‑round block function
• Simple Pony‑CTR stream cipher
Pony explores how far a minimal asymmetric ARX engine can go
in terms of diffusion, structure, and performance.
It is not meant to be secure — just interesting.