ZH2 hash, digitális aláírások Flashcards
(10 cards)
Kriptográfiai hash függvény
H : {0, 1}∗ → {0, 1}n, n ∈ N
Jó adatintegritás ellenőrzésére.
Lavinahatás: Egy bit változása az inputban, jelentős változást eredményez az outputban.
Példák: MD5, SHA-1, SHA-256, SHA-512
Elvárások a hash-el szemben
Nem injektívek (ütközés):
x != x’ de mégis h(x) = h(x’)
Őskép ellenálló : y érték esetén, nehéz olyan x-et találni, hogy H(x) = y, tehát nem visszavezethető.
Második őskép ellenálló (gyengén ütközésmentes) : Nehéz adott x-hez olyan x’-t találni, hogy H(x)=H(x’)
Ütközésmentes (Erősen ütközésmentes) : Eleve egy pár x és x’ találni amelyek H(x) = H(x’)
Üzenethitelesítés MAC (Message Authentication Codes)
Nincs letagadhatatlanság!
Viszon hitelesség igen.
Egy szimetrikus kulcspárt alkalmaz a küldő és fogadó fél.
Ezzel a kulcsal és egy MAC algoritmussal fogja a küldő hozzákonkatenálni a MAC-et az üzenethez. Ezt a fogadő a MAC verifikációs algoritmussal és a kulcsal fogja leellenőrízni.
Pl.:
HMAC’K (m) = H((K’⊕opad) || H((K’⊕ipad) || m))
Digitális aláírási sémák
Van hitelesség és letagadhatatlanság is, mivel különböző a kulcs.
Egy titkos és privát kulcspárt alkalmaz. Az akáíró a titkos kulcsával és az aláíró algoritmussal ír alá. Ez az aláírás lesz összekonkatenálva az üzenettel. Ezt a fogadó az Aláírás ellenőrző algoritmussal és az aláíró publikus kulcsával fogja tudni ellenőrízni.
Digitális aláírás formális definíciója
DS = (Key, Sign, Ver)
Key: A k paraméterre kiszámítja a (PK, SK) kulcspárt
Sign: Aláíró algoritmus, amely M üzenethez és SK tiktkos kulcshoz generál egy s = Sign(m) aláírást.
Ver: Ellenőrző algoritmus az m üzenetre és s aláírásra igazat vagy hamisat ad vissza.
Támadó célja
Egszisztenciális hamisítás :
A támadó képes egy aláírt üzenetet generálni.
Szelektív hamisítás : A támadó képes egy általa választott üzenethez aláírást generálni.
Univerzális hamisítás : A támadó bármilyen üzenethez képes érvényes aláírást generálni.
Teljes feltörés : A támadó ki tudja számolni az aláíró fél titkos kulcsát.
Támadási módok
Csak a nyilvános kulcs ismert:
A támadó csak a nyilvános kulcsot ismeri.
Ismert üzenet alapú támadás: A támadó ismer egy ugyanazon kulccsal aláírt üzenetlistát.
Választott üzenet alapú támadás: A támadó rendelkezésére áll egy általa választott üzenetek és a hozzájuk tartozó aláírások listája.
Adaptív választott üzenet alapú támadás: A támadó rendelkezésére áll egy általa választott üzenetek és hozzájuk tartozó aláírások listája, ahol az üzenetet a korábban megkapott aláírások alapján válaszja.
RSA aláírási séma
Tankönyvi RSA elleni támadások
Az RSA univerzálisan hamisítható a választott üzenet alapú támadás mellett.
Az RSA egisztenciálisan hamisítható a csak nyilvános kulcs ismert támadás mellett.
(Diákon az algoritmusok átnézése.)
RSA-FDH
DS=(Key, Sign, Ver)
Kulcs generálása ugyan az.
Sign[SK] = H(m)^d (mod n), SK = d
VerPK = true/false
true, ha s^e = H(m) (mod n)