Deși este posibil să se construiască un cifr de flux dintr-o funcție hash. Această construcție are un defect foarte grav.
Cea mai mare problemă este că nu aveți nimic, așa că dacă cheia dvs. este reutilizată, decriptarea ambelor mesaje devine banală, deoarece tocmai trimiteți textul simplu.
Ceea ce aveți efectiv este următorul bloc:
În plus, nu veți primi 2048 de biți de criptare aici. De exemplu, aș putea ataca primii 512 biți de criptare a textului. Ceea ce înseamnă că trebuie să găsesc doar prima cheie. La fel pentru a doua cheie etc... Deci, pentru întregul bloc, trebuie să găsiți doar 4 chei. Deci, efectiv, ați mărit lungimea cheii doar cu 2 biți. Acest lucru se datorează faptului că fiecare cheie este independentă de cealaltă, astfel încât, într-un atac cu forță brută, schimbarea uneia nu afectează celelalte taste.Deci, dacă obiectivul tău a fost 2048 de biți de putere cheie, este chiar mai rău decât o întâlnire la mijlocul atacului. Practic, este la fel de puternic ca lungimea de biți a cheilor tale de pornire.
De asemenea, o cheie atât de mare este oarecum inutilă pentru cifrurile simetrice.
Securitatea post-cuantică a funcțiilor hash, cum ar fi BLAKE2b, este deja destul de sigură, mai ales cu un digest pe 512 biți.