Hashovací funkce a jejich využití ve spojení s elektronickým podpisem (21. díl)
V předešlých dílech seriálu jsme se seznámili s různými způsoby šifrování. Dnes se zaměříme na takzvaný otisk neboli hash funkce. K čemu slouží, jak funguje a proč ji použít.
Jak jsme si ujasnili v minulých dílech seriálu, má pro dnešní potřeby poměrně velký význam asymetrické šifrování. Jde však o výpočetně složitou operaci a proto se často využívá takzvaný otisk neboli hash funkce.
„Hash funkce je transformace, která jako vstup přijímá řetězec znaků o libovolné délce a výsledkem je pak řetězec znaků s pevnou délkou, tzv. hash nebo také otisk. Hash funkce se často používají v kryptografii, kde se však na její kvalitu kladou další kritéria.“ (Zdroje: abclinuxu.cz nebo wikipedia.org)
Hash funkce (Obrázek upraven dle: KLÍMA, Vlastimil: Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně. Podklady, konference Security Upgrade 2006, 12. – 13. 4. 2006.)
Hash funkci si tedy lze obrazně srovnat například s otiskem prstu člověka. Otisk prstu je mnohem jednodušší informací než kompletní popis člověka. Nemusíme znát všechny vlastnosti (obsah) člověka k tomu, abychom ho dovedli jednoznačně identifikovat. Přitom šance, že existují na stejném místě a ve stejném čase dvě osoby se stejným otiskem prstu, je velmi malá a nepravděpodobná.
Pomocí hashovací funkce můžeme vytvořit otisk dokumentu (v produktech firmy Microsoft se používá termín miniatura). Vstupem hashovací funkce může být libovolný dokument (na velikosti dokumentu nezáleží), na výstupu obdržíme jeho otisk, který je ve srovnání s vlastním dokumentem velmi malý a má pevnou délku.
Pokud bychom v dokumentu změnili byť i jediný znak (bit), dostaneme na výstupu úplně jiný, odlišný otisk. (Volně dle materiálů Společnosti pro informační společnost – Konference „Elektronická fakturace“, která proběhla 26. 11. 2003 v Kaiserštejnském paláci.)
Bit
Bit (z anglického binary digit, dvojková číslice; angl. bit = drobek, kousek) je základní a nejmenší jednotka množství informace, používaná hlavně v informatice. Značí se malým písmenem b, např. 16 b. Reprezentuje informaci, získanou odpovědí na jednu otázku typu (například ano/ne, pravda/nepravda, +/-) u které je apriorní pravděpodobnost obou odpovědí stejná. Tyto odpovědi můžeme označit binárními číslicemi 0 a 1. (Volně dle wikipedia.org)
Laiky, ale i odbornou veřejností často zaměňovanými pojmy jsou bit a bajt. Možná právě pro podobnost slovního vyjádření či malou velikost.
Bajt – (byte)
Jeden bajt obsahuje 8 bitů a může nabývat hodnot 0 až 255. Do jednoho bajtu může být uložen právě jeden znak (v ASCII kódování).
Jeden byte (B) je množství informace odpovídající nejmenší adresovatelné části paměti. Téměř všechny současné počítačové architektury používají bajt o velikosti 8 bitů, v minulosti se bylo možné setkat i s odlišnými hodnotami (např. 9 bitů).
Dříve také byte odpovídal prostoru pro uložení jednoho znaku u textových dat (pozůstatkem je dodnes datový typ char v jazyce C), dnes se stále častěji setkáváme s kódováními, která používají více bytů pro uložení jednoho znaku, tak aby bylo možné současně používat znaky z různých jazyků a abeced.
upraveno dle abclinuxu.cz
ASCII (American Standard Code for Information Interchange) je tabulka znaků, kde kódy 0–31 jsou netisknutelné řídící znaky s často specifickou interpretací, kódy 0-127 vychází z anglické znakové sady a měly by být univerzální, význam kódů 128 – 255 závisí na použitém typu písma.
V příštím díle seriálu se zaměříme na vlastnosti hashovacích funkcí.
Díly seriálu:
Elektronický doklad v účetnictví – Podpis (1. díl)
Elektronický doklad v účetnictví – Vlastnoruční podpis (2. díl)
Elektronický doklad v účetnictví – Elektronický podpis (3. díl)
Požadavky kladené na elektronický podpis (4. díl)
Druhy elektronických podpisů (5. díl)
Náležitosti účetního dokladu (7. díl)
Co vše skrývá dokument v elektronické podobě (8. díl)
Elektronický podpis a informace v něm obsažené (9. díl)
Elektronická komunikace organizace (10. díl)
Možnosti elektronické komunikace organizace (11. díl)
Efektivní elektronická komunikace – to je EDI (12. díl)
Šifrování – kryptografické základy digitálního podpisu (14. díl)
Význam šifrování a jeho typy (15. díl)
Symetrické šifrovací algoritmy (16. díl)
Šifrování – k čemu slouží a jak ho využít (17. díl)
Ověření identity a elektronický podpis (18. díl)
Asymetrické šifrování a jeho praktické využití (19. díl)
Hybridní šifrovací algoritmy (20. díl)
Hashovací funkce a jejich využití ve spojení s elektronickým podpisem (21. díl)
Zdroje:
[1] cryptography.hyperlink.cz
Osobní stránky Dr. Vlastimila Klímy[2] KLÍMA, Vlastimil: Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně. Podklady, konference Security Upgrade 2006, 12. – 13. 4. 2006.
[3] www.abclinuxu.cz
ABC Linuxu, ISSN 1214-1267[4] www.ansi.org
American Standard Institute
Odpovědět na příspěvek