Startseite ISO 27001 - Dienstleistungen ISO 9001 - Dienstleistungen Dienstleistungsangebote Unsere Artikel Schlagwortsuche Sitemap anzeigen iXacty-Impressum

ARTIKEL 

SHA-3 Keccak

Unternehmen, die eine ISO 27001-Zertifizierung anstreben, müssen sich früher oder später mit dem Maßnahmenziel „A.10.1 Kryptographische Maßnahmen“ aus dem Anhang A der ISO 27001 auseinandersetzen. Einige Worte zur kryptographischen Hashfunktion SHA-3 – Keccak. Diese Informationen wurden von Jacqueline und Matthias Naumann  zusammengetragen.

Historie SHA-3 .

Die Bezeichnung Keccak ist wahrscheinlich eine Ableitung des balinesischen Tanzdramas. Keccak wurde von den Herren: Daemen, Bertoni, Peeters und Van Assche entwickelt. Drei von ihnen arbeiten bei ST Microelectronics, dem größten Halbleiterkonzern Europas. Peeters arbeitet bei NXP, einem niederländischen Halbleiterhersteller, ehemals Phillips. Keccak war der Gewinner im Wettbewerb für einen neuen SHA-3 Kryptostandard zur Datenverschlüsselung. Die US-Bundesbehörde für Standardisierungsprozesse NIST (National Institute of Standards and Technology) hatte diesen Wettbewerb 2007 gestartet, nachdem auf den Vorläufer SHA-1 erste erfolgreiche Angriffe durchgeführt worden waren und den Gewinner 2012 bekannt gegeben. Keccak ist eine Alternative zu SHA-2.

Sicherheitsziele .

Zu den klassischen Sicherheitszielen für eine kryptographische Hashfunktion H zählen, dass die Hashfunktion eine Einwegfunktion sein muss. Sie soll preimage resistant sein bzw. es soll nicht effizient möglich sein, zu einem gegebenen Hashwert h eine Nachricht M zu finden, so dass gilt: Hashwert h führt zu einer gehashten Nachricht. Außerdem soll die Hashfunktion kollisionsresistent (collision resistance) sein. Es soll nicht effizient möglich sein, zu einer gegebenen Nachricht, eine zweite Nachricht zu finden, die den gleichen Hashwert besitzt. Dies wird als second preimage resistance bezeichnet und gilt als schwache Kollisionsresistenz. Eine starke Kollisionsresistenz bedeutet, dass es nicht effizient möglich sein soll, zu einer gegebenen Nachricht irgendeine weitere Nachricht zu finden, die den gleichen Hashwert besitzt.

Keccak im Vergleich .

Keccak hat im Vergleich zu anderen Hashfunktionen keine feste Ausgabelänge. Man kann einen beliebigen langen Ausgabewert erzeugen. Die Geschwindigkeit ist von der Länge abhängig. Keccak ist einfach auf einer großen Anzahl Plattformen zu implementieren und benötigt weniger Ressourcen, als vergleichbare Algorithmen. Bei Keccak ist kein HMAC (wie in älteren Hash-Funktionen) notwendig, da die Nachrichtenauthentifizierungsverfahren bereits implementiert sind und die Nachricht gemeinsam mit einem geheimen Sitzungsschlüssel gehasht wird. Positiv ist außerdem, dass die Nachrichtenauthenifizierung und Verschlüsselung mit dem Duplexverfahren in nur einem Schritt erfolgt. Bei Keccak werden spezielle Maskengenerierungsfunktionen in RSA- Standards eingesetzt. Maskengenerierungsfunktionen definieren die Hashausgabe auf eine bestimmte Länge. RSA-Standards sind asymmetrische Verschlüsselungsverfahren mit 2 Schlüsseln.

Timing-Test: Wie schnell werden die Nachrichten gehasht? .

Beim Timing-Test ist ersichtlich, dass andere Algorithmen, bspw. MD5, SHA-1 und SHA-2 schneller sind als Keccak.

Cascade-Test: Wie viele Bytes werden durchschnittlich beim Hashen

verändert? .

Der Cascade-Test misst die durchschnittliche Veränderung der Bytes beim Hashen. Beim Cascade-Test zeigte sich, dass bei Keccak eine durchschnittliche Veränderung der Bytes stattfindet. Das bedeutet. Es werden etwas mehr Bytes verändert, als minimal gefordert. Würde die Veränderung mehr als 2 Drittel betreffen, könnte dies auf Kollisionsanfälligkeit hindeuten.

Run-Bit-Test: Weisen beide Teile der Hash-Ausgabe gleichmäßig viele 0

und 1 auf? .

Der Run-Bit-Test prüft, ob beim Hashen beide Teile der Hash-Ausgabe gleichmäßig viele Nullen und Einsen aufweisen. Keccak zeigt hier eine leichte Big-Endian-Skew (Schieflage). Das bedeutet, die rechte Seite enthält etwas weniger Einsen und weicht somit etwas stärker vom Durchschnitt ab.

Collision-Test: Weisen Nachrichten-Unterschiede ab 1 Byte bereits einen

anderen Hashwert auf? .

Mit dem Collisions-Test wurde die Kollisions-Rate von Keccak ermittelt. Die Ergebnisse zeigten keine Kollisions-Rate. Dies ist evtl. darauf zurückzuführen, dass beim Test zu kurze Testnachrichten mit nur 41 Zeichen verwendet wurden.

Sicherheit mit Keccak .

Keccak ist resistent gegen Verlängerungsangriffe, was ein Problem bei MDx-Algorithmen war. Bei Verlängerungsangriffen ist es Angreifern möglich, den bereits bekannten, gehashten Teil einfach zu verlängern, um auch den Rest herauszufinden. Da Keccak keine Erweiterung der SHA-1 oder SHA-2-Logik ist, können auch keine verbesserten Angriffe auf SHA-3 übertragen werden. Die Schwammfunktion ist durch die Parameter r (Bitrate) und c (Kapazität) an die Sicherheitsbedürfnisse anpassbar. Keccak widersteht bekannten Angriffen mit minimalem Aufwand von 2n (n=Hash-Größe). Um Keccak weiter zu verbessern, wurde zu dem Crunchy Crypto Collision and Preimage Contest ausgerufen, um Schwachstellen zu finden. Die Ergebnisse zeigten, dass ein Preimage gefunden werden konnte, wenn der Keccak-Algorithmus auf nur 1-2 Runden beschränkt worden war. Eine Kollision konnte erreicht werden, wenn der Keccak-Algorithmus auf nur 1-4 Runden beschränkt wurde. Da für das Hashen mit Keccak bis zu 24 Runden gedreht werden, kann man von einer ausreichenden Sicherheit ausgehen.

Anwendungsgebiete für Keccak bzw. SHA-3 .

Die Anwendungsgebiete für Keccak sind vielfältig. Zum einen dient es: sicheren Internet Verbindungen oder zur Authenifizierung von Webseiten und für Webseiten-Zertifikate. Außerdem für Digitale Signaturen (für public und private keys) und für Homebanking, für Software Integrität (zum Vergleichen von Prüfsummen), beim Einsatz von Versionierungssoftware: GIT derzeit SHA-2, GIT zum Erstellen für Revisionen von Dateien und Auffinden von korrupten Dateien.

Performance von Keccak .

Die bekannteste Aussage über Keccak lautet: “Keccak ist so langsam wie nötig.“ Diese Tatsache macht es Angreifern schwer, viele Bruteforce-Angriffe oder Evaluierungszyklen zu starten. Zur Performance der Hardware kann man sagen, dass sie bis zu 2x schneller als bei SHA-2 ist. Begründung dafür ist, dass man die Transistor Gates nur geringfügig erhöhen muss, um den Durchsatz zu steigern. Die Keccak-Kurve ist in der Grafik lila dargestellt. Bei der Software ist die Geschwindigkeit von den Sicherheitsparametern abhängig. Deshalb ist Keccak teilweise langsamer als SHA-2. Was jedoch dazu führt, dass die Sicherheit gesteigert wurde.

Software Implementierung .

Für Keccak existieren verschiedene Referenzimplementierungen auf Softwareseite in Phyton, C, C# und der Hardwarebeschreibungssprache VHDL. SHA-3 kann als statische Bibliothek oder als Framework-Bundle eingebunden werden. Weiterhin werden in Keccak Tools in C++ angeboten. Man findet in den einzelnen Paketen Beispiele u.a. auch zum Crunchy Crypto Contest.

Hardware Implementierung .

Die Hardware Implementierung wird in FPGs (Field programmable Gate Array (Schaltkreis mit logischer Schaltung)) und SmartCard Chips genutzt. Die Implementierung ist nicht sehr aufwendig. Im Schaltbild sieht man die Anwendung der einzelnen Keccak-f Permutationen. Die Nähe zur Hardware und die gute Performance sind evtl. dadurch begründet, dass die 4 Keccak-Erfinder bei NXP und ST Microelectronics arbeiten.

Pseudo Code der Keccak-Implementierung .

Gestartet wird mit der Keccak-Funktion und den Übergabeparametern Bitrate r, Kapazität c und der zu  hashenden Nachricht. Danach beginnt das Padding der Nachricht, also das Auffüllen in der Blockgröße. Dann folgt die Absorb-Phase mit dem blockweisen Aufruf der XOR- und Keccak-f Funktionen. Im Anschluss folgt die Squeeze-Phase mit dem Aufruf von keccak-f auf den State der Absorb-Funktion. Dies wird beliebig oft wiederholt, bis die gewünschte hashlänge erreicht wurde. Im nächsten Schritt ist die Keccak-f-Permutation mit den Parametern der Permutationsbreite und dem Nachrichtenblock zu sehen. Diese wird maximal 24 Runden in Abhängigkeit der Breite w gerufen. Für die Keccak-f Permutationsfunktionen existieren Rotations Offsets und Rundenkonstanten. Da der State immer 5 * 5 ist, wird immer modulo5 gerechnet. Die Permutationsbreite w gibt an, dass modulo w gerechnet wird. Innerhalb von keccak-f werden bis zu 24x die Permutationsfunktionen Theta, Chi, Pi, Rho und Iota aufgerufen. W 1.600 = Summe ( r + c ). Bei SHA-3-256 gilt der Methodenaufruf mit: Keccak [1028, 512](Message).

Funktionsweise von Keccak .

Wie funktioniert Keccak? Der Keccak-Algorithmus arbeitet nach der Schwammkonstruktion mit den Phasen Absorb und Squeeze. Zuerst wird wie bei einem Schwamm eine Nachricht aufgesaugt und am Enge wieder herausgequetscht. Der Hash-Algorithmus besitzt verschiedene Parameter, bspw. die Bitrate r und die Kapazität c. Dadurch sind tausende Variationen von Hash- Funktionen möglich. Die Kapazität c ist das Doppelte der Ausgabelänge, die Bitrate ist die Differenz der Permutationsbreite bspw. 1.600 für die Kapazität c. Bei SHA-3 sind verschiedene Ausgabelängen möglich: 224, 256, 384, 512. Dabei werden in der „Aufsaug“-Phase Nachrichtenteile von 1.152, 1.088 und 512 Bits auf einmal verarbeitet. Zu Beginn wird die Nachricht in Nachrichtenblöcke geteilt und auf den letzten Block ein Padding ausgeführt. Durch das Padding sollen glatte Blockgrenzen erzeugt werden. Das geschieht, indem der Nachricht zwei 1-Bits angehängt und dazwischen 0-Bits aufgefüllt werden. Die Absorb-Funktion nimmt die Nachricht auf, wandelt sie in einen State und wendet 5 Permutationsfunktionen auf ihn an. Zum Schluss wird die Squeeze-Funktion, die die Hashausgabe wieder herausgibt aufgerufen. Für ein und dieselbe Nachricht benötigt SHA-3 umso länger, je größer der benötigte Hashwert ist.

Absorb-Funktion .

Die Absorb-Funktion schreibt die Nachricht blockweise in einen State und wendet die Permutationsfunktion Keccak-f auf diesen an. Dabei werden die ersten r-Bits der Nachricht mit den ersten r-Bits des States XOR-verknüpft und die 5 Permutationsfunktionen mehrfach auf den State angewendet. Initial sind alle State-Bits mit 0 vorinitiatlisiert.

Permutationsfunktion Keccak-f .

Die Permutationsfunktion Keccak-f wird mit einer definierten Permutationsbreite ausgeführt. Die Anzahl der Runden berechnet sich mit 12 + 2 * l Runden. Die Permutationsfunktion Keccak-f wendet die Funktionen Theta, Chi, Pi, Rho und Iota sequentiell an und wiederholt das Ganze in mehreren Runden. Beginn ist immer mit der Theta-Permutation. Der Stat ist ein Wert aus der Permutationsbreite b, der sich mit 5 * 5 * w Bits berechnet. ( w = 2 l) W ergibt sich aus 2 l, wobei l größer 0 und kleiner gleich 6 ist. W sollte immer so gewählt werden, dass es der Länge eines CPD-Wertes entspricht. Bei 32-Bit-Architekturen ist l = 5 und b = 800, was Keccak [800] entspricht.

Theta-Permutation .

Die Theta-Permutation wird auf jedes Bit des States einzeln angewendet. Dabei werden die Bits betrachtet, die sich in Spalten links des Bits oder rechts vorne befinden. Die gefundenen Bits werden jeweils mit dem zu manipulierenden Bit XOR-verknüpft. Diese Phase sorgt für eine Diffusion im Zustand.

Chi-Permutation .

Die Chi-Permutation wird plane-weise auf den State angewendet. Es werden also immer fünf 32- oder 64-bit Werte betrachtet. Die Plan ist der horizontale Schnitt durch den State, also eine Scheibe. Um eine neue Lane zu berechnen, wird das Inverse der nächsten Lane gebildet und mit dem übernächsten AND-verknüpft und zuletzt mit dem alten Wert von sich selbst XOR-verknüpft. Die Chi-Permutation beschleunigt die Diffusion zwischen den einzelnen Scheiben des Zustandes.

Pi-Permutation .

Die Pi-Permutation vertauscht die Postionen der Lane innerhalb des States nach einem bestimmten Schema. Die neue Position jeder Lane wird nach der Formel X über Y berechnet, wobei x und y die alte Position und X und Y die neue Position bestimmen. Die Pi-Permutation verstärkt die Streuung der Diffusion.

Rho-Permutation .

Die Rho-Permutation führt eine Anzahl von Rechtsrotationen auf jedes Lane durch. Genutzt werden dabei Rotations-Offsets für die 64-Bit-Lanes.

Iota-Permutation .

Die Iota-Permutation addiert eine Rundenkonstante auf die erste Lane (x=0, y=0). Die Rundenkonstante ändert sich von Runde zu Runde, ist aber für jede Runde fest vorgegeben. Die Ausgabe ist die eines linear rückgekoppelten Schieberegisters. Vor jedem Rechts-Shift werden die Bits an zuvor festgelegten Positionen XOR-verknüpft und das Ergebnis links an das Register angeführt. Die Iota-Permutation stört durch das Addieren der Rundenkonstante die Symmetrie.

Squeeze-Funktion .

Nach Abschluss der Keccak-f-Aufrufs kommt es zur Ausführung der Squeeze-Funktion der Sponge-Konstruktion. Die Squeeze-Funktion erzeugt aus dem State der Absorb-Funktion einen beliebig langen Hashwert. Die ersten r Bits werden als die ersten r Bits des Hashes verwendet. Danach wird wieder die Keccak-Permutation angewendet und die ersten  r Bits des States ausgelesen und in den Hashwert geschrieben.

Ausblick für Keccak .

Wie ist der Ausblick für Keccak? Die Schwachstellen bei SHA-1 und SHA-2 betreffen die Kollisionsresistenz, also die Möglichkeit zu einer Nachricht 1 irgendeine 2. Nachricht mit dem gleichen Hashwert zu finden. Diese Probleme sind jedoch nicht relevant für Einwegverschlüsselung von Passwörtern, Prüfsummen bei SSL/TLS oder IPSec. Zur Verbesserung sollten Salting und Streching für Passwortverschlüsselung genutzt werden. Empfehlenswerter als die Implementierung von SHA-3 ist die Empfehlung, zügig von SHA-1 auf SHA-2 zu wechseln. Zitat der NIST: Eine gelungene Attacke auf SHA-2 führt nicht dazu, dass auch Keccak geknackt werden kann, da Keccak kein Nachfolger von SHA-2 ist. SHA-2 und SHA-3 sind mit unterschiedlichen Algorithmen designt worden, was eine Versicherung ist, falls SHA-2 geknackt werden würde.
© iXactly 2015 - 2025                Last Update: 21.09.2017 | Version 2.7.0

iXactly

iXactly - Logo iXactly - Schriftzug Diese Seite ausdrucken
BLÄTTERFUNKTION
.
SHA-3 Keccak
Artikel
iXactly Xing Profil
iXactly LinkedIn Profil
iXactly LinkedIn Profil
iXactly Google+ Profil
iXactly Twitter Profil

IT- und Systemberatung
Naumann ist Ihr
Dienstleister für Audits,
Seminare und Beratungen
für Ihr ISMS oder QMS

iXactly

Startseite ISO 27001 ISO 9001 Angebote Artikel Schlagwortsuche Sitemap anzeigen Impressum
© iXactly 2015 - 2025  Last Update: 21.09.2017, Version 2.7.0
iXactly - Logo iXactly - Schriftzug diese Seite ausdrucken
.
BLÄTTERFUNKTION

Historie SHA-3 .

Die Bezeichnung Keccak ist wahrscheinlich eine Ableitung des balinesischen Tanzdramas Kecak. Keccak wurde von den Herren: Daemen, Bertoni, Peeters und Van Assche entwickelt. Drei von ihnen arbeiten bei ST Microelectronics, dem größten Halbleiterkonzern Europas. Peeters arbeitet bei NXP, einem niederländischen Halbleiterhersteller, ehemals Phillips. Keccak war der Gewinner im Wettbewerb für einen neuen SHA-3 Kryptostandard zur Datenverschlüsselung. Die US-Bundesbehörde für Standardisierungsprozesse NIST (National Institute of Standards and Technology) hatte diesen Wettbewerb 2007 gestartet, nachdem auf den Vorläufer SHA-1 erste erfolgreiche Angriffe durchgeführt worden waren und den Gewinner 2012 bekannt gegeben. Keccak ist eine Alternative zu SHA-2.

Sicherheitsziele .

Zu den klassischen Sicherheitszielen für eine kryptographische Hashfunktion H zählen, dass die Hashfunktion eine Einwegfunktion sein muss. Sie soll preimage resistant sein bzw. es soll nicht effizient möglich sein, zu einem gegebenen Hashwert h eine Nachricht M zu finden, so dass gilt: Hashwert h führt zu einer gehashten Nachricht. Außerdem soll die Hashfunktion kollisionsresistent (collision resistance) sein. Es soll nicht effizient möglich sein, zu einer gegebenen Nachricht, eine zweite Nachricht zu finden, die den gleichen Hashwert besitzt. Dies wird als second preimage resistance bezeichnet und gilt als schwache Kollisionsresistenz. Eine starke Kollisionsresistenz bedeutet, dass es nicht effizient möglich sein soll, zu einer gegebenen Nachricht irgendeine weitere Nachricht zu finden, die den gleichen Hashwert besitzt. Keccak im Vergleich . Keccak hat im Vergleich zu anderen Hashfunktionen keine feste Ausgabelänge. Man kann einen beliebigen langen Ausgabewert erzeugen. Die Geschwindigkeit ist von der Länge abhängig. Keccak ist einfach auf einer großen Anzahl Plattformen zu implementieren und benötigt weniger Ressourcen, als vergleichbare Algorithmen. Bei Keccak ist kein HMAC (wie in älteren Hash- Funktionen) notwendig, da die Nachrichten- authentifizierungsverfahren bereits implementiert sind und die Nachricht gemeinsam mit einem geheimen Sitzungsschlüssel gehasht wird. Positiv ist außerdem, dass die Nachrichten- authenifizierung und Verschlüsselung mit dem Duplexverfahren in nur einem Schritt erfolgt. Bei Keccak werden spezielle Masken- generierungsfunktionen in RSA-Standards eingesetzt. Maskengenerierungsfunktionen definieren die Hashausgabe auf eine bestimmte Länge. RSA-Standards sind asymmetrische Verschlüsselungsverfahren mit 2 Schlüsseln.

Timing-Test: Wie schnell werden die 

Nachrichten gehasht? .

Beim Timing-Test ist ersichtlich, dass andere Algorithmen, bspw. MD5, SHA-1 und SHA-2 schneller sind als Keccak.

Cascade-Test: Wie viele Bytes werden

durchschnittlich beim Hashen verändert? .

Der Cascade-Test misst die durchschnittliche Veränderung der Bytes beim Hashen. Beim Cascade-Test zeigte sich, dass bei Keccak eine durchschnittliche Veränderung der Bytes stattfindet. Das bedeutet. Es werden etwas mehr Bytes verändert, als minimal gefordert. Würde die Veränderung mehr als 2 Drittel betreffen, könnte dies auf Kollisionsanfälligkeit hindeuten.

Run-Bit-Test: Weisen beide Teile der Hash-

Ausgabe gleichmäßig viele 0 und 1 auf? .

Der Run-Bit-Test prüft, ob beim Hashen beide Teile der Hash-Ausgabe gleichmäßig viele Nullen und Einsen aufweisen. Keccak zeigt hier eine leichte Big-Endian-Skew (Schieflage). Das bedeutet, die rechte Seite enthält etwas weniger Einsen und weicht somit etwas stärker vom Durchschnitt ab.

Collision-Test: Weisen Nachrichten-Unterschiede

ab 1 Byte bereits einen anderen Hashwert auf? .

Mit dem Collisions-Test wurde die Kollisions-Rate von Keccak ermittelt. Die Ergebnisse zeigten keine Kollisions-Rate. Dies ist evtl. darauf zurückzuführen, dass beim Test zu kurze Testnachrichten mit nur 41 Zeichen verwendet wurden.

Sicherheit mit Keccak .

Keccak ist resistent gegen Verlängerungsangriffe, was ein Problem bei MDx-Algorithmen war. Bei Verlängerungsangriffen ist es Angreifern möglich, den bereits bekannten, gehashten Teil einfach zu verlängern, um auch den Rest herauszufinden. Da Keccak keine Erweiterung der SHA-1 oder SHA-2-Logik ist, können auch keine verbesserten Angriffe auf SHA-3 übertragen werden. Die Schwammfunktion ist durch die Parameter r (Bitrate) und c (Kapazität) an die Sicherheits- bedürfnisse anpassbar. Keccak widersteht bekannten Angriffen mit minimalem Aufwand von 2n (n=Hash-Größe). Um Keccak weiter zu verbessern, wurde zu dem Crunchy Crypto Collision and Preimage Contest  ausgerufen, um Schwachstellen zu finden. Die Ergebnisse zeigten, dass ein Preimage gefunden werden konnte, wenn der Keccak-Algorithmus auf nur 1-2 Runden beschränkt worden war. Eine Kollision konnte erreicht werden, wenn der Keccak-Algorithmus auf nur 1-4 Runden beschränkt wurde. Da für das Hashen mit Keccak bis zu 24 Runden gedreht werden, kann man von einer ausreichenden Sicherheit ausgehen.

Anwendungsgebiete für Keccak bzw. SHA-3 .

Die Anwendungsgebiete für Keccak sind vielfältig. Zum einen dient es: sicheren Internet Verbindungen oder zur        Authenifizierung von Webseiten und für        Webseiten-Zertifikate. Außerdem für Digitale Signaturen (für public        und private keys) und für Homebanking, für Software Integrität (zum Vergleichen         von Prüfsummen), beim Einsatz von Versionierungssoftware:        GIT derzeit SHA-2, GIT zum Erstellen für        Revisionen von Dateien und Auffinden von     korrupten Dateien.

Performance von Keccak .

Die bekannteste Aussage über Keccak lautet: “Keccak ist so langsam wie nötig.“ Diese Tatsache macht es Angreifern schwer, viele Bruteforce-Angriffe oder Evaluierungs- zyklen zu starten. Zur Performance der Hardware kann man sagen, dass sie bis zu 2x schneller als bei SHA-2 ist. Begründung dafür ist, dass man die Transistor Gates nur geringfügig erhöhen muss, um den Durchsatz zu steigern. Die Keccak-Kurve ist in der Grafik lila dargestellt. Bei der Software ist die Geschwindigkeit von den Sicherheitsparametern abhängig. Deshalb ist Keccak teilweise langsamer als SHA-2. Was jedoch dazu führt, dass die Sicherheit gesteigert wurde.

Software Implementierung .

Für Keccak existieren verschiedene Referenzimplementierungen auf Softwareseite in Phyton, C, C# und der Hardwarebeschreibungssprache VHDL. SHA-3 kann als statische Bibliothek oder als Framework-Bundle eingebunden werden. Weiterhin werden in Keccak Tools in C++ angeboten. Man findet in den einzelnen Paketen Beispiele u.a. auch zum Crunchy Crypto Contest.

Hardware Implementierung .

Die Hardware Implementierung wird in FPGs (Field programmable Gate Array (Schaltkreis mit logischer Schaltung)) und SmartCard Chips genutzt. Die Implementierung ist nicht sehr aufwendig. Im Schaltbild sieht man die Anwendung der einzelnen Keccak-f Permutationen. Die Nähe zur Hardware und die gute Performance sind evtl. dadurch begründet, dass die 4 Keccak-Erfinder bei NXP und ST Microelectronics arbeiten.
Absprünge:. Historie SHA-3 Sicherheitsziele Keccak im Vergleich Timing-Test Cascade-Test Bit-Run-Test Collision-Test Sicherheit mit Keccak Anwendungsgebiete Performance Software Implementierung Hardware Implementierung Funktionsweise Weitere Informationen zu: Pseudo-Code, Absorb-Funktion Keccak-f, Permutation, Squeeze- Funktion und Ausblick finden Sie in unserer Browser-Version

ARTIKEL

SHA-3 Keccak .

Unternehmen, die eine ISO 27001-Zertifizierung anstreben, müssen sich früher oder später mit dem Maßnahmenziel „A.10.1 Kryptographische Maßnahmen“ aus dem Anhang A der ISO 27001 auseinandersetzen. Diese Informationen wurden von Jacqueline und Matthias Naumann  zusammengetragen.

Funktionsweise von Keccak .

Wie funktioniert Keccak? Der Keccak-Algorithmus arbeitet nach der Schwammkonstruktion mit den Phasen Absorb und Squeeze. Zuerst wird wie bei einem Schwamm eine Nachricht aufgesaugt und am Enge wieder herausgequetscht. Der Hash-Algorithmus besitzt verschiedene Parameter, bspw. die Bitrate r und die Kapazität c. Dadurch sind tausende Variationen von Hash- Funktionen möglich. Die Kapazität c ist das Doppelte der Ausgabelänge, die Bitrate ist die Differenz der Permutationsbreite bspw. 1.600 für die Kapazität c. Bei SHA-3 sind verschiedene Ausgabelängen möglich: 224, 256, 384, 512. Dabei werden in der „Aufsaug“-Phase Nachrichtenteile von 1.152, 1.088 und 512 Bits auf einmal verarbeitet. Zu Beginn wird die Nachricht in Nachrichten- blöcke geteilt und auf den letzten Block ein Padding ausgeführt. Durch das Padding sollen glatte Blockgrenzen erzeugt werden. Das geschieht, indem der Nachricht zwei 1-Bits angehängt und dazwischen 0-Bits aufgefüllt werden. Die Absorb-Funktion nimmt die Nachricht auf, wandelt sie in einen State und wendet 5 Permutationsfunktionen auf ihn an. Zum Schluss wird die Squeeze-Funktion, die die Hashausgabe wieder herausgibt aufgerufen. Für ein und dieselbe Nachricht benötigt SHA-3 umso länger, je größer der benötigte Hashwert ist. Weitere Informationen können Sie in der Browser- Version finden.
SHA-3 Keccak
Artikel
iXactly Xing Profil
iXactly LinkedIn Profil
iXactly LinkedIn Profil
iXactly Google+ Profil
iXactly Twitter Profil

IT- und Systemberatung Naumann ist Ihr
Dienstleister für Audits, Seminare und
Beratung für Ihr ISMS oder QMS