it-swarm-eu.dev

Co v kryptografii znamená velikost klíče a velikost bloku?

Může někdo jednoduše vysvětlit významy a rozdíl mezi symetrickým klíčem a velikostí bloku.

Proč velikost bloku 64 již není bezpečná a zvyšuje ji na 128 (AES, ..., Had)? A co velikost klíče?

18
rezx

Algoritmus symetrického klíče je ten, který používá stejný klíč pro šifrování i dešifrování. Příklady symetrických klíčových algoritmů jsou AES, 3DES, Blowfish.

Algoritmus asymetrického klíče na druhé straně používá 2 klíče, jeden pro šifrování a druhý pro dešifrování. Algoritmus asymetrického klíče je navržen tak, že není možné odvodit soukromý klíč z veřejného klíče. Společným algoritmem asymetrického klíče je RSA.

Termín velikost bloku se týká blokové šifry. V zásadě existují 2 typy šifrů.

Stream cipher - Algoritmus šifruje/dešifruje zprávu 1 bit současně.

Block cipher - Algoritmus šifruje/dešifruje blok zprávy po bloku, blok odkazující na skupinu bitů. Mezi běžné blokové šifry patří AES - který pracuje na 128 bitových blocích, a Blowfish - který pracuje na 64 bitových blocích.

Všechny tyto informace lze nalézt v příslušných záznamech na Wikipedii:

http://en.wikipedia.org/wiki/Symmetric-key_algorithm

http://en.wikipedia.org/wiki/Public-key_cryptography

http://en.wikipedia.org/wiki/Block_cipher

http://en.wikipedia.org/wiki/Stream_cipher

15
user10211

Ptáte se 2 různých, ale souvisejících otázek.

Proč již není velikost 64bitového bloku bezpečná a proč ji zvýšili na 128 bitů?

V blokové šifře jsou data prostého textu pevné velikosti (velikost bloku) šifrována do ciphertext přesně stejné velikosti. Celkový počet možných bloků šifrového textu je však pouze 2velikost bloku, a pokud použijete pouze druhou odmocninu tohoto počtu bloků, máte 50% šanci, že budete mít duplicitní blok, který nevrací informace. Druhá odmocnina 264 je 232 a 232 bloky 23 bytes = 235 Bytes = 32 GiB. Takže na jednotce 1 TiB s šifrováním celého disku byste očekávali, že najdete přibližně 1 000 duplikovaných bloků šifrového textu. (Z vzorce zde : (240/ 23)2/ 264) Abychom byli spravedliví, duplikovaný blok šifrového textu není katastrofou, protože se používají techniky k zajištění toho, aby se stejný prostý text nešifroval do stejného šifrového textu pokaždé, takže platí i obráceně. Důležitější je, že výpočetní výkon a úložný prostor vyrostly 64 bitové šifrové bloky.

Aktuální šifry bloků tedy používají 128 bitových bloků, což znemožňuje vidět duplikát dat v Exbibytes (miliony Tebibytes) dat, což by mělo na chvíli stačit. Většina dalších forem útoku je tímto nárůstem velikosti bloku výrazně ztížena.

Jaký je význam velikosti klíče a proč je velikost důležitá?

Velikost klíče je velikost „tajemství“ použitého k šifrování dat. V perfektní šifře byste museli vyzkoušet všechny možné klíče, abyste se ujistili, že můžete šifrovaná data dešifrovat, a v průměru byste museli uspět v polovině možných klíčů. Když bylo publikováno DES, 56 bitů bylo dostatečně velký klíčový prostor, aby byl „dost tvrdý“, tato hrubá síla byla v civilním zpracování počítačů nepřiměřená. Pak v roce 1998 vybudovala Electronic Frontier Foundation stroj, který bude dešifrovat DES za 250 000 USD. Nyní s explozí civilního výpočetního výkonu, zejména s využitím enormně výkonného paralelního výpočtu v GPU, je dokonce 128 bitů pouze považováno za dostatečně bezpečné pro nejnižší úroveň utajovaných informací, TAJNÉ.

Také žádná šifra není dokonalá a mnoho útoků může obnovit část klíče, takže delší klíče poskytují dodatečnou bezpečnost v tom, že i když je část klíče obnovena, stále existuje obrovský klíčový prostor, který zbývá být napaden hrubou silou.

12
Major Major

AES, 3DES, Blowfish ... jsou blokové šifry . Bloková šifra je funkce, která bere jako vstup data blok dané velikosti (pevný počet bitů) a klíč (což je také posloupnost bitů, nemusí být nutně stejné velikosti než blok); a výstupem je další blok stejné velikosti než vstupní blok. Navíc pro pevný klíč musí být funkcí permutace: dva odlišné vstupní bloky poskytnou dva odlišné výstupní bloky.

Např. Triple-DES (nazývané také 3DES) používá 64bitové bloky a 192bitové klíče (stává se tak, že algoritmus Triple-DES zcela ignoruje 24 ze 192 klíčových bitů, takže často říkáme, že Triple-DES používá 168bitový klíč, implementace v souladu se standardem však očekává 192bitový klíč, neboli 24 bajtů).

Šifrování a dešifrování bloků je v pořádku, ale obvykle chceme šifrovat „zprávy“, tj. Dlouhé toky datových bajtů, s délkou, která nemusí být nutně násobkem velikosti bloku a která může být poměrně vysoká (např. Můžete zašifrovat několik gigabajty hodnota dat). Chcete-li změnit blokovou šifru na stroj, který dokáže šifrovat a dešifrovat zprávy, musíte použít provozní režim . Vytváření dobrých režimů je umění; existuje mnoho jemných nedostatků, které mohou ochromit bezpečnost, pokud režim nebyl dobře navržen. Velikost bloku se zdá být důležitým faktorem: ve většině režimů se bezpečnost snižuje, někdy docela ostře, když délka vstupní zprávy překročí práh, který závisí na velikosti bloku; konkrétně pokud vaše bloková šifra používá n - bitové bloky a šifrujete více než 2n/2 bloky dat, pak máte potíže. Pro blokovou šifru, která používá 64bitové bloky, je prahová hodnota přibližně 32 gigabajtů ( 232 bloky po 8 bytech). Když bylo navrženo DES, bylo 32 gigabytů science-fiction, v současné době je 32 gigabajtů 20 GB USB flash disk.

Proto nyní preferujeme blokové šifry se 128bitovými bloky. Bylo to konstrukční kritérium pro AES .

Velikost klíče je ortogonální problém. Klávesy pro blokové šifry jsou sekvence bitů dané délky, která závisí na vnitřní struktuře blokové šifry. Neexistuje žádný požadavek, aby délka klíče nějak odpovídala velikosti bloku; kryptografové jsou však zamilovaní do binárního kódu, takže délka klíče bude obvykle mocninou 2, jako je 128 nebo 256, a velikost bloku tedy bude. AES byl definován pro použití klíčů 128, 192 nebo 256 bitů.

Co je potřeba pro bezpečnost, je to, že existuje dva možné klíče, které by útočník mohl vyzkoušet všechny (vyzkoušení všech možných klíčů, dokud není nalezena shoda, se nazývá vyčerpávající vyhledávání). Každý další bit klíče zdvojnásobuje počet možných velikostí klíčů. 128bitové klíče jsou dostatečně velké s pohodlným okrajem; větší velikosti klíčů jsou pro byrokratické dodržování předpisů, paranoické manažery a vývojáře, kteří se cítí ohroženi ve své mužnosti.

3
Thomas Pornin

Pokud jde o vaši otázku, 64 bitů je nyní méně bezpečných než 128 bitů: s každým zvýšením výkonu zpracování zabere méně času, než jej rozbijete hrubou silou. Tento článek poskytuje dobrý přehled o době, kterou trvá, než silová síla klíče vyžádá:

http://tjscott.net/crypto/64bitcrack.htm

Článek předpokládá 2 procesory Pentium 3,2 GHz. Kapacita procesoru se neustále zvyšuje a pravděpodobně nejsme příliš daleko od 64jádrových a dokonce 256jádrových komerčně dostupných procesorů.

2
Todd Dill