Puncte:10

De ce este SHA3 mai sigur decât SHA2?

drapel in

De ce sunt considerați algoritmii SHA3 mai siguri decât omologii lor SHA2? Cu siguranță, în parte, se datorează rezistenței lor la atacurile de extensie de lungime. Dar în mod specific, când se ia în considerare rezistența la coliziune, aceștia au aceiași timpi de atac O(n).

Oare pentru că sunt mai rezistente la atacurile preimagine?

poncho avatar
drapel my
„De ce algoritmii SHA3 sunt considerați mai siguri decât omologii lor SHA2?” - Personal bănuiesc că o mare parte din motivul pentru care mulți presupun că este pentru că $3 > 2$...
kelalaka avatar
drapel in
Nu există nicio funcție hash criptografică care să fi spart rezistența pre-imagine, chiar și MD5 atacul existent pre-imagine nu este practic decât forța brută.
Maarten Bodewes avatar
drapel in
„De ce algoritmii SHA3 sunt considerați mai siguri decât omologii lor SHA2?” Aceasta nu este Wikipedia, dar aceasta cere doar o \[citare necesară\].
Dmitry Grigoryev avatar
drapel us
@poncho Îmi amintește că, în țările nevorbitoare de rusă, numerele de vânzare ale modificărilor la export ale camioanelor [KAMAZ](https://en.wikipedia.org/wiki/Kamaz) au fost constant sub modificările pentru piața internă, deoarece acesta din urmă prezenta o versiune rusă a logo-ului, ÐÐÐÐÐ, iar oamenii au presupus că KAMA3 este mai bun decât KAMA2.
Puncte:29
drapel ng

TL;DR: afirmația „SHA3 este mai sigură decât SHA2” nu este dovedită atunci când luăm în considerare rezistența la coliziune sau rezistența preimagine.

Adăugare: există motive pentru a prefera SHA3, inclusiv a fi un instrument mai general, deoarece este o instanțiere plauzibilă a unui oracol aleatoriu (spre deosebire de SHA2 datorită proprietății extensiei de lungime). ma refer la acest raspuns pentru mai mult.


Nu știm care dintre SHA2 sau SHA3 este mai rezistent la coliziuni. Ambele încearcă să obțină cea mai bună rezistență posibilă la coliziune pentru a $n$-bit hash, de ex. costul unui $2^{n/2}$ hashes (într-un factor nu prea departe de 1) pentru a obține o coliziune cu probabilitatea â39% de succes.

Nu știm care dintre SHA2 sau SHA3 este mai rezistent la preimagine. Ambele încearcă să obțină cea mai bună rezistență preimagine posibilă pentru a $n$-bit hash, de ex. costul unui $2^n$ hashes (într-un factor nu prea departe de 1) pentru a obține preimagine cu probabilitate â63% de succes. Nu a fost întotdeauna cazul: pe scurt, rezistența preimagine a draftului SHA3 a fost scăzută, în interesul de a o face mai rapidă, mult sub cea (conjecturată) pentru SHA2. Dar această schimbare a provocat controverse și a fost inversată, vezi acest. Acum trebuie să folosim SHAKE atunci când nu dorim rezistența prea mare a imaginii SHA2 și preferăm mai multă viteză.

Argument pe care nu îl știm: dacă am ști care sau SHA2 sau SHA3 este cel mai sigur din punct de vedere al rezistenței la coliziune sau preimagine (cu un factor mai mare decât diferența de viteză, ceea ce face ca algoritmul mai rapid să fie corespunzător mai puțin sigur), unul dintre SHA2 sau SHA3 ar fi rupte din acest punct de vedere.

Patriot avatar
drapel cn
Exact: nu știm. Istoria criptografiei este în mare parte o poveste a oamenilor care spun că ceva era sigur - până când nu a fost.
drapel cn
„Dar acea schimbare a provocat controverse și a fost inversată” Ceea ce este trist la această decizie este că creșterea numărului de runde de SHAKE-256 pentru a se potrivi cu performanța lui SHA3-512 ar fi rezultat într-o funcție în care aș avea mult mai multă încredere decât SHA3- 512.
corsiKa avatar
drapel us
@Patriot doar afacerea Sith în absolute
Puncte:22
drapel cn

Acesta este mai mult un addendum la răspunsul lui fgrieu decât un răspuns în sine, dar 3 lucruri ies în evidență că AR PUTEA face SHA3 mai sigur decât SHA2 din punct de vedere al designului.

Prima și cea mai evidentă este dimensiunea stării, SHA3 este substanțial mai mare la 1600 de biți decât chiar și SHA512... la doar 512 biți. SHA3 ​​fiind o funcție burete își obține nivelul de securitate din cât de mult din dimensiunea acelei stări o păstrează ascunsă de rezultatul hash final și acesta este unul dintre motivele pentru care este imun la atacurile de extensie de lungime. SHA-512 și SHA-256 scot întreaga lor stare, restul familiei SHA2 trunchiază la lungimea dorită. Având la dispoziție întreaga stare, anumite atacuri împotriva hashurilor bazate pe cifrul bloc, cum ar fi SHA2, mai ușor, trunchierea dură poate duce la alte atacuri.

Al doilea se poate schimba în timp, tamponul de securitate sau cât de mult din numărul complet de runde nu este întreruptă de cele mai bune atacuri împotriva funcției hash. Pentru coliziuni împotriva SHA2, aceasta este între 56% (coliziuni practice pentru SHA-256) si 30% (pseudocoliziune pentru SHA-256) dar 79% uimitor pentru SHA3 (coliziune practică de 5 runde)

Și ultimul lucru este mai mult despre modul în care hash-ul poate fi implementat în software, SHA3 pe platformele pe 64 de biți necesită mai puțin cod pentru a fi implementat, ceea ce înseamnă că mai puțin cod poate fi implementat în mod nesigur. De asemenea, este considerat (de către majoritatea oamenilor pe care îi cunosc) mai ușor de citit codul SHA3, iar constantele rotunde pot fi generate algoritmic în timpul execuției.

De ce algoritmii SHA3 sunt considerați mai siguri decât omologii lor SHA2?

Concurența SHA3 a fost creată din cauza noilor atacuri împotriva MD5 și SHA-1, care au creat o amenințare percepută pentru analiza viitoare a SHA2 care ar putea duce la atacuri practice. Acest lucru nu s-a întâmplat, iar SHA2 a rezistat împotriva criptoanalizei.

Concurența SHA3 a generat multe funcții hash fantastice, care erau mai capabile funcțional decât SHA2, aveau performanțe hardware mai bune sau aveau un raport performanță/securitate mai bun. Dar asta nu înseamnă că SHA3 este funcția hash de facto MAI sigură.. dar nici nu înseamnă că SHA2 este. Sunt modele foarte diferite, iar SHA3 este mai capabil, ȘI SHA3 are un buffer de securitate potențial mai mare, dar niciunul nu este rupt (cu excepția atacurilor cu extensie de lungime, dar asta era deja cunoscut).

Puncte:10
drapel cn

Știu că ați menționat deja atacurile de extensie de lungime în întrebarea dvs., dar nu cred că importanța acestora poate fi exagerată în modul în care este SHA3 practic mai sigur decât SHA2 - mai ales ori de câte ori vă veți crea propriile protocoale/sisteme criptografice pe deasupra. Datorită atacurilor de extensie de lungime, utilizarea SHA2 poate necesita măsuri active (de exemplu, HMAC) dincolo de hash-ul în sine pentru a-l utiliza în siguranță și majoritatea oamenilor care îl folosesc nu înțeleg acest lucru. Chiar dacă o fac, nevoia ocupă spațiu în modelul mental al cuiva care ar putea fi cheltuit pe lucruri mai valoroase.

În plus, implementările lui SHA2 pot fi supuse unor canale secundare care, în anumite contexte, scurg informații despre datele în curs de hashing. Acest lucru poate fi critic atunci când hash-ul este utilizat cu material cheie, cum ar fi în HMAC sau semnături. Această hârtie pretinde că recuperează cu succes cheile private din implementarea WolfSSL (2017) a Ed25519 folosind un astfel de canal lateral. SHA3 ​​prin design nu invită scurgeri de canal lateral.

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.