Přeskočit na obsah

Secure Hash Algorithm

Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)

SHA hashovací funkce

SHA hashovací funkce je pět hashovacich fubkcí, které jsou navrhl National Security Agenci (NSA) a vydala NIST jako americký Federal Information Processing Standard (FIPS). SHA znamená Secure Hash Algorithm.Hashovací algorytmy přířadí vstupni sekvencí dat (zpráva) jakékoliv délky zahashovanou zprávu (obraz zprávy), který ma fixní délku. "Hashovací algoritmy jsou "bezpečné" pokud je nemožné 1. najít zprávu která odpovídá svemu zahashovanému obrazu nebo 2. najit dvě rozdílné zprávy ze kterých po zahashování vznikne stejný obraz. Jakákoli změna zprávy, s velkou pravděpodobností, povede k jinému obrazu." Je označeno 5 algoritmů SHA-1, SHA-224, SHA-256, SHA-384,a SHA-512. poslední čtyři varianty se uvadějí souhrně jako SHA-2. SHA-1 vytvoří obraz zprávy dlouhý 160 bitů; čísla u ostatních čtyř algoritmů značí délku bitů, kterou ma boraz zprávy po zahashování. SHA-1 se používá u několika rozličných zabezpečovacích aplikací a protokolech, včetně TLS a SSL, PGP, SSH, S/MIME a IPsec. Byli považovány za nástupce MD5, dříve často používané hashovaci funkce. Bezpečnost SHA-1 bylo poněkud zpochybněna kryptografickými odborníky. Ačkoli žádné útoky nebyli do ted na SHA-2 varianty oznámeny, ty jsou algoritmicky stejné s SHA-1. Otevřená konkurence pro novou SHA-3 funkci byla formálně oznámena ve Federal Register druhého listopadu 2007. "NIST má usilí do zavádění jednnoho nebo více dalších hashovacích algoritmů zkrz veřejnou konkurenci, stejně s vývojem procesu pro Advanced Encryption Standard (AES). První návrhy jsou očekávány jednatřicátého řijna 2008 a provolání vítězné publikace za nový standart je naplánován na rok 2012

SHA-0 a SHA-1

originální specifikace algoritmu byla publikována v roce 1993 jako Secure Hash Standart, FIPS PUB 180, vedením americké normalizační agentůry NIST(National Institute of Standards and Technology). Tato verze je dnes známá jako SHA-0. NSAjí stáhla krátce po vydání a byla nahrazena revidovanou verzí, vydanou v roce 1995, FIBS PUB 180-1, obvykle uváděná jako SHA-1. SHA-1 se liší od SHA-0 pouze jednou bitovou rotací, provedenou pomocí One-way kompresní funkce, toto bylo uděláno podle NSA oprava vady v originálním algoritmu který redukuje šifrovací bezpečnost. Nicméně NSA neposkytla žádné daší objasnění nebo vysvětlení jaká vada byla opravena.Slabá stránky byly následovně ohlášeny v SHA-0 i v SHA-1. SHA-1 se zdá být více obranyschopná proti útokům, podporuje tvrzení NSA, že změnami stoupá bezpečnost. SHA-1 (stejně jako SHA-0) vytváří 160 bitový obraz zprávy s maximální délkou 264 - 1 bitů a je založený na principech které používa Ronald L. Rivest z Massachusetts Institute of Technology (MIT) v návrhu MD4 a MD5 algoritmů.

Dešifrování

Pro ideální hashovací funkci, porušující první kriterium uvedené výše, nalezení zprávy, která koresponduje se svým obrazem, může být vždy použita jako hrubá síla při hlednání 2naL výpočtů, kde L je velikost bitů v obrazu zprávy. Toto se nazývá vzorový útok(preimage attack). Druhé kriterium, nalezení dvourozdílných zpráv, které mají stejný obraz, nazývaný kolize, vyžaduje jen 2L/2 výpočtů k provedení tzv. narozeninového útoku (birthday attack). Pro pozdější důvody síly hashovací funkce je obvyklé srovnání se symetrickou šifrou o poloviční délce obrazu zprávy. Tak byla SHA-1 originálně považována za hashovací algoritmus se sílou 80-ti bitů. Dešifrovači vytvořily kolizní pár pro SHA-0 a našli algoritmus, který může vytvořit SHA-1 kolizy v daleko méně než ve zmiňovaných 2 80 výpočtech. Vpodmínkách praktického zabezpečení a ve velkém zájmu kolem tohoto nového útoku, který může vést k účinějšímu zabezpečení. Se zdá, že tento případ teď rozpoutal častou migraci k silnějším hashům, což je důvěra v moudré. Nějáké z alpikace, které používají šifrovací hashe, jako heslo paměti, jsou jen minimálně ovlivněny kolizním útokem. Postavení hesla, které použijeme pro učet vyžaduje primární útok a přístup k hashi z originálního hesla, které může a nemusí být triviální. Obrácené šifrovací heslo není možné vytvořit při útok. V případě podepsání dokumentu, nemůže útočník jednoduše padělat podpis z již existujícího dokumentu - útočník by měl vytvořitpár dokumentů, jeden neškodný a druhý škodlivý, a požádat držitele privátního klíče o podpis na nežkodném dokumentu. Jsou zde praktické okolnosti, kdy je to možné.