Algoritmy
Asymetrické kryptografické algoritmy s veřejným klíčem, nejčastěji RSA (Rivest-Shamir-Adleman) a DSA (Digital Signature Algorithm).
Bezpečné kryptografické jednocestné algoritmy (hašovací funkce), nejčastěji MD5 (Message Digest 5) spolu s RSA a SHA (Secure Hash Algortihm) spolu s DSA.
RSA
Teoretický základ a možnost užití digitálního podpisu byla rozpoznána několik let před jeho praktickou implementací, za první metodu možno považovat RSA schéma (Rivest, Shamir,Adleman), které je založeno na složitosti matematické úlohy faktorizace. | |
RSA je dodnes nejvíce používané. | |
Veřejným klíčem (Pub) je dvojice čísel (n, e),kde n nazýváme modul a e veřejný exponent RSA. | |
Privátním klíčem (Pri) je dvojice čísel (n, d), kde d nazýváme privátní exponent RSA. |
RSA délka klíčů
Bezpečnostní důvody vedou ke stále větším délkám klíčů, dnes je za bezpečné považováno RSA s délkou klíčů minimálně 1024 bitů, pro důležité informace ale 2048 bitů. |
To přináší celou řadu problémů při generování klíčů,jejich uchovávání atd.
Poněvadž šifrování a dešifrování u RSA spočívá v umocnění upravené zprávy příslušným klíčem (a poté spočtení mod n), přináší tyto délky klíčů problémy v trvání těchto matematických operací
SHA-1
SHA-1
Revize tohoto algoritmu byla provedena v1995 a publikována jako FIPS 180-1, tato specifikace je však již nahrazena novější verzí FIPS 180-2, která obsahuje navíc i definice nových variant (SHA 384, 256, 512 někdy souhrnně označovaných jako SHA-2), které jsou zatím odolné vůči kolizím.
SHA-1 rozdělí vstupní zprávu na bloky o délce 512 bitů, poslední blok zprávy doplňuje a zarovnává, včetně přidání údaje o délce zprávy, na ten je vyhrazeno posledních 64 bitů.
SHA-1 tak může zpracovávat vstupní zprávy o délce až do (264) -1 bitů, tj. cca 2.305.840 TB. Uvedením délky se výrazně ztěžuje možnost nalezení a výskytu kolizí mezi zprávami různých délek - kolize je primárně potřeba hledat mezi zprávami zcela shodné délky. Výstup SHA-1 má délku 160 bitů, tj. 20 bytů.
SHA-1 je, podobně jako jiné hašovací funkce, tzv. iterativní hašovací funkce. Při zpracování každého 512 bitového bloku se vždy použije stejný modul tzv. vnitřní kompresní funkce. Kompresní funkce má dva vstupy, 160 bitový (v 1. kroku je inicializován předepsaným inicializačním vektorem, v dalších krocích přenosy z výstupů minulých kroků jako tzv. kontext) a 512 bitový (blok dat).
SHA navrhla organizace NSA (Národní bezpe
SHA se používá u několika různých protokolů a aplikací,včetně TLS a SSL, PGP, SSH, S/MIME a IPsec, ale i pro kontrolu integrity souborů nebo ukládání hesel. Je považována za nástupce hašovací funkce MD5.
SHA bezpečnost
Hašovací algoritmy jsou „bezpe
najít zprávu, která odpovídá svému otisku
najít dvě rozdílné zprávy, které mají stejný otisk
Bezpečnost SHA-1 byla poněkud zpochybněna kryptografickými odborníky, ale nebyly oznámeny žádné útoky na varianty SHA-2. Varianty SHA-2 jsou algoritmicky stejné s algoritmy SHA-1. Proto jsou snahy o vývoj vylepšených hašovacích funkcí.
Konkurence pro novou SHA-3 funkci byla formálně oznámena 2.listopadu 2007 ve Federal Register – "NIST usiluje o zavedení jednoho nebo více dalších hašovacích algoritmů pomocí veřejné konkurence stejně jako u vývoje pro Advanced Encryption Standard (AES)."
Vyhlášení vítěze a publikace nového standardu je naplánováno na rok 2012.
MD5
se prosadil do mnoha aplikací (nap
MD5 je popsán v internetovém standardu RFC1321 a vytváří otisk o velikosti 128 bitů.
Byl vytvořen v roce 1991 Donaldem Rivestem,aby nahradil dřívější hašovací funkci MD4.
Přehled hašovacích funkcí
| MD5 | SHA-1 | RIPEMD-160 |
délka výstupu (otisku) | 128 bitů | 160 bitů | 160 bitů |
základní jednotka zpracovávaná | 512 bitů | 512bitů | 512 bitů |
Počet kroků | 64 (4 rundy po 16) | 80 (4 rundy krát 20) | 160 (5 dvojic rund po 16) |
Maximální délka vstupu | ∞ | 264 - 1 bitů | ∞ |
Primitivní logické funkce | 4 | 4 | 5 |
počet užitých aditivních konstant | 64 | 4 | 9 |
Kolize
V posledních letech (2005 a dále) byla u
Jde se o útoky japonského týmu Sasaki, Naito a další, týmu profesorky Wangové z Číny, českého kryptologa Klímy. Např. Klíma prokázal, že nalezení určitých kolizí u MD5 je záležitostí několika hodin.
Pro praktické využití z toho plyne, že bude nutno používat ty hašovací funkce, které jsou odolné proti útokům.
Jsou to zejména o SHA-256 (bitová délka 256, popis ve FIPS 180-2), SHA-384 (bitová délka 384, FIPS 180-2) a SHA-512 (bitová délka 512, FIPS 180-2). Tyto algoritmy jsou jednak stále bezpečné a jednak rychlejší než SHA1.
MD5
V roce 1996 byla objevena vada v návrhu MD5, a i když nebyla zásadní, kryptologové za
MD5 Zvýšení bezpečnosti
MD5 se
Tento postup lze použít i pro jakékoli kryptografické hašovací funkce, které lze dopředu "předpočítat", jejich výsledný haš uložit a pak rychleji vyhledat v databáze srovnávaním s hašem, na který se útočí.
hash = MD5 (heslo . sul)
Zvýšení bezpečnosti
Pro jisté zvýšení bezpe
Další možností částečného zvýšení bezpečnosti jepoužití více hašovacich algoritmů najednou, například kombinace MD5 a SHA. Postup zajistí vyšší odolnost chránené informace v případě, že bude při jedné z funkcií nalezena kolize.
Například: SHA1(MD5("login").MD5("heslo"))