Camellia | |
---|---|
Entwickler | Mitsubishi, NTT |
Veröffentlicht | 2000 |
Abgeleitet von | MISTY1, E2 |
Zertifizierung | NESSIE, CRYPTREC |
Schlüssellänge | 128, 192 oder 256 Bit |
Blockgröße | 128 Bit |
Struktur | Feistelchiffre |
Runden | 18, 24 |
Camellia ist eine symmetrische Blockchiffre, die im Jahr 2000 in Zusammenarbeit von Mitsubishi und NTT entwickelt wurde. Camellia wurde vom europäischen NESSIE-Projekt und dem japanischen CRYPTREC-Projekt als einer ihrer empfohlenen Algorithmen ausgewählt. Camellia hat Ähnlichkeiten mit den Algorithmen MISTY1 und E2, welche früher von diesen Unternehmen entwickelt wurden.
Camellia ist patentiert, wurde aber 2001 von der NTT unter eine Royalty-free License gestellt, die eine Verwendung in Open-Source-Bibliotheken erlaubt.[1]
Camellia verwendet die gleichen Parameter wie der Advanced Encryption Standard: eine Blockgröße von 128 Bit und Schlüssellängen von 128, 192 oder 256 Bit. Es ist eine Feistelchiffre mit SPN-Rundenfunktion. Die Anzahl der Runden ist abhängig von der Schlüssellänge – 18 Runden bei 128 Bit oder 24 Runden bei längeren Schlüsseln. Als nichtlineare Substitutionsschicht dienen vier 8×8-Bit große S-Boxen mit affinen Transformationen und logischem XOR, wobei durch Rotationen um ein Bit aus hervorgehen. 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.