Montag, 29. September 2014

Symmetrische Verschlüsselverfahren


Im heutigen Post beschäftige ich mich mit den symmetrischen Verschlüsselungsverfahren. Ein typisches Beispiel dafür wäre das Caeser Cipher, welches in der letzten Stunde behandelt wurde. Wie nun bekannt ist, gehört es zur Gruppe der symmetreischen Kryptosysteme, dass heißt Empfänger und Sender brauchen für die Zusammenarbeit den selben Schlüssel.

Nennen Sie die wichtigsten Vertreter der symmetrischen Kryptosysteme.

Wichtigste Vertreter

  • AES (Advanced Encryption Standard) oder Rijndael: ist ein US-amerikanischer Verschlüsselungsstandard und Nachfolger von DES. Ein von Joan Daemen und Vincent Rijmen entwickeltes Blockverschlüsselungsverfahren.
  • DES (Data Encryption Standard) oder Lucifer: war bis zum Oktober 2000 der Verschlüsselungstandard der USA. Das Verfahren Lucifer wurde 1974 von IBM entwickelt. Für Privatanwender heißt die Version Data Encryption Algorithm (DEA).
  • Triple-DES: ist eine Weiterentwicklung des DES-Verfahren. Es ist zwar dreimal langsamer, aber um Größenordnungen sicherer. 
  • IDEA (International Data Encryption Algorithm): das Blockverschlüsselungsverfahren wurde 1990 an der ETH Zürich entwickelt. Ascom Systec besitzt das Software Patent für das Verfahren; Anwendung in PGP.
  • Blowfish: ein 1993 von Bruce Schneider entwickeltes Blockverschlüsselungsverfahren. Für dieses Verfahren gibt es kein Patent. 
  • QUISCI (Quick Stream Cipher): ist ein sehr schnelles Stromverschlüsselungsverfahren von Stefan Müller. Es wurde 2001 entwickelt und es gibt kein Patent.
  • Twofish: ein Blockverschlüsselungsverfahren von Counterpane Team. Es wir vor allem in Microsoft Windows eingesetzt.
  •  CAST-128, CAST-256: Ein unpatentiertes Blockverschlüsselungsverfahren von Carlisle M.Adams
  • RC2, RC4, RC5, RC6 ("Rivest Cipher"): mehrere Verschlüsselungsverfahren von Ronals L. Rivest.
  • Serpent: Ein unpatentiertes Blockverschlüsselungsverfahren von Ross Anderson, Eli Biham und Lars Knudsen.

Wie lange sind die Schlüssel bei AES?

AES (Advanced Encryption Standard)


Das National Institute of Standards and Technology (NIST) entwickelt in Zusammenarbeit mit Industrie-Unternehmen seit Jahren den Verschlüsselungsstandard Advanced Encryption Standard (AES). Die Entwickler sind Joan Daemen und Vincent Rijmen und daher wird er auch Rijndael-Algorithmus genannt. Diese symmetrische Verschlüsselung soll die DES-Verschlüsselung ablösen. Die AES-Verschlüsselung spezifiziert drei verschiedene Schlüssellängen mit 128, 192 und 256 Bit. Rijndael ist sehr sicher, denn erst nach mehr als 10 Jahren nach seiner Standardisierung wurde der erste theoretisch, praktisch aber nicht relevante Angriff gefunden. Der Algorithmus ist frei verfügbar und kann von jedem verwendet werden. Nur AES-192 und AES-256 sind in den USA für staatliche Dokumente mit höchster Geheimhaltungsstufe zugelassen. 

Skizzieren Sie grob die Funktionsweise von AES.

Arbeitsweise


Bei Rijndal handelt es sich um eine Substitutions-Permutations-Netzwerk enworfene Blockchiffre.Bei Rijndael können Blocklänge und Schlüssellänge unabhängig voneinander die Werte 128, 160, 192, 224 oder 256 Bits erhalten, während bei AES die Einschränkung der festgelegten Blockgröße von 128 Bit und der Schlüsselgröße von 128, 192 oder 256 Bit gilt. Zunächst wird jeder Block in eine zweidimensionale Tabelle mit vier Zeilen geschrieben. Deren Zellen sind ein Byte groß. Die Anzahl der Spalten variiert somit je nach Blockgröße von 4 (128 Bits) bis 8 (256 Bits). Jeder Block wird nun nacheinander bestimmten Transformationen unterzogen. Aber anstatt jeden Block einmal mit dem Schlüssel zu verschlüsseln, wendet Rijndael verschiedene Teile des erweiterten Originalschlüssels nacheinander auf den Klartext-Block an.Die Anzahl (r) dieser Runden variiert und ist von der Schlüssellänge (k) und der Blockgröße (b) abhängig. Bei AES hängt es also nur von der Schlüssellänge ab.


Zudem kommt eine sogenannte Subtituionsbox (S-Box verwendet. Sie ist meist als Array implementiert und gibt an, wie in jeder Runde jedes Byte eines Blocks durch einen anderen Wert zu ersetzen ist. Sie ist dazu da die Beziehung zwischen Klar- und Geheimtext zu verwischen. Die S-Box besteht aus 256 Bytes, die konstruiert werden, indem zunächst jedes Byte außer der Null, aufgefasst als Vertreter des endlichen Körpers, durch sein multiplikatives Inverses ersetzt wird. Die Konstruktion des S-Box unterliegt bestimmten Designkriterien.

Ablauf

  • Schlüsselexpansion
  • Vorrunde
    • AddRoundKey(Rundenschlüssel[0])
  • Verschlüsselungsrunden (r = 1 bis R-1)
    • SubBytes(): Am Anfang jeder Runde wird für jedes Byte ein Äquivalent in der S-Box gesucht.
    • ShiftRows(): Da der Block in einer zweidimensionalen Tabelle liegt werden hier die Zeilen um                               eine bestimmte Anzahl von Spalten nach links verschoben. Überlaufende Zellen                                werden von rechts fortgesetzt.
    • MixColumns():  Hier werden die Daten innerhalb der Spalten vermischt.
    • AddRoundKey(Rundenschlüssel[r]): In der Vorrunde und am Ende jeder         Verschlüsselungsrunde wird eine KeyAddition ausgeführt. Hier wird eine bitweise XOR-Verknüpfung zwischen dem Block und dem aktuellen Rundenschlüssel vorgenommen
  • Schlussrunde
    • SubBytes()
    • ShiftRows()
    • AddRoundKey(Rundenschlüssel[R])
(Die Schlussrunde zählt auch als Runde, also R = Anzahl Verschlüsselungsrunden + 1 Schlussrunde)


Wo wird AES eingesetzt?

Anwendung


AES wird u. a. vom Verschlüsselungsstandard IEEE 802.11i für Wireless LAN und seinem Wi-Fi-Äquivalent WPA2, bei IEEE802.16 m (WiMAX), sowie bei SSH und bei IPsec genutzt. Auch in der IP-Telefonie kommt AES sowohl in offenen Protokollen wie SRTP oder proprietären Systemen wie Skype zum Einsatz. Mac OS X benutzt AES als Standardverschlüsselungsmethode für Disk-Images, außerdem verwendet der Dienst FileVault AES. Ebenso verwendete die transparente Verschlüsselung EFS in Windows XP ab SP 1 diese Methode. Außerdem wird der Algorithmus zur Verschlüsselung diverser komprimierter Dateiarchive verwendet, z. B. bei 7-Zip und RAR. In PGP und GnuPG findet AES ebenfalls einen großen Anwendungsbereich.


Nennen Sie Angriffe auf AES.

Angriffe


Ein Angriff war Biclique-Angriff. Auf der Rump-Session der Konferenz CRYPTO im August 2011 fand der erste Angriff auf den vollen Algorithmus statt. Der Angriff ist bei den verschiedenen Schlüssellängen im Schnitt um den Faktor 4 schneller als ein vollständiges Durchsuchen des Schlüsselraumes. Damit zeigt er die prinzipielle Angreifbarkeit von AES, ist aber für die praktische Sicherheit nicht relevant. Bei dem Angriff wir der geheime Schlüssel von AES berechnet. 


Quelle: http://de.wikipedia.org/wiki/Advanced_Encryption_Standard#Arbeitsweise 
             http://de.wikipedia.org/wiki/Symmetrisches_Kryptosystem
             https://www.youtube.com/watch?v=H2LlHOw_ANg
             http://www.itwissen.info/definition/lexikon/advanced-encryption-standard-AES-AES-Verschluesselung.html

Keine Kommentare:

Kommentar veröffentlichen