Skip to content

UnrealPersonYT/pony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🐎 Pony — an Experimental Asymmetric ARX Stream Cipher

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.


✨ Core Idea

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 → …


🔀 Asymmetric by Design

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.


🧪 Experimental

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.


📦 What This Repository Contains

• Reference implementation
• Key schedule
• 16‑round block function
• Simple Pony‑CTR stream cipher


🎯 Purpose

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.


🐎 Have fun.

About

A experimental ARX design for ciphers

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages