Zum Inhalt springen

Camellia (Algorithmus)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 15. Februar 2025 um 17:50 Uhr durch imported>MyobTG (growthexperiments-addlink-summary-summary:2|0|0).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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.<ref><templatestyles src="Webarchiv/styles.css" />Announcement of Royalty-free Licenses for Essential Patents of NTT Encryption and Digital Signature Algorithms (Memento des Vorlage:IconExternal vom 8. November 2006 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.ntt.co.jp NTT News, 17. April 2001.</ref>

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 <math>s_1, \ldots, s_4</math> mit affinen Transformationen und logischem XOR, wobei <math>s_2, \ldots, s_4</math> durch Rotationen um ein Bit aus <math>s_1</math> 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.

Design

Camellia ist eine Feistelchiffre mit entweder 18 Runden (wenn ein 128-Bit Schlüssel verwendet wird) oder 24 Runden (wenn ein 192- oder 256-Bit Schlüssel benutzt wird).<ref name="RFC3713" /> Jede sechs Runden wird ein logischer Transformationslayer angewendet: die sogenannte „FL-Funktion“ oder deren Umkehrfunktion. Camellia verwendet vier 8×8-Bit S-Boxen mit affinen Eingabe und Aufgabe Transformationen und logischen Operationen.<ref name="RFC3713" /> Die Chiffre verwendet auch bei Eingabe und Ausgabe die sogenannte „Key Whitening“ Technologie, welche die Sicherheit iterierter Blockchiffren erhöht. Der Diffusionslayer verwendet eine lineare Abbildung, welche auf der Matrix der Zweig-Nummer 5 basiert.<ref name="RFC3713" />

Sicherheit

Camellia wird als eine moderne, sichere Chiffre angesehen. Sogar die kleineren Schlüsselgrößen (128-Bit) werden als sicher gegenüber Brute-Force-Angriffen mit heutiger Technologie angesehen. Es gibt keine Berichte von erfolgreichen Angriffen auf die Chiffre. Camellia wurde für die Verwendung zertifiziert von ISO/IEC, dem NESSIE Projekt der EU und dem japanischen CRYPTREC Projekt. Die japanische Chiffre hat Sicherheitslevels und Verarbeitungsmethoden, welche mit der von AES verglichen werden können.<ref>News Release 050710. Archiviert vom Vorlage:IconExternal am 19. Juli 2019; abgerufen am 19. März 2024.</ref>

Camellia ist eine Blockchiffre, welche vollständig durch Minimalsystemen von multivariaten Polynomen definiert werden kann:<ref name="Biryukov">Alex Biryukov: Block ciphers and systems of quadratic equations. Hrsg.: FSE 2003. Springer-Verlag, S. 274–289.</ref>

  • Die Camellia (gleich bei AES) S-Boxen können durch ein System von 23 quadratischen Gleichungen mit 80 Termen definiert werden.<ref>Nicolas T. Courtois: Cryptanalysis of Block Ciphers with Overdefined Systems of Equations. (PDF) 2002, abgerufen am 13. August 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
  • Die Key-Schedule kann durch 1120 Gleichungen mit 768 Variablen beschrieben werden, welche 3329 lineare und quadratische Terme verwenden.<ref name="Biryukov" />
  • Die ganze Blockchiffre kann durch 5104 Gleichungen mit 2816 Variablen beschrieben werden, welche 14592 lineare und quadratische Terme verwenden.
  • Total sind 6224 Gleichungen mit 3584 Variablen nötig, welche 17920 lineare und quadratische Terme verwenden.
  • Die Nummer von freien Termen ist 11696, welche ungefähr dieselbe Anzahl wie bei AES ist.

Theoretisch wäre es möglich Camellia (wie auch AES) durch einen algebraischen Angriff zu knacken. Ein XSL-Angriff (eXtended Spare Linearization) wäre auch denkbar.

Verwendung

Mozilla Firefox 3 implementierte 2008 Camellia.<ref>Camellia cipher added to Firefox. Mozilla in Asia, 21. Dezember 2012, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 21. Dezember 2012; abgerufen am 25. Mai 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/blog.mozilla.org</ref> Jedoch wurde die Funktion in Firefox 33 2014 deaktiviert<ref>Camellia cipher added to Firefox | Mozilla in Asia. 21. Dezember 2012, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 21. Dezember 2012; abgerufen am 25. Mai 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/blog.mozilla.org</ref> und dann schließlich in der Version 23 2015 entfernt.<ref>1037098 - Remove preferences for cipher suites disabled in bug 1036765 (Camellia and some 3DES & DSS cipher suites). Abgerufen am 25. Mai 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Im Jahr 2008 kündigte das FreeBSD-Team an, die Chiffre in FreeBSD 6.4 aufzunehmen. Auch für die Festplattenverschlüsselung war Camellia verfügbar.

Im September 2009 fügte GNU Privacy Guard in der Version 1.4.10 die Unterstützung für Camellia hinzu.<ref>[Announce] GnuPG 1.4.10 released. Abgerufen am 25. Mai 2020.</ref>

VeraCrypt (Ein Derivat von TrueCrypt) fügte Camellia als einen ihrer Verschlüsselungsalgorithmen hinzu.<ref>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid. Abgerufen am 25. Mai 2020.</ref>

Viele größere Bibliotheken mit dem Fokus auf Sicherheit wie Crypto++, GNUTLS, mbedTLS und OpenSSL unterstützen Camellia auch.

Leistung

Die S-Boxen, welche von Camellia verwendet werden, zeigen große Ähnlichkeiten zu denen von AES. Dies führt dazu, dass CPU-Instruktionen von AES auch für Camellia angewendet werden können, dazu gehört auch AES-NI.

Patent

Obschon Camellia patentiert wurde, ist der Algorithmus lizenzfrei erhältlich.<ref>News Release 010417.html. Archiviert vom Vorlage:IconExternal am 28. Mai 2020; abgerufen am 19. März 2024.</ref> Dadurch konnte Camellia ab November 2006<ref>News Release 061108a. Archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 8. März 2008; abgerufen am 25. Mai 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.ntt.co.jp</ref> Teil des OpenSSL Projekts unter einer Open-Source-Lizenz werden. Das Mozilla NSS (Network Security Services) Modul nahm die Chiffre ebenfalls auf.<ref>Camellia cipher added to Firefox | Mozilla in Asia. 21. Dezember 2012, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 21. Dezember 2012; abgerufen am 25. Mai 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/blog.mozilla.org</ref>

Weblinks

Einzelnachweise

<references> <ref name="RFC3713"> Vorlage:RFC-Internet </ref> </references>