Drop / reversible byte rotor prerelease

OCK Rotor
OCKR4

A small Rust rotor machine for arbitrary bytes: encode, tag, inspect the moving frontier, decode, and demand the exact bytes back.

Educational crypto. Runnable mechanism, explicit restore path, no claim of modern audited encryption.

$ ock-byte-rotor -m encode ...
plaintext → OCKR4
⚙ generated 256-byte rotors
↻ dynamic per-byte rounds
⬢ arbitrary byte streams
✓ tag verified before decode
✓ BYTE-PERFECT RESTORE
SECURITY: educational / unaudited
What exists now

The rotor is real; the gears are later.

Current v0.4.0 handles raw byte streams, generates one or more 256-byte rotors, applies dynamic per-byte rounds, stores nonce/round/rotor parameters in an OCKR4 container and verifies a 32-byte toy tag before decoding.

The living Matrix renderer replays both encode and decode as a sliding hexdump frontier. The transform core remains Rust; the current visual reference is Python.

Current crate / CLIock-byte-rotor 0.4.0
Public display nameOCK Rotor
ContainerOCKR4
Linux artifactv0.4.0 · public
Rust sourceby inquiry
Matrix / living receipt

Watch the bytes move, then come home.

The visual is a sampled terminal trace of the same roundtrip story: plaintext → ciphertext → plaintext.

WebM preferred for the site. GIF fallback: ock-readme-roundtrip.gif.
CLI / current prerelease

Tiny surface. Exact return.

encode

Bytes in

ock-byte-rotor -m encode \
  --key-ints "233969659 753251273 593294788 325244558 296780300 467383710" \
  -i plain.txt -o cipher.ock
decode

Bytes back

ock-byte-rotor -m decode \
  --key-ints "233969659 753251273 593294788 325244558 296780300 467383710" \
  -i cipher.ock -o restored.txt
receipt

Falsify it

cmp plain.txt restored.txt
echo $?

Zero means the byte stream returned exactly.

OCKR4 / current boundary

What the container says.

header

16 bytes

OCKR4\0 magic, 64-bit little-endian nonce, one-byte round count and one-byte rotor count.

body

N bytes

The transformed payload stays byte-for-byte length-preserving inside the container body.

tail

32-byte toy tag

Decode verifies the tag before transforming the payload back. It is not presented as a modern audited MAC.

Prerelease boundary: runnable personal-scale artifacts can be free while source access, commercial integration and technical transfer remain separately licensed. See Luna Non-Commons v1.1 / licensing and the public Rotor repository.
Live release manifest
Loading releases.json…