SHA-1 dokončno zlomljen in razsut
Da SHA-1 ni varen zgostitveni (hash) algoritem, vemo že nekaj let. Pred dvema letoma je Google pokazal dve datoteki, ki sta različni, a ste imeli enak podpis SHA-1, kar je bil prvi praktični primer zloma tega algoritma. Sedaj pa je njegovo lomljenje postalo še enostavnejše, saj so raziskovalci iz Francije in Singapura pokazali, kako lahko ustvarimo datoteke, ki imajo lahko na začetku poljubne podatke, pa še vedno želeni podpis SHA-1 (chosen-prefix collision). Z drugimi besedami, sedaj lahko skoraj poljubno ponarejamo vsebino, ki je podpisana s SHA-1.
Zgostitveni algoritmi imajo nalogo pretvoriti poljubno dolg niz podatkov (od kratkih stavkov do gigabajtnih datotek) v vedno enako dolg podpis, ki mora biti čim bolj unikaten. Seveda je možnih datotek več od podpisov, a algoritem mora biti dovolj nepredvidljiv, da iz podpisa ni moč pridobiti originalnih podatkov, da imajo različni podatki različen podpis (tudi majhna sprememba mora povzročiti drastično spremembo podpisa) in da je moč uganiti, kakšen vnos potrebujemo za določen podpis.
SHA-1 že od leta 2005 velja za zlomljenega in se od takrat ne uporablja več. Leta 2017 je Google v praksi pokazal dve datoteki, ki sta različni, a imata isti zgoščeni vrednosti. Tedaj SHA-1 ni bil le zlomljen, bil je razbit. Sedaj pa so ga raziskovalci raztreščili v prafaktorje.
Če je algoritem zgolj razbit oziroma če najdemo duplikat (collision), to hekerjem še ne omogoča zlorabe. Če pa odkrijemo mehanizem, ki omogoča v datoteke pripenjati poljubne podatke, tako da bo algoritem vračal želeni podpis, je ta tudi v praksi razsut. Trenutno za razbitje SHA-1 potrebujemo opremo v vrednosti 100.000 dolarjev, kar v resnici ni veliko.
V praksi se SHA-1 ne (bi smel) uporablja(ti). Namesto njega za podpisovanje priporočajo algoritme BLAKE2b, SHA-512/256, SHA-3 ali v skrajnih primerih SHA-2. Za shranjevanje gesel pa so primernejši Argon2id, scrypt ali bcrypt.