5.6. Other Factors in Choosing a Mixing Function (Weitere Faktoren bei der Auswahl einer Mischfunktion)
5.6. Other Factors in Choosing a Mixing Function (Weitere Faktoren bei der Auswahl einer Mischfunktion)
Für die lokale Verwendung hat AES die Vorteile, dass es weitgehend auf Fehler getestet wurde, in Software vernünftig effizient ist und weit verbreitet dokumentiert und implementiert ist, mit Hardware- und Softwareimplementierungen, die überall auf der Welt verfügbar sind, einschließlich Open-Source-Code. Die SHA*-Familie hatte etwas weniger Untersuchung und benötigt tendenziell mehr CPU-Zyklen als AES, aber es gibt keinen Grund zu glauben, dass sie fehlerhaft ist. Sowohl SHA* als auch MD5 wurden vom früheren MD4-Algorithmus abgeleitet. Sie alle haben verfügbaren Quellcode [SHA*, MD4, MD5]. Einige Anzeichen von Schwäche wurden in MD4 und MD5 gefunden. Insbesondere hat MD4 nur drei Runden, und es gibt mehrere unabhängige Durchbrüche der ersten zwei oder letzten zwei Runden. Und einige Kollisionen wurden in der MD5-Ausgabe gefunden.
AES wurde durch einen robusten, öffentlichen und internationalen Prozess ausgewählt. Es und SHA* wurden von der US National Security Agency (NSA) auf der Grundlage von Kriterien befürwortet, die größtenteils geheim bleiben, wie auch DES. Während dies Anlass zu viel Spekulation und Zweifel gegeben hat, hat die Untersuchung von DES im Laufe der Jahre gezeigt, dass die NSA-Beteiligung an Modifikationen seines Designs, das von IBM stammte, primär dazu diente, es zu stärken. Es gab keine Ankündigung einer verborgenen oder speziellen Schwäche, die in DES gefunden wurde. Es ist wahrscheinlich, dass die NSA-Modifikationen an MD4 zur Produktion der SHA-Algorithmen diese Algorithmen ähnlich stärkten, möglicherweise gegen Bedrohungen, die in der öffentlichen kryptographischen Gemeinschaft noch nicht bekannt sind.
Wenn Eingabelängen unvorhersagbar sind, sind Hash-Algorithmen bequemer zu verwenden als Block-Verschlüsselungsalgorithmen, da sie im Allgemeinen so konzipiert sind, dass sie Eingaben variabler Länge akzeptieren. Block-Verschlüsselungsalgorithmen erfordern im Allgemeinen einen zusätzlichen Auffüll-Algorithmus, um Eingaben zu berücksichtigen, die kein gerades Vielfaches der Blockgröße sind.
Zum Zeitpunkt dieses Dokuments kennen die Autoren keine Patentansprüche auf die grundlegenden AES-, DES-, SHA*-, MD4- und MD5-Algorithmen außer Patenten, für die eine unwiderrufliche lizenzgebührenfreie Lizenz der Welt erteilt wurde. Es kann natürlich wesentliche Patente geben, von denen die Autoren nichts wissen, oder Patente auf Implementierungen oder Verwendungen oder andere relevante Patente, die erteilt wurden oder erteilt werden sollen.