Hashovací funkce
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky) |
m (Přidán zdroj.) |
||
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.) | |||
Řádka 6: | Řádka 6: | ||
*vstup: libovolný text | *vstup: libovolný text | ||
*výstup: číslo pevné délky (daný počet bitů) | *výstup: číslo pevné délky (daný počet bitů) | ||
− | * splňuje [[ | + | * splňuje [[Hashovací_funkce#Požadavky | požadavky]] viz dále. |
Výstup nazýváme „otisk“ (fingerprint). | Výstup nazýváme „otisk“ (fingerprint). | ||
<div class="Poznamka">Různé vstupní texty tedy mohou generovat stejný výstup.</div> | <div class="Poznamka">Různé vstupní texty tedy mohou generovat stejný výstup.</div> | ||
+ | |||
== Požadavky == | == Požadavky == | ||
Aby hashovací funkce plnila svou funkcí, musí být výpočetně složité: | Aby hashovací funkce plnila svou funkcí, musí být výpočetně složité: | ||
− | * získat z otisku vstupní text | + | * získat z otisku vstupní text |
− | * vyrobit (libovolný) text se zadaným | + | * vyrobit (libovolný) text se zadaným otiskem |
* vyrobit dva texty se stejným otiskem | * vyrobit dva texty se stejným otiskem | ||
Dále: | Dále: | ||
Řádka 19: | Řádka 20: | ||
* podobné vstupy generují velmi odlišné otisky (podobnost vstupů se neprojeví v podobnosti otisků) | * podobné vstupy generují velmi odlišné otisky (podobnost vstupů se neprojeví v podobnosti otisků) | ||
+ | |||
+ | == Použití == | ||
+ | * ukládání hesel | ||
+ | * elektronický (digitální) podpis | ||
+ | * ověření správnosti staženého dokumentu | ||
+ | ** na stránkách je dokument a jeho otisk | ||
+ | ** stáhneme dokument | ||
+ | ** vygenerujeme otisk | ||
+ | ** porovnáme se správným otiskem. | ||
+ | |||
+ | <div class="Poznamka"> | ||
+ | Při použití hashovacích funkcí neříkejte, že zprávu ''zašifrujeme''!!! | ||
+ | |||
+ | Viz také: [[K%C3%B3dov%C3%A1n%C3%AD-%C5%A1ifrov%C3%A1n%C3%AD-hashov%C3%A1n%C3%AD]] | ||
+ | </div> | ||
== Příklady == | == Příklady == | ||
Řádka 30: | Řádka 46: | ||
* Stejní autoři jako šifrovací metoda Serpent | * Stejní autoři jako šifrovací metoda Serpent | ||
− | + | <div class="Priklad">Zkuste si spočítat hashovací funkci SHA 256 pro své jméno a příjmení, nebo pro jiný text: | |
− | = | + | [http://www.xorbin.com/tools/sha256-hash-calculator XorBin.com → SHA256 Hash Calculator] |
− | + | </div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Řádka 45: | Řádka 55: | ||
* Generování otisku souboru nebo zadaného textu. | * Generování otisku souboru nebo zadaného textu. | ||
* Podporuje mnoho hashovacích funkcí. | * Podporuje mnoho hashovacích funkcí. | ||
+ | |||
+ | |||
+ | |||
+ | == Zdroje == | ||
+ | * [https://security.blogoverflow.com/2013/09/about-secure-password-hashing/ Security.BlogOverflow.com → About secure password hashing] |
Verze z 28. 5. 2019, 10:53
Obsah |
Hashovací funkce
Je to matematické funkce s následujícími vlastnostmi:
- vstup: libovolný text
- výstup: číslo pevné délky (daný počet bitů)
- splňuje požadavky viz dále.
Výstup nazýváme „otisk“ (fingerprint).
Různé vstupní texty tedy mohou generovat stejný výstup.
Požadavky
Aby hashovací funkce plnila svou funkcí, musí být výpočetně složité:
- získat z otisku vstupní text
- vyrobit (libovolný) text se zadaným otiskem
- vyrobit dva texty se stejným otiskem
Dále:
- stejný vstup generuje stejný otisk
- podobné vstupy generují velmi odlišné otisky (podobnost vstupů se neprojeví v podobnosti otisků)
Použití
- ukládání hesel
- elektronický (digitální) podpis
- ověření správnosti staženého dokumentu
- na stránkách je dokument a jeho otisk
- stáhneme dokument
- vygenerujeme otisk
- porovnáme se správným otiskem.
Při použití hashovacích funkcí neříkejte, že zprávu zašifrujeme!!!
Viz také: Kódování-šifrování-hashování
Příklady
- SHA
- Verze SHA-1, SHA-2 (délky klíčů 224, 256 a 512 bitů).
- V nových aplikacích se nedoporučuje používat SHA-1 (2012: V tuto chvíli považována ještě za bezpečnou, ale délka klíče 160 bitů nejspíš do budoucna bezpečná nebude.)
- MD5
- dnes už není považována za bezpečnou
- 128bitový otisk
- Tiger
- Stejní autoři jako šifrovací metoda Serpent
Zkuste si spočítat hashovací funkci SHA 256 pro své jméno a příjmení, nebo pro jiný text:
Nástroje
- HashCalc
- Generování otisku souboru nebo zadaného textu.
- Podporuje mnoho hashovacích funkcí.