Jaký je rozdíl mezi šifrováním SHA a SHA-1?

click fraud protection

SHA je zkratka pro Secure Hash Algorithm, šifrovací standard vynalezený Národní bezpečnostní agenturou a publikovaný Národními instituty pro standardy a technologie. Bylo zjištěno, že původní algoritmus SHA má slabiny ve svých šifrovacích metodách a byl nahrazen SHA-1 pro vyšší zabezpečení.

Secure Hash Algorithm

SHA je kryptografická hašovací funkce. Hashovací funkce vezme počáteční nezašifrovaný text, nazývaný prostý text, a vytvoří teoreticky jedinečné číslo, které tvoří zašifrovanou zprávu. SHA vytvoří 160bitové číslo, což je číslo mezi 0 a 1,46 x 10^48. Není možné, aby toto číslo bylo zaručeno jedinečné pro všechny možné zprávy v otevřeném textu, protože počet takových zpráv je teoreticky nekonečné, ale pravděpodobnost je přibližně 2^80, neboli 1,21 x 10^24, proti dvěma zprávám produkujícím stejné šifrované výsledek. Pokud k tomu dojde, nazývá se to kolize. Kolize poskytuje matematický útok na šifrovací algoritmus, což umožňuje kryptografovi dešifrovat prostý text.

Video dne

SHA-0 a SHA-1

Po jeho zveřejnění byly objeveny chyby v původním algoritmu SHA, které umožňovaly kryptografickým útokům způsobit hašovací kolize, což vážně oslabilo jeho účinnost. Byla vyvinuta revidovaná verze SHA, SHA-1, která vytvořila stejné 160bitové výsledky bez původních nedostatků v algoritmu. Původní SHA byl zpětně přejmenován na SHA-0, aby se rozlišovalo mezi jeho použitím a použitím SHA-1.

Změny v SHA-1

Původní chyby v SHA-0 nebyly nikdy zveřejněny, protože tyto chyby poskytují sadu nástrojů pro každého útočníka, který se pokouší dešifrovat zprávu pomocí šifrování SHA-0. Jediná veřejná informace o slabinách původního algoritmu naznačuje, že kolize hashů jsou pravděpodobnější než z náhodné náhody při použití SHA-0 a že kolize pomocí nepublikované metody jsou při použití eliminovány SHA-1. Protože SHA-1 a SHA-0 poskytují matematické výsledky stejné délky, lze SHA-1 použít jako náhradní v počítačovém softwaru pro původní algoritmus SHA-0 bez nutnosti velkých přepisů ve zbytku software.

SHA-2 a SHA-3

Bylo zjištěno, že SHA-1 je robustnější než SHA-0, ale ponechává prostor pro zlepšení. Matematická analýza výsledků SHA-1 prokázala metodu, kterou by bylo možné prolomit šifrování SHA-1 2000krát rychleji, než by bylo teoreticky možné, kdybychom zkontrolovali všech 10^48 možných kombinací výstup. Protože ideální kryptografický algoritmus brání takovýmto vylepšením rychlosti dešifrování, algoritmus SHA-2 se tomuto útoku vyhýbá a zároveň zvyšuje možnou velikost hash na 512 bitů neboli 1,34 x 10^154. SHA-3, stále výkonnější šifrovací algoritmus, je v současné době ve vývoji.