Camellia Chiffre

Herkunft / Verwendung: Camellia ist eine symmetrische Blockchiffre, die im Jahr 2000 in Zusammenarbeit von Mitsubishi und NTT entwickelt wurde. Camellia ist der Naxhfoler von KASUMI und hat Ähnlichkeiten mit den Algorithmen MISTY1 und E2, welche früher von diesen Unternehmen entwickelt wurden. Camellia lässt einem die Wahl bei der Schlüssellänge von 128, 192 und 256 Bit. Sie wurde vom europäischen NESSIE-Projekt und dem japanischen CRYPTREC-Projekt als einer ihrer empfohlenen Algorithmen ausgewählt.

Camellia benutzt eine Blocklänge von 16 Bytes, das heißt, dass ein Chiffrat 15 Zeichen länger werden kann als der ursprüngliche Klartext. Es empfiehlt sich, als Schlüssel den Hash eines Klartextpasswortes zzgl. eines (wenn gewünscht gehashten) Salts zu benutzen, z. B. SHA-256 für die 256-bit-Variante von Camellia.

Camellia ist patentiert, dar aber kostenfrei für nicht-kommerzielle Zwecke benutzt werden.

Beschreibung des Algorithmus

Camellia verwendet die gleiche Blockgröße (128 bit / 16 Byte) und Schlüssellängen (128, 192, 256 bit bzw. 16, 24, 32 Bytes) wie AES. Sie benutzt ein Feistel-Netzwerk und S-Boxen sowie Permutationen zur Verschlüsselung über 18 Runden (bei 128 Bit) oder 24 Runden (192 und 256 bit). Als nichtlineare Substitutionsschicht dienen vier 8×8-Bit große S-Boxen. Die Permutationsschicht verwendet lediglich lineare Transformationen und ähnelt der P-Funktion von E2. Um bitweise Kryptanalyse zu erschweren, wird zusätzlich alle sechs Runden eine an MISTY angelehnte lineare FL-Funktion auf den linken Halbblock und ihr Inverses FL-1 auf den rechten Halbblock angewandt.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes, 2 Blöcke)
Schlüssel:ApfelstrudelKirschtorten (24 Zeichen, 192 bit, entsprechend wird diese Bitstärke gewählt)
Chiffrat ECB:22DE55FF 0710FE1C ED042C64 43538DB9 22DE55FF 0710FE1C ED042C64 43538DB9 (hex)

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Die Länge des Textes sollte durch 16 (=Blocklänge) teilbar sein. Kürze Texte werden mit Nullbytes rechts aufgefüllt. Die Länge des Ergebnisses ist immer durch 16 teilbar und damit ggf. bis zu 15 Bytes länger als der Klartext.
Der Schlüssel sollte min. 16 Zeichen lang sein, besser noch ein binärer Hash mit min. 128 Bit. Längere Schlüssel werden (durch Wiederholung) erweitert auf 24 oder 32 Bytes und es wird automatisch eine bessere Verschlüsselungsstärke (Bitlänge) gewählt.
Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz buw. Binärdaten. Ist das Ergebnis nicht umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Ausgabe in Hex.



Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 162