
SAT-OBELISK
Een klein sponge-cryptosysteem
SAT-OBELISK is een compleet cryptosysteem gebouwd op een enkele bouwsteen: een 384-bit permutatie die ik zelf ontwierp. Het is een onderzoeks- en leerproject, en daar is het eerlijk over.
In het kort
- 384-bit
- permutatiestaat, zes lanes van 64 bit
- 16 / 10
- rondes voor setup en voor data
- 128-bit
- beveiligingsdoel
- 3
- rondes tot volledige diffusie
Het verhaal
- 01
Een permutatie, alles
Net als Ascon, de winnaar van de NIST-competitie voor lichtgewicht cryptografie, gebruikt OBELISK een sponge- en duplexconstructie. Een permutatie levert geauthenticeerde encryptie, hashing, sleutelafleiding, key wrapping en bestandsencryptie. Een bouwsteen goed temmen is veiliger dan vier middelmatige combineren.
- 02
In de permutatie
De staat bestaat uit zes lanes van 64 bit. Elke ronde mengt ze met ARX-boxen (optellen, roteren, xor) en een lineaire laag van rotaties. De rondeconstanten komen uit de cijfers van pi, dus er is geen plek om een achterdeur te verstoppen. Setup en hashing gebruiken 16 rondes, dataverwerking 10.
- 03
Eerlijk over veiligheid
De eigen cipher is nooit onafhankelijk beoordeeld, dus hij is niet voor echte geheimen. Voor echte data gebruikt de app beproefde backends: ChaCha20 of AES-256-GCM. In plaats van te beweren dat hij onkraakbaar is, nodigt de repository iedereen uit om hem te kraken, en aanvallen op minder rondes tellen ook.
- 04
Gemeten, niet aangenomen
Avalanchetests, known-answer-tests en manipulatietests controleren het ontwerp. Een enkele gewijzigde invoerbit flipt ongeveer de helft van de uitvoerbits, en na slechts drie rondes is de diffusie volledig. De zwakke plekken staan gedocumenteerd naast de sterke.
Live demo
Hash en versleutel in je browser
Deze demo draait de echte OBELISK-Pythoncode in je browser met Pyodide. Bij het starten wordt eenmalig een Python-runtime van ongeveer 10 MB gedownload. Niets wat je typt verlaat je apparaat.
Onderzoeks-cipher: nooit onafhankelijk beoordeeld. Niet gebruiken voor echte geheimen.