3. Aritmetika nad F p a F 2

Podobné dokumenty
Pokročilá kryptologie

Násobení. MI-AAK(Aritmetika a kódy)

MPI - 5. přednáška. 1.1 Eliptické křivky

Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky. 7.přednáška. Kryptosystémy veřejného klíče II

Příklady popisu základních obvodů ve VHDL

Aplikovaná numerická matematika - ANM

Šifrová ochrana informací věk počítačů PS5-2

Struktura a architektura počítačů (BI-SAP) 5

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Šifrová ochrana informací věk počítačů PS5-2

Architektury počítačů

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

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

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

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Implementace čítačů v číslicových systémech 2 Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha

Operace s maticemi

NPRG030 Programování I, 2018/19 1 / :25:37

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

Dělení. MI-AAK(Aritmetika a kódy)

Úvod do kvantového počítání

Funkce. Limita a spojitost

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

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

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Eliptické křivky a RSA

Souhrn Apendixu A doporučení VHDL

Operace s maticemi. 19. února 2018

Datové struktury 2: Rozptylovací tabulky

Algoritmus pro hledání vlastních čísel kvaternionových matic

4 Počítání modulo polynom

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

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

7. Popis konečného automatu

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Lineární algebra : Polynomy

14. Složitější konstrukce

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

Pokročilá kryptologie

Základní datové struktury III: Stromy, haldy

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

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

LEKCE 6. Operátory. V této lekci najdete:

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

2. V Q[x] dělte se zbytkem polynomy:

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Numerická matematika 1

Aritmetika s didaktikou I.

Bakalářská matematika I

Lineární algebra : Lineární zobrazení

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Učitelství 1. stupně ZŠ tématické plány předmětů matematika

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

O čem byl CHES a FDTC? Jan Krhovják Fakulta informatiky Masarykova univerzita v Brně

Návrh. číslicových obvodů

Okruhy, podokruhy, obor integrity, těleso, homomorfismus. 1. Rozhodněte, zda daná množina M je podokruhem okruhu (C, +, ): f) M = { a

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Dynamické programování

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Testování pamětí (Memory BIST)

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

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

Aritmetika s didaktikou I.

KALKULÁTORY EXP LOCAL SIN

13. Lineární programování

Základní pojmy teorie množin Vektorové prostory

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Princip rozšíření a operace s fuzzy čísly

TEMATICKÝ PLÁN. září říjen

Funkce a základní pojmy popisující jejich chování

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

Algoritmy I, složitost

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

MATURITNÍ OTÁZKY Z MATEMATIKY PRO ŠKOLNÍ ROK 2010/2011

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.

Míry podobnosti, základy fuzzy matematiky

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Aritmetické operace a obvody pro jejich realizaci

1 Mnohočleny a algebraické rovnice

Komerční výrobky pro kvantovou kryptografii

ELIPTICKÉ KŘIVKY V KRYPTOGRAFII

Přijímací zkoušky z matematiky pro akademický rok 2018/19 NMgr. studium Učitelství matematiky ZŠ, SŠ

Struktura a architektura počítačů

0.1 Úvod do lineární algebry

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

4. Trojúhelníkový rozklad p. 1/20

Soustavy lineárních rovnic a determinanty

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Transkript:

3. Aritmetika nad F p a F 2 m Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze c Martin Novotný, 2011 MI-BHW Bezpečnost a technické prostředky LS 2010/11, 3. přednáška Evropský sociální fond. Praha & EU: Investujeme do vaaí budoucnosti Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 1 / 27

Obsah přednášky Eliptické křivky nad F p a F 2 m, shrnutí operací Aritmetické operace nad F p Aritmetické operace nad F 2 m s polynomiální bází Aritmetické operace nad F 2 m s normální bází Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 2 / 27

Eliptické křivky nad F p a F 2 m EC nad F p Weierstrassova rovnice y 2 x 3 + ax + b mod p kde 4a 3 + 27b 2 / 0 mod p EC nad F 2 m Weierstrassova rovnice y 2 + xy x 3 + ax + b mod F(α) kde b 0 Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 3 / 27

EC nad F p sčítání bodu (základní operace) Pro bod R = P + Q, kde R = [x R, y R ], P = [x P, y P ] a Q = [x Q, y Q ], platí kde s = Potřebné operace nad F p sčítání, odčítání násobení x R = s 2 x P x Q y R = (x Q x R )s y Q mod p mod p y P y Q x P x Q mod p pokud P Q (sčítání) 3xQ 2 + a 2y Q mod p pokud P = Q (zdvojování) inverze (dělení je násobení inverzním prvkem) druhá mocnina pomocí násobení Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 4 / 27

EC nad F 2 m sčítání bodu (základní operace) Pro bod R = P + Q, kde R = [x R, y R ], P = [x P, y P ] a Q = [x Q, y Q ], platí x R = a + s 2 + s + x P + x Q kde s = y R = (x Q + x R )s + x R + y Q y P + y Q x P + x Q x Q + y Q x Q pokud P Q (sčítání) pokud P = Q (zdvojování) Potřebné operace nad F 2 m sčítání násobení inverze (dělení je násobení inverzním prvkem) druhá mocnina vyplatí se speciální obvod Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 5 / 27

Sčítání nad F p : C = A + B mod p A B Σ -p Σ 0 1 C Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 6 / 27

Odčítání nad F p : C = A B mod p A -B Σ p Σ 1 0 C Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 7 / 27

Klasická LSB násobička Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 8 / 27

Algoritmus Double-and-Add MSB násobení A 13 = A 1101 2 = (((1A 2) + 1A) 2 + 0A) 2 + 1A A 13 = A 1101 2 = 1A }{{} 2 + 1A 2 + 0A 2 + 1A 1 A }{{} 3 A }{{} 6 A } {{ } 13 A Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 9 / 27

Násobení nad F p : MSB násobička Vstup: A, B, p, kde 0 A, B p 1. Výstup: C = A B mod p k: počet bitů B b i : i-tý bit B 1. C = 0; 2. for i = k 1 downto 0 3. C = C 2 + b i A; 4. if C p then 5. C = C p; 6. end if; 7. if C p then 8. C = C p; 9. end if; 10. end for; B A << Σ -p Σ 0 1 -p Σ 0 1 C Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 10 / 27

Násobení nad F p : MSB násobička modifikace B << A Σ -p -2p Σ Σ 0 1 0 1 C Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 11 / 27

Výpočet inverzního prvku nad F p Rozšířený Euklidův algoritmus (bude později) Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 12 / 27

Extension field F p m F p m se nazývá extension field nad tělesem F p. V kryptografii zpravidla pracujeme s binárními tělesy (binary field) F 2 m Prvky tělesa reprezentujeme bud jako polynomy nebo jako vektory (jsou to dva možné zápisy téhož) Příklad: některé prvky tělesa F 2 4 s polynomiální bází A = α 3 + α 2 = (1100) B = α 2 + α + 1 = (0111) Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 13 / 27

Sčítání nad F 2 m: C = A B Sčítání v binárním tělese je vždy bit-wise XOR (bez ohledu na bázi tělesa) a m-1 b m-1 a 1 b 1 a 0 b 0 c m-1 c 1 c 0 Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 14 / 27

Násobení nad F 2 m Algoritmus násobení je závislý na použité bázi (to je rozdíl oproti sčítání, které je vždy XOR) V praxi se používá polynomiální báze (polynomial basis) normální báze (normal basis) duální báze (dual basis) Polynomiální báze Báze Prvek tělesa {α m 1, α m 2,..., α 2, α, 1} A = a m 1 α m 1 + + a 2 α 2 + a 1 α + a 0 = (a m 1... a 2 a 1 a 0 ) Nerozložitelný polynom (irreducible polynomial) F(α) = α m + g m 1 α m 1 + + g 2 α 2 + g 1 α + g 0 Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 15 / 27

Algoritmus Double-and-Add MSB násobení Stejný algoritmus jako pro aritmetické násobení ( A 13 = A 1101 2 = A 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0) = = (((1A 2) + 1A) 2 + 0A) 2 + 1A můžeme použít i pro násobení polynomů ( ) ( A α 3 + α 2 + 1 = A 1α 3 + 1α 2 + 0α 1 + 1α 0) = = (((1A α) + 1A) α + 0A) α + 1A Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 16 / 27

Lineární zpětnovazební posuvný registr (LFSR) LFSR (Linear feedback shift register) implementuje operaci A := Aα mod F(α) Příklad: LFSR pro F 2 16 m = 16 F(α) = α 16 + α 5 + α 3 + α 1 + 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 17 / 27

Násobení nad F 2 m s polynom. bází: MSB násobička Vstup: A, B F 2 m; B = m 1 i=0 b i α i Výstup: C A B mod F(α) A A B B 1. C = 0; 2. for i = m 1 downto 0 3. C = C α mod F (α) + b i A; 4. end for; LFSR C Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 18 / 27

Příklad: MSB násobička v F 2 6 s polynomiální bází A C B F(α) = α 6 + α + 1 Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 19 / 27

Příklad: MSB násobička v F 2 163 s polynomiální bází F(x) = x 163 + x 7 + x 6 + x 3 + 1 (zdroj: Guajardo, Gueneysu, Kumar, Paar, Pelzl: Efficient Hardware Implementation of Finite Fields with Applications to Cryptography) Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 20 / 27

Násobení nad F 2 m s polynom. bází: LSB násobička C A B mod F(α) ( A b 0 + b 1 α + b 2 α 2 + + b m 1 α m 1) mod F(α) A b 0 + A b 1 α + A b 2 α 2 + + A b m 1 α m 1 mod F(α) b 0 A + b 1 Aα + b 2 Aα 2 + + b m 1 Aα m 1 mod F(α) b 0 A + b 1 (Aα mod F(α)) + b 2 (Aα 2 mod F(α)) + + + b m 1 (Aα m 1 mod F(α)) b 0 A + b 1 (Aα mod F(α)) + b 2 ((Aα)α mod F(α)) + + + b m 1 ((Aα m 2 )α mod F (α)) Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 21 / 27

Násobení nad F 2 m s polynom. bází: LSB násobička Vstup: A, B F 2 m; B = m 1 i=0 b i α i Výstup: C A B mod F(α) A A LFSR B B 1. C = 0; 2. for i = 0 to m 1 3. C = C + b i A; 4. A = A α mod F(α); 5. end for; C Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 22 / 27

Příklad: LSB násobička v F 2 6 s polynomiální bází F(α) = α 6 + α + 1 A C B Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 23 / 27

Výpočet inverzního prvku nad F 2 m s polynomiální bází Rozšířený Euklidův algoritmus (bude později) Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 24 / 27

Druhá mocnina nad F 2 m s polynomiální bází C A 2 mod F(α) (a m 1 α 2(m 1) + a m 1 α 2(m 2) + + a 1 α 2 + a 0 ) mod F(α) Příklad: Druhá mocnina v F 2 3 A = (a 2 a 1 a 0 ) = a 2 α 2 + a 1 α + a 0 A 2 = (a 2 α 2 + a 1 α + a 0 )(a 2 α 2 + a 1 α + a 0 ) = = a 2 α 4 + a 1 a 2 α 3 + a 0 a 2 α 2 + a 2 a 1 α 3 + a 1 α 2 + a 0 a 1 α + +a 2 a 0 α 2 + a 1 a 0 α + a 0 = = a 2 α 4 + 2a 1 a 2 α 3 + 2a 0 a 2 α 2 + a 1 α 2 + 2a 0 a 1 α + a 0 = = a 2 α 4 + a 1 α 2 + a 0 = (a 2 0a 1 0a 0 ) Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 25 / 27

Druhá mocnina nad F 2 m s polynomiální bází Příklad A = (a m 1 a m 1... a 2 a 1 a 0 ) A 2 = (a m 1 0a m 1 0... 0a 2 0a 1 0a 0 ) Redukcí A 2 obdržíme relativně jednoduchý výraz. Namísto počítání druhé mocniny v násobičce (m taktů) se vyplatí vysyntetizovat dedikovanou umocňovačku (1 takt): polynom F(α) # XOR kritická cesta α 131 + α 8 + α 3 + α 2 + 1 205 3 α 163 + α 7 + α 6 + α 3 + 1 246 3 α 193 + α 15 + 1 96 2 Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 26 / 27

Syntéza umocňovačky F 2 m s polynomiální bází Stačí popsat algoritmus, syntéza to vyhodnotí a zminimalizuje. SQUARER : process(a) variable A2 : std_logic_vector(2*m-1 downto 0); begin A2 := (others=> 0 ); for i in M-1 downto 0 loop -- A^2 A2(i*2) := A(i); end loop; for i in 2*M-1 downto M loop -- reduction if A2(i) = 1 then A2(i downto i-m) := A2(i downto i-m) xor F; end if; end loop; A_SQUARE <= A2(M-1 downto 0); end process; Martin Novotný (ČVUT FIT, 2011) 3. Aritmetika nad F p a F 2 m MI-BHW, 2011, 3. přednáška 27 / 27