ThiersLabs
<- All projects

SAT-OBELISK

A small sponge-based cryptosystem

SAT-OBELISK is a complete cryptosystem built from one primitive: a 384-bit permutation I designed. It is a research and teaching project, and it is honest about that.

DownloadChecking latest release
Source code
  • Python
  • Cryptography

At a glance

384-bit
permutation state, six 64-bit lanes
16 / 10
rounds for setup and for data
128-bit
security target
3
rounds until full diffusion

The story

  1. 01

    One permutation, everything

    Like Ascon, the winner of NIST's lightweight cryptography competition, OBELISK uses a sponge and duplex construction. One permutation gives authenticated encryption, hashing, key derivation, key wrapping and file encryption. Taming one primitive well is safer than combining four mediocre ones.

  2. 02

    Inside the permutation

    The state is six 64-bit lanes. Each round mixes them with ARX boxes (add, rotate, xor) and a linear layer of rotations. The round constants come from the digits of pi, so there is nowhere to hide a backdoor. Setup and hashing use 16 rounds, data processing uses 10.

  3. 03

    Honest about security

    The custom cipher has never been independently reviewed, so it is not for real secrets. For real data the app uses vetted backends, ChaCha20 or AES-256-GCM. Instead of claiming it is unbreakable, the repository invites anyone to break it, and reduced-round attacks count too.

  4. 04

    Measured, not assumed

    Avalanche tests, known-answer tests and tamper tests check the design. A single changed input bit flips about half of the output bits, and full diffusion is reached after only three rounds. The weak spots are documented next to the strong ones.

Live demo

Hash and encrypt in your browser

This demo runs the real OBELISK Python code in your browser with Pyodide. Starting it downloads a Python runtime of about 10 MB, once. Nothing you type leaves your device.

Research cipher: never independently reviewed. Do not use it for real secrets.

More projects