Puncte:3

Crearea unui hash criptografic mai puternic a dat un hash criptografic

drapel cn

Am nevoie de o funcție hash criptografică care, sperăm, va fi puternică chiar și peste 50 de ani. Performanța nu este o problemă. Calcularea și verificarea poate dura mult timp dacă este necesar. Dimensiunea hash-ului poate fi și ea uriașă (să spunem până la 10 MB). Coliziunile nu sunt o mare amenințare.Îmi doresc în principal să fie rezistent la a doua preimagine.

Desigur, nu am nicio problemă să folosesc unul sau mai multe hashuri existente.

Primul meu gând a fost:

$h'(x) := h(a_1 \parallel x) \parallel h(a_2 \parallel x) \parallel h(a_3 \parallel x) \parallel \dots$

Unde $a_n$ sunt prefixe cunoscute. Dar nu știu cât de bun este. Dacă $h$ este md4, cât de greu este să găsești o a doua preimagine $h'$?

Alte idei?

kelalaka avatar
drapel in
dacă coliziunea nu este o amenințare, atunci utilizați o funcție hash de 512 biți. Asta te va proteja împotriva atacurilor clasice și cuantice. SHA-512, SHA3-512 ar trebui să fie suficient pentru tine.
Maarten Bodewes avatar
drapel in
Dacă se găsește vreun atac, nu dimensiunea ieșirii contează; este funcția hash care se defectează. Crearea unui hash de ex.SHA-512 și SHA-3-512 ar avea mai mult sens, deoarece folosesc metode destul de diferite; este puțin probabil să se spargă simultan. Primele protocoale TLS au concatenat un hash MD5 și SHA-1 în formatul semnăturii, dacă îmi amintesc bine.
Maarten Bodewes avatar
drapel in
Vă rugăm să verificați cât de mult s-a răspuns deja [în acest răspuns](https://crypto.stackexchange.com/q/270/1172). L-aș fi închis deja ca un dup *dacă nu ai fi exclus coliziunile*.
drapel cn
@MaartenBodewes Mulțumesc. Deși are o focalizare complet diferită de a mea. Autorului îi pasă mai mult de „preimaginea originală”.
drapel cn
@MaartenBodewes În ceea ce privește „nu dimensiunea de ieșire contează”. Nu am crezut că are. Doar că este mai greu să găsesc această preimagine. pentru că trebuie să găsiți un `x`, deci `h(a1 || x) == output1` ȘI `h(a2 || x) == output2`
Paul Uszak avatar
drapel cn
Doar o rapidă: de ce aveți nevoie de o funcție hash criptografică care, sperăm, va fi puternică chiar și peste 50 de ani?
drapel ph
Vă limitați la construirea dintr-o singură funcție hash existentă? O abordare evidentă ar fi doar combinarea rezultatelor mai multor altele diferite.
Puncte:3
drapel my

După cum sa menționat în comentarii, un hash existent de 512 biți este destul de probabil să fie suficient.

Cu toate acestea, dacă sunteți cu adevărat paranoic (și doriți să vă protejați împotriva potențialelor descoperiri criptografice), lucrul evident de făcut este să vă bazați pe mai multe funcții hash distincte criptografic, concatinate împreună. De exemplu:

$$H(x) = SHA2\text{-} 512(x) | SHA3\text{-}512(x) | Whirlpool(x)$$

Concatinându-le împreună, ne asigurăm că orice atac de a doua preimagine ar trebui să fie un atac de a doua preimagine asupra tuturor celor trei; toate trei sunt (din câte știm) individual sigure (de fapt, exagerat). Și, elementele interne ale celor trei sunt suficient de diferite încât pare destul de puțin probabil ca un atac criptografic asupra unuia să se aplice celorlalți doi.

Puncte:-1
drapel cn

Err, 50 de ani?

Nu poţi. Tu prezici viitorul. Aceste sunt și predicții de viitor. Cred cu adevărat că plugurile de zăpadă care aruncă flăcări sunt chiar după colț.

Securitatea totală pentru viitor există ca un concept. Tampoanele unice și partajarea secretelor sunt sigure din punct de vedere informațional, ceea ce înseamnă pentru tot timpul. De aceea, încă folosim tampoane unice pentru mesajele diplomatice. Luați în considerare acest polinom hash atunci. Dar având în vedere linkul anterior, cum convingem pe cineva că o măsură de securitate a $2^{-32}$ sau chiar $2^{512}$ nu poate fi depășită. Nu am spus forțat brut, am spus depășit. Reliniarizare, tehnica Algomorov, calculul cuantic paralel, progresele matematice și aruncatoarele de flăcări demonstrează că nu putem vedea mai mult de câțiva ani în viitor. Tuși, tușesc, îmi este foarte fierbinte...

Tine minte:-

„Cred că există o piață mondială pentru aproximativ cinci computere”.

-- Thomas J Watson, președinte IBM.

drapel cn
inteleg desigur. Cu toate acestea, mi-ar plăcea să am o soluție optimă. Dacă se rupe, se rupe. Viața mea nu depinde de asta. Dar, așa cum am întrebat, aș dori să înțeleg cum pot face un hash mai puternic, având în vedere constrângerile mele și hashurile existente și flexibilitatea (timpul de calcul și validare și stocarea pot fi uriașe).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.