Skip to main content
← All work

chaoslock

Encryption built on a chaotic physics simulation: set the starting conditions from your input, run it, read off where everything landed.

Status

Working — hashing, authenticated file encryption, signatures, visual fingerprints and a time-lock. Novel and unaudited, and documented as such.

Language
Python
Primitive
Chaotic billiard, sponge construction
Avalanche
Mean 129/256, std 7.92 against an ideal 8.00
Tests
39

The idea

A chaotic simulation makes a natural one-way function. Tiny differences in the starting conditions produce completely different end states, and running it backwards is not practical — which is most of what a hash needs to do.

The same property gives something a normal hash does not: a time-lock. Opening a sealed message costs a fixed amount of sequential grinding, because the simulation cannot be skipped ahead. Useful for sealed predictions and dead-man switches; not consensus-grade, because the construction is heuristic rather than a proven delay function, and the project says so.

Built right around a primitive that is not proven

The engineering around the novel part is conventional and careful: encrypt-then-authenticate with a random salt and nonce per message, a deliberately slow key derivation, separate keys for encryption and authentication, and a constant-time comparison. Tamper with one byte and decryption fails loudly rather than returning garbage.

The hash is a sponge, so it has no length-extension weakness, and it passes the standard statistical batteries — avalanche behaviour, bit balance, and collision behaviour matching a uniform random function. Two real bugs were found by an independent test harness and fixed.

What it is not is peer-reviewed. The chaotic primitive is novel and unaudited, and the honest open question is whether a clever attacker could find structure in it. That paragraph is in the README, not buried.