Ascon
Ascon ist eine seit 2014 an der Technischen Universität Graz entwickelte Familie von Kryptographischen Algorithmen, die neben einem Verschlüsselungsalgorithmus auch ein Hash-Verfahren umfasst.
Die Algorithmen sind speziell für kleinere elektronische Geräte wie beispielsweise das Internet der Dinge oder RFID entwickelt worden und umfassen Authenticated Encryption und Hashfunktionen.
Im August 2018 veröffentlichte das National Institute of Standards and Technology (NIST), eine Bundesbehörde in den Vereinigten Staaten, einen Aufruf zur Einreichung von Algorithmen, für leichtgewichtige kryptografische Standards mit authentifizierter Verschlüsselung mit zugehörigen Daten (AEAD) und optionalen Hashing-Funktionen. Von 57 Bewerbern setzten sich die Ascon-Entwickler Christoph Dobraunig, Maria Eichlseder, Florian Mendel und Martin Schläffer von der TU Graz am 7. Februar 2023 mit dem Gewinn des Wettbewerbes durch.[1] Das NIST erklärte danach Ascon zum US-Standard für leichtgewichtige Kryptographie.[2][3]
Im Februar 2023 beinhaltete die Ascon-Familie sieben Chiffren, z. B.
- Ascon-128 und Ascon-128a authenticated ciphers
- Ascon-Hash cryptographic hash
- Ascon-Xof extendable-output function
- Ascon-80pq Chiffre mit größerem 160-bit Schlüssel
Design
Das Design basiert auf einem Sponge-Aufbau (ähnlich SpongeWrap and MonkeyDuplex), d. h. es ist eine Funktion, die mit endlichem internem Zustand aus einen Eingabe-Bit-Strom beliebiger Länge einen Ausgabe-Bit-Strom jeder gewünschter Länge produziert. Dies erlaubt es Ascon in verschiedenen Modi zu betreiben, z. B. als Verschlüsselung, Hash oder als MAC.
ASCON-128 arbeitet im AEAD-Modus und generiert daher parallel zur Verschlüsselung auch einen sicheren Hashwert. Wie üblich bei Stream-Chiffren, wird nach Berechnung eines Blocks das Ergebnis mit dem Plaintext mit XOR verknüpft, um den verschlüsselten Text zu erstellen (siehe auch GCM-Modus). ASCON-128 verarbeitet 64 Bit Blöcke, die Schlüssellänge beträgt 128 Bit, der generierte Hash-Wert beträgt ebenfalls 128 Bit. Zur Initialisierung werden 12 Runden berechnet, für jeden zu verschlüsselten Block 6 Runden, zum Abschluss nochmals 12 Runden. Der (interne) Zustand beträgt 320 Bit, also 5*64-Bit-Worte. Der Aufbau ist aufgrund der konstanten Laufzeit resistent gegen Timing-Attacken.
Rundenaufbau
- Konstantenaddition (nur zum Dritten der fünf Worte des Zustandes): . Dies erschwert Slide-Angriffe, da die Runden hierdurch nicht mehr symmetrisch zueinander sind.
- Substitutionsschicht (Konfusion): 5-bit S-Box, 64 Mal angewandt, so dass jedes Eingangsbit des 320-Bit-Zustandes einmal verwendet wird. Die S-Box ist eine modifizierte Variante der χ Funktion von Keccak
- Permutationsschicht (Diffusion): Rotation/XOR zur linearen Diffusion. Jedes Eingangswort (jeweils 64-Bit) des Zustandes wird zwei Mal rotiert (die Rotationskonstanten sind dabei für jedes Eingangswort unterschiedlich), und mit sich selbst wieder per XOR verknüpft: . Dies ist ähnlich der Permutationsfunktion von SHA-2
Weblinks
- Webpräsenz von Ascon (englisch)
- Implementations of the Ascon Family bei GitHub
- Ascon Demo in Excel Beispielimplementierung und Demonstration in Excel von Tim Wambach
- Detailliertere Erklärung des Algorithmus bei Heise.de
Einzelnachweise
- ↑ Lightweight Cryptography. In: NIST. 7. Februar 2023, abgerufen am 16. Februar 2023 (englisch).
- ↑ Falko Schoklitsch: Algorithmus der TU Graz wird zum internationalen Kryptographie-Standard. In: TU Graz. 8. Februar 2023, abgerufen am 16. Februar 2023.
- ↑ Marcel Strobl: Grazer Verschlüsselung ist Weltklasse: „Sind 3 bis 5 mal schneller“. In: Futurezone. 16. Februar 2023, abgerufen am 16. Februar 2023.