Proudové šifry a posuvné registry s lineární zpětnou vazbou

Podobné dokumenty
Andrew Kozlík KA MFF UK

Andrew Kozlík KA MFF UK

UKRY - Symetrické blokové šifry

Diffieho-Hellmanův protokol ustanovení klíče

Konstrukce šifer. Andrew Kozlík KA MFF UK

)(x 2 + 3x + 4),

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky. Proudové šifry

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

1 Lineární prostory a podprostory

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

1 Polynomiální interpolace

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Kryptografie založená na problému diskrétního logaritmu

Věta o dělení polynomů se zbytkem

Těleso racionálních funkcí

BI-BEZ Bezpečnost. Proudové šifry, blokové šifry, DES, 3DES, AES,

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

7. Proudové šifry, blokové šifry, DES, 3DES, AES, operační módy. doc. Ing. Róbert Lórencz, CSc.

Data Encryption Standard (DES)

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Operace s maticemi. 19. února 2018

Báze a dimenze vektorových prostorů

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Matematika 2 pro PEF PaE

Generátory náhodných a

Stavební bloky kryptografie. Kamil Malinka Fakulta informačních technologií

Vestavěné diagnostické prostředky 1 (BIST)

Generátory pseudonáhodných čísel a jejich aplikace v kryptografii (proudové šifry)

VzorTest-1. Prohlídka náhledu

1 Báze a dimenze vektorového prostoru 1

Interpolace, ortogonální polynomy, Gaussova kvadratura

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

Hashovací funkce. Andrew Kozlík KA MFF UK

. Bezpečnost mobilních telefonů. David Machač

Lineární algebra : Lineární (ne)závislost

ALGEBRA. Téma 5: Vektorové prostory

Charakteristika tělesa

Blokové a prúdové šifry

DEFINICE Z LINEÁRNÍ ALGEBRY

Výroková a predikátová logika - II

10 Přednáška ze

Matematika IV 10. týden Kódování

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

SEKVENČNÍ LOGICKÉ OBVODY

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Vzdálenost jednoznačnosti a absolutně

Odpřednesenou látku naleznete v kapitolách skript Abstraktní a konkrétní lineární algebra.

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

8 Kořeny cyklických kódů, BCH-kódy

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30


Kapitola 11: Vektory a matice:

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

10. Vektorové podprostory

Kryptografie a počítačová bezpečnost

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

3. Aritmetika nad F p a F 2

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

Cvičení z Lineární algebry 1

Pavel Horák, Josef Janyška LINEÁRNÍ ALGEBRA UČEBNÍ TEXT

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Vkládání pomocí Viterbiho algoritmu

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Pavel Horák LINEÁRNÍ ALGEBRA A GEOMETRIE 1 UČEBNÍ TEXT

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

9.2. Zkrácená lineární rovnice s konstantními koeficienty

Kapitola 1: Reálné funkce 1/13

Karel Břinda. 7. března 2011

Posloupnosti a jejich limity

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

Vlastní číslo, vektor

1 Linearní prostory nad komplexními čísly

Lineární algebra : Lineární prostor

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB

Lineární algebra : Polynomy

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

6 Lineární geometrie. 6.1 Lineární variety

1 Determinanty a inverzní matice

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Generování pseudonáhodných dat založené na použití LFSR

1 Řešení soustav lineárních rovnic

Sekvenční logické obvody

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Lineární algebra : Polynomy

Lineární algebra : Báze a dimenze

Lineární algebra : Změna báze

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

Organizace. Zápočet: test týden semestru (pátek) bodů souhrnný test (1 pokus) Zkouška: písemná část ( 50 bodů), ústní část

Lineární prostory. - vektorové veličiny(síla, rychlost, zrychlení,...), skládání, násobení reálným číslem

Transkript:

Proudové šifry a posuvné registry s lineární zpětnou vazbou Andrew Kozlík KA MFF UK

Proudové šifry Bloková šifra Šifruje velké bloky otevřeného textu. Bloky mají pevnou délku. Velké znamená, že je prakticky nemožné enumerovat všechny možné bloky. Používá se ve spojení s operačním režimem. Proudová šifra Šifruje jednotlivé znaky (bity, bajty) otevřeného textu v závislosti na jejich pozici nebo předchozích znacích ŠT. Příklad: Vernamova šifra. Příklad: Bloková šifra v CFB, OFB nebo CTR režimu.

Šifrování proudovou šifrou Konečný automat generuje pseudonáhodnou posloupnost znaků s 0, s 1,..., kterou nazýváme proud hesla nebo anglicky keystream. Počáteční stav automatu určuje IV a tajný klíč. Inicializační vektor musí být nonce. Znak šifrového textu y i vznikne kombinací znaku otevřeného textu x i a s i. Nejčastěji y i = x i s i.

Synchronní a samosynchronizující proudové šifry Jestliže každý znak s i je závislý jen na klíči, inicializačním vektoru a pozici v otevřeném textu, říkáme, že proudová šifra je synchronní. Příklad: Bloková šifra v OFB režimu nebo CTR režimu. Jestliže každý znak s i je závislý jen na klíči, inicializačním vektoru a předchozích N znacích šifrového textu, říkáme, že šifra je samosynchronizující neboli asynchronní. Příklad: Bloková šifra v CFB režimu.

Resynchronizace V některých synchronních proudových šifrách se periodicky provádí tzv. resynchronizace. Automat se reinicializuje s původním klíčem a novým IV. Toto má i bezpečnostní důvody: Z dlouhého šifrového textu by útočník mohl snáze odhalit vnitřní stav automatu. Při odhalení vnitřního stavu automatu je kompromitováno menší množství otevřeného textu.

Výhody proudových šifer oproti blokovým Nevyžadují padding. Nevyžadují ukládání do vyrovnávací paměti, tj. čekání na naplnění bloku. Bývají rychlejší a mívají nižší hardwarovou složitost (levnější implementaci). U synchronních proudových šifer navíc: Nedochází k šíření přenosových chyb. Lze předpočítat proud hesla. U samosynchronizujících proudových šifer navíc: Šifra se sama vypořádá s výpadkem části šifrového textu.

Výhody blokových šifer oproti proudovým Mají komplexnější využití: Zajištění autentizace a integrity (např. CMAC). Efektivní šifrování pevného disku (např. XTS). Při použití ve vhodném režimu bývají odolnější proti implementačním chybám jako opakované užití stejného IV. Při použití ve vhodném režimu trpí menší mírou tvárnosti. Dochází k lepší difuzi znaků OT do ŠT, tj. jeden znak OT ovlivňuje všechny znaky ŠT v rámci bloku. Bývají proto považovány za bezpečnější.

Posuvné registry s lineární zpětnou vazbou Anglicky: linear feedback shift register (LFSR) Definice LFSR délky n nad tělesem F q je konečný automat produkující posloupnost {s i } i=0 prvků z F q, která splňuje rekurentní vztah n 1 s t+n = c i s t+i, t 0. i=0 Vektor (s 0,..., s n 1 ) nazýváme počáteční stav registru a (c 0,..., c n 1 ) nazýváme koeficienty registru. s t s t+1... s t+n 1 c 0 c 1 c 2 c n 1...

Cvičení Mějme LFSR nad F 2 s koeficienty (1, 0, 1, 1). Určete výstup, je-li počáteční stav 1. (1, 0, 0, 0), 2. (0, 0, 1, 0), 3. (1, 1, 1, 1). Mějme LFSR nad F 2 s koeficienty (1, 1, 0, 0) a počátečním stavem (1, 0, 0, 0). Určete výstup. Dá se posloupnost 1000110 vytvořit pomocí LFSR délky 2 nebo délky 3? Dá se posloupnost 0010111 vytvořit pomocí LFSR délky 3?

Periodicita LFSR délky n nad F q má celkem q n možných stavů. Pokud c 0 0, pak je výstup LFSR periodický. Každý stav má totiž jednoznačně určeného předchůdce: ) s t = 1 n 1 (s t+n c i s t+i. c 0 Pokud c 0 = 0, pak je výstup skoro periodický, tj. až na několik prvních členů posloupnosti, které se vyplaví z počátečního stavu registru. LFSR s počátečním stavem (0, 0,..., 0) zůstane konstantní. i=1 Nejdelší možná perioda LFSR délky n je q n 1.

LFSR a proudové šifry Samotný LFSR není dobrou proudovou šifrou. Kdyby útočník znal zpětnou vazbu LFSR a určil n znaků proudu hesla, pak lze dopočítat celý proud hesla. Útočník, který by neznal zpětnou vazbu ji může určit z proudu hesla délky 2n. Řešení: Můžeme kombinovat výstup m LFSR pomocí booleovské funkce F : {0, 1} m {0, 1}: LFSR 1 s i F LFSR 2. LFSR m

Kombinace výstupu několika LFSR příklad r 0 r 1 r 2 r 0, r 1, r 2, r 0 + r 1, r 1 + r 2, r 0 + r 1 + r 2, r 0 + r 2,... u i s 0, s 1, s 0 + s 1,... s 0 s 1 K odhalení vnitřního stavu stačí 5 prvků výstupu: r 0 r 1 r 2 s 0 s 1 1 0 0 1 0 r 0 u 0 0 1 0 0 1 r 1 0 0 1 1 1 r 2 1 1 0 1 0 s 0 = u 1 u 2 u 3 0 1 1 0 1 s 1 u 4

Kombinace výstupu několika LFSR Kombinační generátor lze také převést na jediný LFSR. Následující zařízení generují stejné posloupnosti: Souvisí to s tím, že nad F 2 platí 1 x 3 + x + 1 + 1 x 2 + x + 1 = x 3 + x 2 x 5 + x 4 + 1. Podrobněji viz přednáška Automaty a konvoluční kódy.

Kombinace výstupu několika LFSR Složitost lineární rekurentní posloupnosti definujeme jako délku nejkratšího LFSR, kterým ji lze generovat. Použijeme-li kombinační funkci, která je lineární, pak složitost výstupní posloupnosti je nejvýše součtem složitostí vstupních posloupností. Základní požadavky na kombinační funkci: nelinearita, vysokým stupeň v algebraické normální formě, vyváženost (výstup 0 a 1 v poměru 50:50). Příklad (Geffeho generátor) Využívá 3 LFSR a funkci F (x 1, x 2, x 3 ) = x 1 x 2 x 2 x 3 x 3. Je však zranitelný korelačním útokem, viz cvičení. x 1 x 2 x 3 F (x 1, x 2, x 3 ) 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Dvě reprezentace LFSR Fibonacciho reprezentace LFSR: s t s t+1... s t+n 1 c 0 c 1 c 2 c n 1 Galoisova reprezentace LFSR:... g (t) n 1... g (t) g (t) n 2 c n 1 c n 2... c 1 0 c 0 Obě reprezentace vytvářejí stejnou posloupnost (g (t) n 1 = s t). Vnitřní stavy jsou však odlišné.

Porovnání vývoje vnitřního stavu Fibonacciho reprezentace c 0 =1 c 1 =0 c 2 =1 c 3 =1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7 Galoisova reprezentace c 3 =1 c 2 =1 c 1 =0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1 c 0 =1

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 s 0 c 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 c 0 s 0 c 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 s1 c 0 s 0 c 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 c 0 s 0 c 0 s 1 +c 1 s 1 c 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 s2 c 0 s 0 c 0 s 1 +c 1 s 1 c 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 c 0 s 0 +c 1 s 1 +c 2 s 2 c 2 c 0 s 1 c 0 s 2 +c 1 s 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 s3 c 0 s 1 c 0 s 2 +c 1 s 2 c 2 c 1 c 0

Galoisova reprezentace LFSR Výstupní posloupnost LFSR {s t } t=0 má splňovat n 1 s t+n = c i s t+i. Vidíme, že vnitřní stav Galoisovy reprezentace sestává z částečných součtů této sumy: i=0 c 0 s 1 +c 1 s 2 +c 2 s 3 c 2 c 0 s 2 c 0 s 3 +c 1 s 3 c 1 c 0

Konverze vnitřního stavu Galois Fibonacci Galoisovou reprezentací vygenerujeme výstup s 0,..., s n 1. Hotovo. Fibonacci Galois Vezmeme s 0,..., s n 1 a pustíme Galoisovu reprezentaci ve zpětném chodu. Viz cvičení.

Galoisova reprezentace a polynomy g (t) n 1 Definujeme... g (t) c n 1 g (t) n 2 c n 2... c 1 0 c 0 Potom charakteristický polynom LFSR s koeficienty c0,..., c n 1 polynom vnitřního stavu Galoisovy reprezentace v čase t n 1 n 1 f (x) = x n c i x i, g (t) (x) = g (t) i x i. i=0 i=0 g (t+1) (x) = x g (t) (x) mod f (x). Operace x g (t) (x) posune koeficienty stavu nahoru. (t) Operace mod pak odečte g n 1 f (x) od posunutého stavu.

Galoisova reprezentace a polynomy g n 1 g n 2... g 0 c 0 c n 1 c n 2... c 1 x g(x) mod f (x) = x g(x) g n 1 f (x) = x ( n 1 ) ) n 1 g i x i g n 1 (x n c i x i i=0 i=0 n 1 = g n 1 c 0 + (g i 1 + g n 1 c i )x i i=1

Primitivní charakteristický polynom Definice Říkáme, že polynom f F q [x] stupně n je primitivní, jestliže je ireducibilní a nějaký jeho kořen je primitivní prvek F q n (tj. generuje F q n). Tvrzení Nechť f je charakteristický polynom LFSR délky n nad F q. Jestliže je f primitivní, pak každý nenulový počáteční stav generuje posloupnost s periodou q n 1.

Důkaz. Ukážeme, že perioda posloupnosti stavů g (t) (x) je q n 1. Perioda výstupu pak musí být stejná, protože pro libovolné t lze z s t,..., s t+n 1 jednoznačně určit g (t) (x). Víme, že g (t) (x) = (g (0) (x) x t ) mod f (x). Nechť P > 0 je nejmenší celé číslo takové, že g (0) (x) x P g (0) (x) (mod f (x)). Čili f (x) ( g (0) (x) (x P 1) ). Vzhledem k tomu, že f je ireducibilní, F q [x] je Gaussův obor a 0 < deg g (0) < deg f, máme f (x) (x P 1). Nechť α generuje F qn a je kořenem polynomu f. Pak α je také kořenem x P 1, čili α P = 1. Řád α tedy dělí P, ale perioda P je nejvýše q n 1. Jedinou možností je proto P = q n 1.