Kryptografická hashovací funkce je algoritmus, který lze spustit na datech, jako je jednotlivý soubor nebo heslo, k vytvoření hodnoty zvané kontrolní součet. Hlavním použitím kryptografické hashovací funkce je ověření pravosti části dat. Dva soubory lze považovat za identické pouze v případě, že kontrolní součty generované z každého souboru pomocí stejné kryptografické hashovací funkce jsou identické. Některé běžně používané kryptografické hashovací funkce zahrnují MD5 a SHA-1, i když existuje mnoho dalších. Kryptografické hashovací funkce jsou často označovány jako „hashovací funkce“, ale to není technicky správné. Hašovací funkce je obecný pojem, který zahrnuje kryptografické hashovací funkce spolu s dalšími druhy algoritmů, jako jsou kontroly cyklické redundance.
Kryptografické hashovací funkce: případ použití
Řekněme, že si stáhnete nejnovější verzi prohlížeče Firefox. Z nějakého důvodu jste jej potřebovali stáhnout z jiného webu než od Mozilly. Protože není hostován na webu, kterému jste se naučili důvěřovat, chtěli byste se ujistit, že právě stažený instalační soubor je přesně stejný jako ten, který nabízí Mozilla. Pomocí kalkulačky kontrolního součtu vypočítáte kontrolní součet pomocí konkrétní kryptografické hashovací funkce, jako je SHA-2, a poté ji porovnáte s funkcí publikovanou na webu Mozilly. Pokud jsou stejné, můžete si být přiměřeně jisti, že stahování, které máte, je to, které má Mozilla v úmyslu mít.
Je možné obrátit kryptografické funkce hash?
Kryptografické hashovací funkce jsou navrženy tak, aby zabránily možnosti vrátit kontrolní součty, které vytvářejí, zpět k původním textům. I když je prakticky nemožné je zvrátit, není 100% zaručeno, že ochrání data. Hackeři mohou k určení prostého textu kontrolního součtu použít duhovou tabulku. Duhové tabulky jsou slovníky, které uvádějí tisíce, miliony nebo dokonce miliardy kontrolních součtů vedle jejich odpovídající hodnoty v prostém textu. I když to technicky nezvrací kryptografický hash algoritmus, mohlo by to být, vzhledem k tomu, že je to tak snadné. Ve skutečnosti, protože žádný duhový stůl nemůže vypsat všechny možné kontrolní součty, které existují, jsou obvykle užitečné pouze pro jednoduché fráze, jako jsou slabá hesla. Zde je zjednodušená verze duhové tabulky, která ukazuje, jak by člověk fungoval při použití kryptografické hash funkce SHA-1:
Příklad duhové tabulky | |
---|---|
Prostý text | Kontrolní součet SHA-1 |
12345 | 8cb2237d0679ca88db6464eac60da96345513964 |
heslo1 | e38ad214943daad1d64c102faec29de4afe9da3d |
miluji svého psa | a25fb3505406c9ac761c8428692fbf5d5ddf1316 |
Jenny400 | 7d5eb0173008fe55275d12e9629eef8bdb408c1f |
dallas1984 | c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2 |
Hacker musí vědět, který kryptografický hash algoritmus byl použit ke generování kontrolních součtů k určení hodnot. Pro větší ochranu provádějí některé weby, které ukládají uživatelská hesla, další funkce v kryptografickém hashovacím algoritmu po vygenerování hodnoty, ale před jejím uložením. Tento proces vytváří novou hodnotu, které rozumí pouze webový server a která neodpovídá původnímu kontrolnímu součtu. Například po zadání hesla a vygenerování kontrolního součtu může být rozděleno na několik částí a přeskupeno, než bude uloženo v databázi hesel, nebo mohou být určité znaky vyměněny za jiné. Při pokusu o ověření při příštím přihlášení uživatele webový server obrátí tuto další funkci a původní kontrolní součet se znovu vygeneruje, aby se ověřilo, že heslo uživatele je platné. Provedení těchto kroků omezuje užitečnost hackeru, při kterém jsou ukradeny všechny kontrolní součty. Cílem je provést funkci, která není známa, takže pokud hacker zná kryptografický hash algoritmus, ale ne ten vlastní, pak znalost kontrolních součtů hesla je neužitečná.
Hesla a kryptografické hashovací funkce
Databáze ukládá hesla uživatelů způsobem podobným duhové tabulce. Po zadání hesla se vygeneruje kontrolní součet a porovná se s heslem zaznamenaným s vaším uživatelským jménem. Poté vám bude udělen přístup, pokud jsou dva identické. Vzhledem k tomu, že kryptografická hashovací funkce vytváří nevratný kontrolní součet, je bezpečné, abyste si heslo mohli vytvořit tak snadno 12345, namísto 12 @ 34 $ 5jednoduše proto, že samotné kontrolní součty nelze pochopit? Ne, a tady je důvod. Tyto dvě hesla nelze dešifrovat pouhým pohledem na kontrolní součty:
MD5 pro 12345: 827ccb0eea8a706c4c34a16891f84e7b
MD5 pro 12 @ 34 $ 5: a4d3cc004f487b18b2ccd4853053818b
Na první pohled si můžete myslet, že je v pořádku použít jedno z těchto hesel. To platí, pokud se útočník pokusil zjistit vaše heslo uhádnutím kontrolního součtu MD5, což nikdo neudělá, ale není to pravda, pokud je proveden útok hrubou silou nebo slovníkem, což je běžná taktika. K útoku hrubou silou dochází, když dojde k náhodnému bodnutí při hádání hesla. V takovém případě by bylo snadné uhodnout 12345, ale je docela těžké náhodně zjistit ten druhý. Slovníkový útok je podobný v tom, že útočník může vyzkoušet každé slovo, číslo nebo frázi ze seznamu běžných (a ne tak běžných) hesel a 12345 je jedno z těchto běžných hesel. I když kryptografické hashovací funkce vytvářejí kontrolní součty obtížně až nemožné uhodnout, měli byste stále používat komplexní heslo pro všechny své online a místní uživatelské účty.
Více informací o kryptografických hašovacích funkcích
Mohlo by se zdát, že kryptografické hashovací funkce souvisejí se šifrováním, ale obě fungují různými způsoby. Šifrování je obousměrný proces, při kterém se něco zašifruje, aby se stalo nečitelným, a poté se dešifruje, aby se znovu použilo normálně. Uložené soubory můžete zašifrovat, aby je nemohl používat kdokoli, kdo k nim přistupuje, nebo můžete pomocí šifrování přenosu souborů šifrovat soubory, které se pohybují po síti, například ty, které nahráváte nebo stahujete online. Kryptografické hashovací funkce fungují odlišně v tom, že kontrolní součty nemají být obráceny pomocí speciálního hesla pro dešifrování. Jediným účelem, který kryptografické hash funkce slouží, je porovnání dvou dat, například při stahování souborů, ukládání hesel a načítání dat z databáze. Je možné, aby kryptografická hashovací funkce vytvořila stejný kontrolní součet pro různé části dat. Když k tomu dojde, nazývá se to kolize, což je obrovský problém vzhledem k tomu, že celý bod kryptografické hash funkce je vytvořit jedinečné kontrolní součty pro každý vstup dat do ní. Může dojít ke kolizím, protože každá kryptografická hashovací funkce vytváří hodnotu pevné délky bez ohledu na vstupní data. Například kryptografická hash funkce MD5 generuje 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 a e10adc3949ba59abbe56e057f20f883e pro tři zcela odlišné bloky dat. První kontrolní součet je z 12345. Druhá byla vygenerována z více než 700 písmen a čísel a třetí pochází z 123456. Všechny tři vstupy mají různou délku, ale výsledky byly vždy jen 32 znaků dlouhé, protože byl použit kontrolní součet MD5. Počet kontrolních součtů, které lze vytvořit, není nijak omezen, protože každá malá změna ve vstupu má vytvořit zcela odlišný kontrolní součet. Protože existuje počet kontrolních součtů, které může jedna kryptografická hashovací funkce vyprodukovat, vždy existuje možnost, že narazíte na kolizi. Z tohoto důvodu byly vytvořeny další kryptografické hashovací funkce. Zatímco MD5 generuje 32 znakovou hodnotu, SHA-1 generuje 40 znaků a SHA-2 (512) generuje 128. Čím větší počet znaků má kontrolní součet, tím méně je pravděpodobné, že dojde ke kolizi. Více od Lifewire
-
Co je kontrolní součet?
-
Co je soubor SFV?
-
Jak ověřit integritu souborů ve Windows pomocí FCIV
-
Jak stáhnout a nainstalovat ověřovač integrity kontrolního součtu souboru (FCIV)
-
Co je SHA-1 a jak se používá k ověření dat?
-
Ověření kontrolního součtu MD5 souboru
-
Co je MD5? (Algoritmus MD5 Message-Digest)
-
6 nejlepších bezplatných online antivirových skenerů roku 2021
-
Příklady slabých a silných hesel
-
Co je elektronický podpis?
-
5 tipů pro zabezpečení bezdrátové sítě
-
Jak fungují správci hesel?
-
Co je šifrování typu end-to-end?
-
Co je IPSec?
-
COMODO Disk Encryption v1.2
-
Jak zabezpečit přenosný hotspot Wi-Fi
Vaše práva na soukromí
Lifewire a naši partneři třetích stran používají soubory cookie a zpracovávají osobní údaje, jako jsou jedinečné identifikátory, na základě vašeho souhlasu s ukládáním a / nebo přístupem k informacím v zařízení, zobrazováním personalizovaných reklam a pro měření obsahu, přehled publika a vývoj produktů. Chcete-li změnit nebo odvolat váš výběr souhlasu pro Lifewire.com, včetně vašeho práva vznést námitku, kde je použit oprávněný zájem, klikněte níže. Nastavení můžete kdykoli aktualizovat pomocí odkazu „Ochrana osobních údajů v EU“ v dolní části jakékoli stránky. Tyto volby budou globálně signalizovány našim partnerům a nebudou mít vliv na data procházení. Seznam partnerů (prodejců)
My a naši partneři zpracováváme údaje pro:
Aktivně pro identifikaci skenujte vlastnosti zařízení. Používejte přesná geolokační data. Ukládejte a / nebo přistupujte k informacím na zařízení. Vyberte přizpůsobený obsah. Vytvořte si osobní profil obsahu. Měření výkonu reklamy. Vyberte základní reklamy. Vytvořte si přizpůsobený profil reklam. Vyberte přizpůsobené reklamy. Aplikujte průzkum trhu a získejte přehled o publiku. Měření výkonu obsahu. Vyvíjejte a vylepšujte produkty. Seznam partnerů (prodejců)