Message-Digest algorithm: Porovnání verzí

Smazaný obsah Přidaný obsah
m Editace uživatele 77.29.156.160 (diskuse) vráceny do předchozího stavu, jehož autorem je LiMr
G3robot (diskuse | příspěvky)
m komprese kódu, substituce šablony vjazyce2
Řádek 1:
'''Message-Digest algorithm''' je v [[Kryptografie|kryptografii]] rodina [[hašovací funkce|hašovacích funkcí]], která z libovolného vstupu [[Data|dat]] vytváří výstup fixní délky, který je označován jako hash (česky někdy psán i jako haš), otisk, miniatura a podobně ({{Vjazyce2Vjazyce|en}} {{Cizojazyčně|en|''fingerprint''}}). Jeho hlavní vlastností je, že malá změna na vstupu vede k velké změně na výstupu, tj. k vytvoření zásadně odlišného otisku.
 
== MD5 ==
Řádek 15:
MD5CRK skončilo krátce po 17. srpnu 2004, když Xiaoyun Wang, Dengguo Feng, Xuejia Lai a Hongbo Yu oznámili [[hash collision|kolize]] pro úplný MD5. Podaly zprávu, že jejich analytický útok trval pouze jednu hodinu na [[IBM p690]] klastru.
 
[[Arjen Lenstra]], [[Xiaoyun Wang]], a Benne de Weger dne 1. března 2005 prokázali výstavbu dvou [[X.509]] certifikátů s rozdílnými veřejnými klíči a stejnou MD5 hash funkci. Konstrukce obsahuje soukromé klíče pro oba veřejné klíče. O několik dní později, [[Vlastimil Klíma]] popsal vylepšený algoritmus, schopný provádět MD5 kolize během několika hodin na jediném notebooku. Dne 18. března 2006, Klíma publikoval algoritmus, který může najít kolizi během jedné minuty na jednom notebooku, tuto metodu pojmenoval tunelování.
 
V roce 2009, [[Spojené státy Cyber comand]] použilo MD5 hash na jejich misi jako součást svého oficiálního znaku.
 
24. prosince 2010, Tao Xie a Dengguo Feng oznámil první publikovaný blok MD5 kolize (dvě 64bajtové zprávy se stejnou MD5 hash byly dány do [[Endianita|little endian]] zápisu). Objevy předchozích kolizí spoléhaly na multi-blokové útoky. Z "bezpečnostních důvodů", Xie a Feng nezveřejnili nové metody útoku. Kryptografická komunita učinila nabídku 10.000$ prvnímu, kdo objeví jinou 64bajtovu kolizi před 1. lednem 2013. V roce 2011 [[Request for Comments|RFC]] schválila aktualizaci bezpečnostních otázek ohledně RFC 1321 (MD5) a RFC 2104 (HMAC-MD5).
 
=== Bezpečnost ===
Řádek 27:
Otisk 43 bajtového znakového řetězce (vyjádřený v [[Šestnáctková soustava|hexadecimálním zápisu]]):
 
MD5("The quick brown fox jumps over the lazy dog")
= 9e107d9d372bb6826bd81d3542a419d6
 
Stačí malá změna vstupního řetězce, aby byl otisk úplně odlišný (např. změňme <tt>d</tt> na <tt>c</tt>):
 
MD5("The quick brown fox jumps over the lazy cog")
= 1055d3e698d289f2af8663725127bd4b
 
=== Zvýšení bezpečnosti ===
Řádek 42:
Pro jisté zvýšení bezpečnosti je možné kombinovat například heslo a uživatelské jméno, v takovém případě pokud dva uživatelé použijí totožné heslo, otisk (haš) jejich hesel bude zásadně odlišný, protože jejich uživatelská jména se určitě budou lišit. Další možností částečného zvýšení bezpečnosti je použití více hašovacích algoritmů najednou, například kombinace MD5 a [[Secure Hash Algorithm|SHA]]. Postup zajistí vyšší odolnost chráněné informace v případě, že bude při jedné z funkcí nalezena kolize. <!-- Takto zašifrované heslo lze považovat za zabezpečené: SPORNÉ TVRZENÍ --> Například:
 
SHA1(MD5("login").MD5("heslo"))
 
=== Použití v praxi ===