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).