Informatik Security
Sym Enc Topic 7 Hash functions and keyed hashing
Sym Enc Topic 7 Hash functions and keyed hashing
-
- 1 / 40
-
Lernkarten
Wozu werden Hashfnktionen in der Crypto graphie verwendet ?
Digital Signature shemes
Message authentication COdes (MAC's)
password storage
key derivation function
Pseudo random fucntions
Blockchains
Was ist die Definition einer Hashfunktion ?
{0,1}m -> {0,1}n
Was gibt es für synonyme für hashvalues ?
hashcode
message digest
fingerprint
Was sind die Requirements einer Hashfunktion ?
das message kann eine beliebige länge haben der output des hashes muss immer eine fixe länge bringen
muss eine effiziente funktion sein
Was ist der Unterscheid zwischen Crypto Hashfunktion und NonCrypto hash funktionen ?
NIcht cryptografische Hashfunktionen bieten nicht genügend sicherheit um in Kryptografie verwendet zu werden. Sie werden zum beispiel verwendet um accidents zu entlarven. Zum beispiel CRC erkennt modification of a file in a network flow.
Was ist die Preimage Security eigenschaft ?
Es gibt 2 Pre image resistance
First Preimage Resistance:
- das x kann nicht mit hilfe von y gefunden werden. y = h(x)
- Auch nichz mit unlimitierter rechenpower- weil es mehrere Werte gibt das auf diesen Hashvalue gemappt werden kann
- Auch wenn x1 und h(x1) gegeben ist soll es nicht möglich sein für x2 einen wert zu finden das h(x1) == h(x2) ergibt. collissions resitent.
Was ist de Kollissionsresistenz bei einer hashfunktion ?
Bei der Kollisionsresistance geht es darum zwei verscheidene M's zu finden welche auf den gleichen Hashvalue mappen
Was ist der Unterscheid zwischen Collisionsresistance und Second Pre image Resistance ?
Bei der Second Preimage resistance ist ein m und h(m) gegeben und da muss jetzt ein m2 gefunden werden welches h(m) ergibt.
Bei der Collisions resistance geht es darum, 2 verscheidene m's zu finden welche auf den hashvalue mappen.
Wann ist von der Security propertie gesehen eine Hashfunkiotn gebrochen ?
Eine Hashfunktion ist gebrochen wenn es eine besseren angriff als die Bruteforce attake auf die Hashfunktion gibt.
Bruteforce auf first/second pre image reistance läuft mit O(2^n) ab
Bruteforce auf collisions reistsance läuft mit O(wurzel(2n))
Wie viel bit müsste der Hashoutput sien wenn eine sicherheit von n verlangt ist
2n
Wie läuft die initialisierung bei einer SHA-1
Die nachricht wird in 512 bit blöcke aufgeteilt
Diese werden in 16 word der bitlänge 32 aufgeteilt
die internal states der SHA 1 werden gesetzt (ABCDE) Am anfang das IV
de stage konstanten werden gesetzt K1-k4
Wie läuft ca SHA 1 ab ?
message min 512er blocke
512er blöcke in 16er
zusätzlich zu den 16er message linksrotiert bis 80 auffüllen
states werden initialisiert
dann folgen 80 loops. die ersten 1/4 mit einer variante zweite 1/4 mit anderen etc
states werden mit loop ergebniss updated und geschoben
states werden dazuaddiert
entweder nächster loop oder output
Was sind nachteile der SHA-1 Familie ?
Es wurden kollisionen gefundnden (Also nicht mehr zu brauchen)
Es isch schwierig SHA-1 sowie MD4 zu parallelisieren
Was sind die vorteile von SHA 1?
Alle Operationen sind 32 bit DWords
Also möglich mit 32 bit Computers
Was sind die Schwastellen von SHA 1?
Sie gewährleistet nur eine Sicherheit von 80 bits (kollisions sicherheit)
bitflipping attacken können durchgeführt werden
Shappening Attacke möglich
Shattered Attacke möglich
Was sind die Hauptunterschiede von SHA1 zu SHA2 ?
hat weniger runden. NUr noch 64
grösserer Output (224 bis 512)
mehr states (A bis H)
intern wird mit 64 worten gerrechnet anstatt mit 32
Was können Sie zur SHA-3 sagen ?
Das NIST hat SHA3 als neue hashing standard angekündigt.
es beruht auf den Keccak algo welcher auf einer sponge funktion basiert
Schlüsselpunkt ist das er nicht auf den Merkle Damgard construkt beruht
wenn man im SHA 2 im merkle damgard schadmöglichkeiten finden würde dann könnte man auf SHA 3 wechseln
Im moment ist der wechsel auf SHA-3 nicht notwendig
was ist der authentication tag
Der Authentication Tag von einer Message M ist der Message Authentication Code von k, m
T = MAC(k, m)
Wie ist etwa eine Sponge funktion aufgebaut ?
Der erste Message block M1 wird xord mit H0(eine vordefinierte wert)
Message size sind alle gleich und kleiner als der interne state
Eine permutation wandelt den internen status in eine neuen status der gleihcen grösse
dann wird M2 xored H1 und dann so weiter
Bis hier wird es die absorbier phase genannt
Dann kommt die permutations funktion dann kann ein Hash herausgenommen werden
wenn man einen längeren Hash braucht dann kann nochmal die Funktion angewendet und noch einen Teil daraus genommen werden
Was ist XOF ?
Extentable output function
Es ist eine Eigenschaft von SHA 3
Was ist die Motivation für Keyed Hashing ?
Keyed Hashing ist die Basis von MAC und PRF
Message Authentication Code & Pseude random functions
Was ist der Grundprinzip von MAC ?
Es ist eine Art Hashfunktion das man auf eine Nachricht generieren kann wenn man einen Key hat
Der key muss bei schreiber und verifier vorhanden sein.
somit kann der empfänger sicher sein das die Nachricht wirklich von dem kommt mit dem er den Key geschared hat. Wenn jetzt ein MIM die nachricht zum beispiel mit bitflipping anpassen würde, würde der MAC dazu nicht mehr passen.
Nicht abstreitbarkeit ist hier nicht gegeben(weil beide den mac berrechnen könnten
Woraus besteht das MAC ?
es hat ein key generation function (rand) als output ->{0,1}n
ein Mac generation function MAC(k,m) ->{0,1}b Das message kann {0,1}* sein
Was kennen SIe in zusammenhang mit Message integrity und MAC ?
Da die Symetrische verschlüsselung keine integrität der Nachricht liefert. Bitflipping möglich
MAC zu einem Nachricht versichert dem empfänger das die nachricht in dieser Form ist wo der sender ihn gesendet hat
Was meinen Sie zu Message Authenticity und MAC ?
Nachrichten verkehr zwischen Alice und Bob
Bob kann die über authentizität der Nachricht von Alice sicher sein weil nur Alice und Bob die keys kennen um den Mac zu berrechnen.
Aber die Authentizität der Nachricht kann nicht gegenüber einen dritten bewiesen werden.
Die Nicht abstreitbarkeit kann nur in zusammenhang mit einer digitalen Signatur erstellt werden.
Wo werden MAC verwendet ?
An orten wo leine windows geräte verwendet werden können. hahahaha Nein spass bei seite
Symmetrische verschlüsselung und MAC zusammen ergeben authenticated encryption und secure communication channel
Beispiele sind SSL/TLS IPSec SSH WPA
Was macht eine PRF ?
ein Pseudo Random Generator erstellt eine Random looking output mit einem limitierten länge
Das Output des PRF kann ohne den key nicht berrechnet werden.
Also wird verwendet um vom TRBG erhaltene Bits zu verlängern.
Was ist ein HMAC ?
das ist ein Hashfunktion welche keine keyed hashfunktion ist aber mit einer key und message erweitert wurde.
Aber es soll sichere sein als einfach den key||message oder message||key --> vulinaribility length extension attack
Bei HMACH von Fips wird hier eine lösung gefunden. es wird mit einem inner und outter key gearbeitet welche dafür sorgt das keine nachrichten teile am anfang oder ende angehängt werden kann.
Sind HMACS kollissions sicher ?
hängt vom output grösse ab. Aber die richtige frage ist ob die collisionsresistance für den HMAC wichtig ist. Weil der Angreifer den Key nicht hat kann er keine hmac generieren und evaluieren weil er den key gar nicht hat.
Was können Sie zum Universal Hashfunction sagen ?
Sehr schnell zu rechnen
ist nicht kollisions sicher (muss auch nicht sein es ist nur verlangt dass nicht 2 nachrichten den gleichen hash ergeben mit vielen verschiedene keys)
Kann aber nur einmal verwendet werden.
Was ist die Wegman carter konstruktion ?
Dies wird verwendet um mehrere Nachrichten mit der Universal Hashfunkition zu authentifizieren
es wird zum key einen einmaligen nonce erstellt mithilfe eines PRF