Proudová šifra: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Formulace úvodu
m +upravit
Řádek 1: Řádek 1:
{{Upravit}}
[[Image:A5-1 GSM cipher.svg|280px|thumb|Činnost proudové šifry [[A5/1]], která slouží k zašifrování komunikace [[Mobilní telefon|mobilním telefonem]].]]
[[Image:A5-1 GSM cipher.svg|280px|thumb|Činnost proudové šifry [[A5/1]], která slouží k zašifrování komunikace [[Mobilní telefon|mobilním telefonem]].]]
'''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ů ({{Vjazyce2|en|''keystream''}}) vytvořeným z [[Šifrovací klíč|šifrovacího klíče]] a šifrovacího algoritmu.<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).
'''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ů ({{Vjazyce2|en|''keystream''}}) vytvořeným z [[Šifrovací klíč|šifrovacího klíče]] a šifrovacího algoritmu.<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).

Verze z 9. 3. 2011, 15:59

Činnost proudové šifry A5/1, která slouží k zašifrování komunikace mobilním telefonem.

Proudová šifra je v kryptografii typ symetrické šifry, kde je vstupní datový tok je kombinován (typicky pomocí funkce XOR) s pseudonáhodným proudem bitů (anglicky keystream) vytvořeným z šifrovacího klíče a šifrovacího algoritmu.[1] 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é š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 kryptoanalytickým útokům, pokud jsou nevhodně implementovány (počáteční stav nesmí být použit dvakrát).

Inspirace jednorázové tabulkové šifry

Na proudovou šifru může být nahlíženo jako akce k vytvoření neprolomitelné šifry: jednorázová tabulková šifra, někdy známa jako Vernamova šifra. A jednorázová tabulková šifra používá šifrovací klíč zcela náhodných čísel. Šifrovací klíč je kombinován pomocí jednoduchého textu převedeného do šifrovaného textu. Tento systém vytvořil k vyšší bezpečnosti Claude Shannon v roce 1949. Avšak, šifrovací klíč musel být (alespoň) o stejné délky jako jednoduchý text a generován úplně náhodně. To činí systém velmi těžkopádný, aby byl realizován v praxi, a výsledek je jednorázová tabulková šifra. Nebylo to široce používané, kromě kritických aplikací.

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ý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 přináší náklady, protože šifrovací klíč je nyní pseudonáhodný, ale není opravdu náhodný, důkaz  o bezpečnosti v souvislosti s jednorázovou tabulkovou šifrou, už platí. U proudové šifry si již nemůžeme být zcela jistí

Typy proudových šifer

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

Synchronní proudové šifry

V synchronní proudové šifře proud pseudonáhodných čísel je generován nezávisle na jednoduchém textu a zašifrované zprávě a potom kombinováním jednoduchého textu (k zakódování ) nebo šifrovaný text (k dekódování). Nejběžněji formou, binárních čísel (bity), a šifrovací klíč je kombinován prostým textem používající exklusivní or operaci (XOR). Tomu je říkábinární doplňková proudová šifra.

V synchronní proudové šifře odesilatel a příjemce musí být přesní v krocích rozkódování, aby to bylo úspěšné. Pokud číslo jsou přidána nebo odebrána ze zprávy v průběhu přenosu, synchronizování je ztraceno. K obnově synchronizace, různých offsetů se můžeme zkusit systematicky získat správné dešifrování. Další možností je označit si šifrovaný text značkami v pravidelných intervalech při výstupu.


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 chyba se nešíří do dalších částí zprávy. Tato vlastnost je užitečná, když je vysoká míra přenosových chyb, způsobuje to menší pravděpodobnost pravděpodobné, že  by byla chyba zjištěna bez dalších mechanismů. Navíc kvůli této vlastnosti jsou synchronní proudové šifry velmi náchylné k útokům — pokud útočník může vyměnit jedno číslo v šifrovaném textu ,  mohl by být schopen provést předvídatelné změny na odpovídajícím bit prostého textu; např. přehodit bit v šifrovaném textu způsobující překlápění v prosté textu.

Samosynchronní proudové šifry

Jiný přístup používá několik předchozíchNčísel šifrovaného textu k  vypočítání šifrovacího klíče. Podobná schémata jsou známé jako samosynchronní proudové šifry',asynchronní proudové šifry nebo šifrovaný text automatickým klíčem (CTAK). Tato myšlenka samosynchronních šifer byla patentována v roce 1946, a má výhodu, že příjemce bude automaticky synchronizován s generátorem šifrovacích klíčů po obdržení N čísel zašifrovaného textu,ovlivňuje to jednoduší obnovu pokud jsou čísla ztracena nebo přidány do zprávy proudu. U jednočíselnných chyb je jejich vliv omezen pouze do výše N čísel prostého textu.


Příkladem sebesynchronní proudové šifry je bloková šifra v šifra se zpětnou vazbou (CFB) režim.

Lineární posuvné registry se zpětnou vazba proudových šifer

Lineární zpětná vazba posuvných registrů-(anglicky 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 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.

Nelineární kombinační metody

Protože LFSR jsou ze své podstaty lineární, jedna technika pro odstranění linearity, je naplnit výstupy několika paralelními LFSR---> do nelineární logické funkceformou kombinačního generátoru. Různé vlastnosti takovékombinační funkcejsou rozhodující k zajištění bezpečnosti výsledného systému, například aby se zabránilo srovnávacím útokům.

Generátory ovládané hodinovým vstupem

(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ří stop-and-go generátor, střídavý krokový generátor a komprimační generátor. 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 exklusivní OR poslední bity jsou tvořeny LFSR0 a LFSR1. Počáteční stav tří LFSR je klíčem.

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ě.

Dvě LFSR používají synchronizaci. Pokud je výstup prvního "1", výstup druhého LFSR se stává výstupem generátoru. Pokud je výstup prvního LFSR "0", avšak, výstup druhého je vyřazen a výstupem generátoru není žádný bit. Tento mechanismus trpí načasováním od druhého generátoru, jelikož rychlost výstupu je variabilní a to způsobem, který závisí na generátoru druhého stavu. Toto může být zmírněno tím, ukládání do vyrovnávací paměti na výstup.

Bezpečnost

Pro bezpečnost proudové šifry, její šifrovací klíč musí mít velikost 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 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žítpomocí 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, jensoukromé: 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  DES lze použít ke generování šifrovacího klíče v [reakci výstupu](OFB) režimu. Nicméně, když nepoužíváte plnou zpětnou vazbu, výsledný proud má podobu asi 232 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í 232 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ě nesouvisejících (např. generované kryptografické hashovací funkce) a že  první bajty šifrovacího klíče jsou zahozeny.

Reference

  1. Sloučení proudu bitů se zprávou lze přirovnat k 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.

Související články

Šablona:Pahýl - kryptografie