Proudová šifra: Porovnání verzí
Smazaný obsah Přidaný obsah
m Šipka jako ASCII art (Detekce nástrojem WP:WCW) |
Bezpečnost |
||
Řádek 2:
'''Proudová šifra''' je v [[Kryptografie|kryptografii]] typ [[symetrická kryptografie|symetrické šifry]], kde je vstupní datový tok je kombinován (typicky pomocí funkce [[Exkluzivní disjunkce|XOR]]) s [[Pseudonáhodná čísla|pseudonáhodným]] proudem bitů odvozeným z [[Šifrovací klíč|šifrovacího klíče]] ({{Vjazyce2|en|''keystream''}}).<ref>Sloučení proudu bitů se zprávou lze přirovnat k [[Modulace|modulaci]], kde keystream je nosný signál a zpráva je modulační signál. Zašifrovaný výstup je pak obdobou modulovaného signálu.</ref> Výsledkem je zašifrovaný datový tok (''proud''), který je kódován neustále se měnící transformací (na rozdíl od [[Bloková šifra|blokové šifry]], kde je transformace konstantní). Proudové šifry jsou typicky rychlejší, než blokové šifry a pro implementaci potřebují jednodušší [[hardware]]. Naopak jsou na rozdíl od blokových šifer náchylnější ke [[Kryptoanalýza|kryptoanalytickým]] útokům, pokud jsou nevhodně implementovány (počáteční stav nesmí být použit dvakrát).
==
Na proudovou šifru může být nahlíženo jako akce k vytvoření neprolomitelné šifry:
Proudová šifra využívá mnohem menší a pohodlnější klíč — 128 bitových pro příklad. Princip tohoto klíče je generování [[Pseudonáhodná čísla|pseudonáhodných]] šifrovacích klíčů, které můžou být kombinovány s jednoduchým textem čísel ve stejném tvaru do jednorázové tabulkové šifry. Avšak, toto
==
A proudová šifra generuje po sobě jdoucí prvky šifrovacího klíče založených na vnitřním stavu. Tento stav je aktualizován v podstatě dvěmi způsoby: pokud se stav mění nezávisle na jednoduchém textu nebo zašifrované zprávě , šifra je hodnocena jako „synchronní“ proudová šifra. Naproti, ''samo-synchronním'' proudovým šifrám,které svůj stav aktualizují na základě předešlého šifrovaného textu čísel
===
V ''
(k zakódování ) nebo šifrovaný text (k dekódování). Nejběžněji formou,
V synchronní proudové
------------------------------------------------------------------------------------------------------------------------
Pokud je číslo porušeno přenosem, spíše než přidány nebo ztraceny, pouze jednu číslici v holém textu je ovlivněn a
===Samosynchronní
Jiný přístup používá několik předchozích''N''čísel šifrovaného textu k vypočítání šifrovacího klíče. Podobná schémata jsou známé jako ''
------------------------------------------------------------------------------------------------------------------------
Příkladem
==
Lineární zpětná vazba posuvných registrů-({{Vjazyce2|en|''linear feedback shift registers (LFSR)''}})-
Binární proudové šifry jsou často stavěny pomocí [[lineární zpětná vazbě posuvných registrů ]] (LFSR), protože mohou být jednoduše implementovány do[[hardware| hardwaru]] a lze je snadno matematicky analyzovat . Použití LFSR samo o sobě, je však nepostačují k zajištění dobrého zabezpečení. Různé systémy byly navrženy pro zvýšení bezpečnosti LFSR.
===
Protože LFSR jsou ze své podstaty lineární, jedna technika pro odstranění linearity, je naplnit výstupy několika paralelními LFSR
===
(pozn. V této části nepřesný překlad, nutno opravit)
Normálně LFSRy fungují pravidelně. První přístup zavádí nelinearitu LFSR, nepravidelnost taktování, kontrolující druhý výstup LFSR. Mezi takové generátory patří [[Vjazyce2|en|stop-and-go generator|stop-and-go generátor]], [[Vjazyce2|en|alternating step generator|střídavý krokový generátor]] a [[Vjazyce2|en|shrinking generator|komprimační generátor]].
------------------------------------------------------------------------------------------------------------------------
[[Vjazyce2|en|alternating step generator|střídavý krokový generátor]] skládající se z tří lineárních posuvných registrů se zpětnou vazbou, které budeme nazývat LFSR0, LFSR1 a LFSR2 pro přehlednost. Výstup jednoho z registrů rozhoduje, který ze zbylých dvou bude používán; například pokud LFSR2 výstup je 0, LFSR0 je synchronní, a pokud výstup je 1, LFSR1 pracuje místo něho(LFSR2). Výstup je
Stop-and-go generátor (Beth a Piper, 1984) tvoří dva LFSR. Jeden LFSR je synchronní pokud výstup druhého je „1“, jinak to opakuje svůj předchozí výstup. Tento výstup je pak (v některých verzích) v kombinaci s výstupem třetího LFSR dosahuje pravidelné úrovně.
==Bezpečnost==
Pro bezpečnost proudové šifry, její šifrovací klíč musí mít velikost [[Vjazyce2|en|periodic function|periody]] a musí být nemožné ''obnovit šifrovací klíč'' nebo vnitřní stav z šifrovacího klíče. Kryptografici také požadují, aby šifrovací klíč byl nepředpojatý a rozdílný, tak aby útočníci rozlišili proud od náhodné šumu a snadno zjistitelný vztah mezi šifrovacími klíči, které odpovídají ''souvisejícím klíčům'' nebo souvisí s [[Vjazyce2|en|cryptographic nonce|kryptografickými příležitostmi]]. To by mohlo platit pro všechny klíče, které nejsou slabými klíči a platí v případě jestliže útočník může znát nebo vybrat nějaký ''jednoduchý text'' či ''šifrovaný text''.
Stejně jako u ostatních útoků v kryptografii, může být proudová šifra napadena ''osvědčeně'', což znamená, že nejsou nutné běžné způsoby, jak rozluštit šifru, ale naznačují, že šifry mohou mít jiné nedostatky.
Lze bezpečně ''použít''pomocí zabezpečené synchronní proudové šifry vyžaduje, aby člověk nikdy používat stejné šifrovací klíč dvakrát, co obecně znamená různé příležitosti nebo klíč, musí být podporována každým vyvoláním šifry. Aplikační návrháři si musí, také uvědomit, že většina proudových šifer neposkytuje''věrohodnost'',''jen''soukromé: zašifrované zprávy mohou být změněny v průběhu přenosu.
Krátké období proudových šifer bylo praktickým zklamáním. Například, 64-bitové blokové šifry, jako je [[Data Encryption Standard| DES]] lze použít ke generování šifrovacího klíče v [reakce výstup []] (OFB) režimu. Nicméně, když nepoužíváte plnou zpětnou vazbu, výsledný proud má podobu asi 2<sup>32</sub> bloků v průměru, pro mnoho aplikací, je toto období je příliš krátké. Například, pokud je šifrování vykonáváno ve výši 8 [[MB]]ů za sekundu, proudové období 2<sup>32</sup> se budou bloky opakovat asi po dobu půl hodiny.
Některé aplikace využívající proudovou šifru [[RC4]] jsou napadnutelné kvůli nedostatkům v klíčových nastaveních RC4 je rutinní, nové aplikace by měly být schopné buď se vyhnout RC4 nebo se ujistěte,že všechny klíče jsou jedinečné a ideálně [[souvisejícími klíčovými | nesouvisejících]] (např. generované [[kryptografické hashovací funkce]]) a že
první bajty šifrovacího klíče jsou zahozeny.
== Reference ==
|