www.wikidata.de-de.nina.az
Serpent ist ein symmetrischer Verschlusselungsalgorithmus der von den Kryptographen Ross Anderson Eli Biham und Lars Knudsen entwickelt wurde Es ist eine Blockchiffre mit einer Blockgrosse von 128 Bit und variabler Schlusselgrosse bis 256 Bit SerpentSerpentDie lineare Transformation von SerpentEntwickler Ross Anderson Eli Biham Lars KnudsenVeroffentlicht 21 August 1998Abgeleitet von SquareZertifizierung AES FinalistSchlussellange 128 192 oder 256 BitBlockgrosse 128 BitStruktur Substitutions Permutations NetzwerkRunden 32Serpent war ein Kandidat fur den Advanced Encryption Standard AES und gehorte mit Twofish Rijndael MARS und RC6 zu den funf Finalisten des AES Ausscheidungsverfahrens Serpent scheint eine sicherere Architektur als Rijndael zu haben MARS Twofish und Serpent wurden als hoch sicher eingestuft wahrend Rijndael und RC6 nur als hinreichend sicher eingestuft wurden Rijndael wurde vor allem wegen seiner mathematischen Struktur die moglicherweise zu Angriffen fuhren konnte kritisiert Im Gegensatz zu den beiden anderen als hoch sicher eingestuften Kandidaten der letzten Runde MARS und Twofish wurde Serpent bezuglich seiner Sicherheit nicht kritisiert und es wurde angenommen dass dieser der sicherste der funf Finalisten sei Serpent weist ausserdem bei Implementierung in Hardware die als Pipeline erfolgen kann die hochste Geschwindigkeit unter den Finalisten auf Er ist jedoch bei Software Implementierungen der Langsamste wahrend Rijndael sowohl in Hardware als auch in Software relativ schnell ist Vor allem dieser Geschwindigkeitsvorteil durfte bei der Entscheidung Rijndael zum AES zu erklaren den Ausschlag gegeben haben 1 Inhaltsverzeichnis 1 Funktionsweise 2 Lizenz 2 1 Beispielanwendungen 3 Angriff 4 Einzelnachweise 5 WeblinksFunktionsweise BearbeitenAus dem Schlussel werden zunachst 33 Teilschlussel K 0 displaystyle K 0 nbsp bis K 32 displaystyle K 32 nbsp mit je 128 Bit Lange gebildet und die Daten werden in Blocke zu je vier 32 Bit Wortern eingeteilt Diese Blocke werden dann unabhangig voneinander in 32 aufeinanderfolgenden Runden verschlusselt In jeder der Runden i 0 displaystyle i 0 nbsp bis i 31 displaystyle i 31 nbsp werden nacheinander folgende Operationen durchgefuhrt Der Datenblock wird mit dem Teilschlussel K i displaystyle K i nbsp bitweise XOR verknupft Es werden immer vier Bits die in den vier Datenwortern jeweils an der gleichen Position stehen gemeinsam in einer S Box substituiert Es gibt acht verschiedene S Boxen S 0 displaystyle S 0 nbsp bis S 7 displaystyle S 7 nbsp die periodisch durchlaufen werden in Runde i displaystyle i nbsp wird S i mod 8 displaystyle S i bmod 8 nbsp verwendet In Runde i 0 displaystyle i 0 nbsp bis i 30 displaystyle i 30 nbsp werden die Datenworter einer linearen Transformation unterzogen die sich aus Rotationen Verschiebungen und XOR Verknupfungen zusammensetzt Sie ist in der Abbildung dargestellt In Runde i 31 displaystyle i 31 nbsp wird stattdessen mit dem Teilschlussel K 32 displaystyle K 32 nbsp XOR verknupft Eine alternative Implementierung des Verfahrens arbeitet mit der Substitution von immer vier in einem Datenwort aufeinanderfolgenden Bits Dadurch kann die Substitution einfacher als Tabellenzugriff realisiert werden Die vier Index Bits stehen schon beisammen und sie mussen nur ggf nach rechts geschoben und die hoheren Bits ausmaskiert werden Vor der ersten Runde werden die 128 Datenbits permutiert so dass die niederwertigsten Bits in den vier Datenwortern an die Positionen 0 bis 3 des ersten Worts kommen die nachst hoherwertigen an die Positionen 4 bis 7 usw Diese Permutation wird nach der letzten Runde ruckgangig gemacht Auch die 33 Teilschlussel mussen entsprechend permutiert werden Die lineare Transformation wird bei dieser Implementierung jedoch komplizierter denn auch hierbei muss die andere Anordnung der Bits berucksichtigt werden Die erste Implementierung sog Bitslice Technik hat den Vorteil dass mit bitweisen Operationen alle 32 Substitutionen in einer Runde parallel ausgefuhrt werden konnen Bei entsprechend optimierter Software Implementierung geht die Substitution so schneller als durch Tabellenzugriff Ausserdem konnten die Entwickler des Verfahrens hier eine zugleich einfache und effektiv vermischende lineare Transformation darstellen Wird z B ein Datenwort rotiert werden dadurch alle 32 Substitutionsblocke geteilt und neu zusammengesetzt Lizenz BearbeitenSerpent ist nicht patentiert und wurde als Public Domain Software veroffentlicht Es steht damit jedem zur Nutzung frei zur Verfugung Optimierte Versionen des Codes wurden unter der GNU General Public License lizenziert Beispielanwendungen Bearbeiten Der Serpent Algorithmus wird unter anderem von folgenden Open Source Softwarepaketen implementiert DiskCryptor Festplattenverschlusselung Verschlusselung von Partitionen VeraCrypt Festplattenverschlusselung Verschlusselung von Partitionen und von Containerdateien dm crypt FestplattenverschlusselungAngriff Bearbeiten2002 veroffentlichten Courtois und Pieprzyk eine Arbeit in der eine potentielle Attacke gegen Serpent und Rijndael mit Namen XSL vorgestellt wurde 2 Der Angriff ist lediglich theoretisch und kann aufgrund seiner Komplexitat nicht tatsachlich ausprobiert werden Es ist unbekannt ob der Angriff praktisch durchgefuhrt werden konnte Die Kryptographen T Moh 3 und Don Coppersmith sind der Meinung dass der Angriff auf Serpent derzeit nicht durchgefuhrt werden kann Einzelnachweise Bearbeiten Ross Anderson Eli Biham Lars Knudsen The Case for Serpent PDF 66 8 kB 24 April 2000 abgerufen am 24 Mai 2012 englisch Nicolas Courtois Josef Pieprzyk Cryptanalysis of Block Ciphers with Overdefined Systems of Equations 9 November 2002 abgerufen am 24 Mai 2012 englisch Elisabeth Oswald Vincent Rijmen Joan Daemen AES Eine Analyse der Sicherheit des Rijndael Algorithmus PDF 130 kB 30 Oktober 2002 archiviert vom Original am 27 Oktober 2007 abgerufen am 24 Mai 2012 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www a sit at Weblinks BearbeitenSerpent englisch Beschreibung von Markus Repges Standard Cryptographic Algorithm Naming zu Serpent englisch NIST Report on the Development of the Advanced Encryption Standard AES 2 Oktober 2000 englisch PDF 392 6 kB Abgerufen von https de wikipedia org w index php title Serpent Verschlusselung amp oldid 194315498