Radek Horáček IZI425 – Teorie kódování a šifrování Šifra Blowfish Radek Horáček IZI425 – Teorie kódování a šifrování
Obecné informace Poprvé publikováno 1993, Bruce Schneier Šifra založena na šifře Twofish Blowfish je volně šiřitelná, nepatentovaná, nelicencovaná, bez copyrightu Alternativa k DES Symetrická bloková šifra
Další vlastnosti Velikost bloků 64 bitů Délka klíče až 448 bitů Zatím nenalezena efektivní kryptoanalýza Jediná možnost jak zjistit klíč, je zatím pouze použití hrubé síly. Nalezeny „slabé klíče“
Popis algoritmu Algoritmus ze dvou částí Expanze klíče – převádí klíč s libovolnou délkou na několik polí podklíčů, tyto podklíče musí být předem vypočteny, náročné na výpočet Šifrování dat – po 64 bitových blocích v 16 rundách, probíhá rychle Všechny operace použité v algoritmu jsou XOR a sčítání 32-bitových slov
Popis algoritmu - podklíče Podklíče uloženy v 5 polích musí být předem vypočteny První pole P-box obsahuje 18 32bitových položek P1,P2 ………,P18 Dále 4 S-boxy, každý S-box má 256 32bitových položek
Popis algoritmu - šifrování Šifrování probíhá v 16-ti rundách for i = 1 to 16 do begin xL = xL XOR Pi xR = F(xL) XOR xR swap xL, xR {provede záměnu obou parametrů} end;
Funkce F rozdělí 32-bitové vstupní slovo y na 4 čtvrtiny a, b, c, d , každá má 8 bitů => 256 položek v S-boxech Výstupní hodnota funkce F(y) = ((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232
Dešifrování Dešifrování probíhá stejně jako šifrování, jenom přesně opačně Závislost F na klíči zabezpečí, že osoba, která nezná šifrovací/dešifrovací klíč, není schopná provést dešifrování šifrového textu
Výhody a nevýhody jedna z nejrychlejších blokových šifer s širokým použitím Každý nový klíč potřebuje předzpracování shodné se zašifrováním 4 kilobytů textu, který je velmi pomalý ve srovnání s jinými blokovými šiframi. To znemožňuje použití v určitých aplikacích. poskytuje zatím dostatečnou ochranu proti „slovníkovým útokům“
Využití Nehodí se pro šifrování velkých databází Klíče zabírají 4 kB => možnost použití i na starších počítačích Software na šifrování dokumentů na CD, flash discích, smart kartách PuTTY: A Free Telnet/SSH Client
Děkuji za pozornost!