• Nie Znaleziono Wyników

krypt04.pdf ,

N/A
N/A
Protected

Academic year: 2021

Share "krypt04.pdf ,"

Copied!
52
0
0

Pełen tekst

(1)

Kryptografia

z elementami kryptografii kwantowej

Ryszard Tanaś

http://zon8.physd.amu.edu.pl/~tanas Wykład 4

(2)

Spis treści

7 IDEA — International Data Encryption Algorithm 3

7.1 Szyfrowanie . . . 4

7.2 Generowanie podkluczy . . . 6

7.3 Deszyfrowanie . . . 7

(3)

7 IDEA — International Data Encryption Algorithm

• IDEA jest algorytmem blokowym wprowadzonym w latach 90-tych

• IDEA używa kluczy 128 bitowych • IDEA jest używana w pakiecie PGP

• IDEA jest algorytmem opatentowanym; można go używać bezpłatnie do celów niekomercyjnych

• IDEA działa na blokach 64 bitowych i wykorzystuje 3 różne operacje: xor (⊕), dodawanie modulo 216 () oraz mnożenie

(4)

7 IDEA — International Data Encryption Algorithm

• IDEA jest algorytmem blokowym wprowadzonym w latach 90-tych

• IDEA używa kluczy 128 bitowych • IDEA jest używana w pakiecie PGP

• IDEA jest algorytmem opatentowanym; można go używać bezpłatnie do celów niekomercyjnych

• IDEA działa na blokach 64 bitowych i wykorzystuje 3 różne operacje: xor (⊕), dodawanie modulo 216 () oraz mnożenie

(5)

7 IDEA — International Data Encryption Algorithm

• IDEA jest algorytmem blokowym wprowadzonym w latach 90-tych

• IDEA używa kluczy 128 bitowych • IDEA jest używana w pakiecie PGP

• IDEA jest algorytmem opatentowanym; można go używać bezpłatnie do celów niekomercyjnych

• IDEA działa na blokach 64 bitowych i wykorzystuje 3 różne operacje: xor (⊕), dodawanie modulo 216 () oraz mnożenie

(6)

7 IDEA — International Data Encryption Algorithm

• IDEA jest algorytmem blokowym wprowadzonym w latach 90-tych

• IDEA używa kluczy 128 bitowych • IDEA jest używana w pakiecie PGP

• IDEA jest algorytmem opatentowanym; można go używać bezpłatnie do celów niekomercyjnych

• IDEA działa na blokach 64 bitowych i wykorzystuje 3 różne operacje: xor (⊕), dodawanie modulo 216 () oraz mnożenie

(7)

7 IDEA — International Data Encryption Algorithm

• IDEA jest algorytmem blokowym wprowadzonym w latach 90-tych

• IDEA używa kluczy 128 bitowych • IDEA jest używana w pakiecie PGP

• IDEA jest algorytmem opatentowanym; można go używać bezpłatnie do celów niekomercyjnych

• IDEA działa na blokach 64 bitowych i wykorzystuje 3 różne operacje: xor (⊕), dodawanie modulo 216 () oraz mnożenie

(8)

7 IDEA — International Data Encryption Algorithm

• IDEA jest algorytmem blokowym wprowadzonym w latach 90-tych

• IDEA używa kluczy 128 bitowych • IDEA jest używana w pakiecie PGP

• IDEA jest algorytmem opatentowanym; można go używać bezpłatnie do celów niekomercyjnych

• IDEA działa na blokach 64 bitowych i wykorzystuje 3 różne operacje: xor (⊕), dodawanie modulo 216 () oraz mnożenie modulo 216 + 1 ( )

(9)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16

bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4

podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów:

(10)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16 bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4

podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów:

(11)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16

bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4

podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów:

(12)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16

bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4

podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów:

(13)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16

bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4

podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów:

(14)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16

bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4 podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów:

(15)

7.1 Szyfrowanie

• 64 bitowy blok tekstu jawnego jest dzielony na 4 bloki po 16

bitów: X1, X2, X3, X4

• Algorytm składa się z 8 rund

• W każdej rundzie wykonywane są wymienione wyżej 3 typy operacji na 16 bitowych blokach z 16 bitowymi podkluczami (każda runda wymaga 6 podkluczy)

• Pomiędzy rundami blok 2 i 3 są zamieniane

• Algorytm kończy przekształcenie końcowe, które wymaga 4

podkluczy

• W wyniku otrzymuje się 4 bloki kryptogramu po 16 bitów: Y , Y , Y , Y

(16)
(17)

X1 X2 X3 X4

? ? ? ?

- - -

(18)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕

(19)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r

(20)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ?

(21)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ? ? ?  K(1) 6 

(22)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ? ? ?  K(1) 6  r  -⊕ ⊕

(23)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ? ? ?  K(1) 6  r  -⊕ ⊕ r  -⊕ ⊕

(24)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ? ? ?  K(1) 6  r  -⊕ ⊕ r  -⊕ ⊕ ? ? hhh hhh hhhhh h ( ( ( ( ( ( ( ( ( ( ( ( ? ?

(25)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ? ? ?  K(1) 6  r  -⊕ ⊕ r  -⊕ ⊕ ? ? hhh hhh hhhhh h ( ( ( ( ( ( ( ( ( ( ( ( ? ? Kolejne 7 rund

(26)

X1 X2 X3 X4 ? ? ? ? - - - -K1(1) K2(1)  K3(1)  K4(1) ? r -? r  ⊕ ? ? r -⊕ r ? -K5(1) ? ? ?  K(1) 6  r  -⊕ ⊕ r  -⊕ ⊕ ? ? hhh hhh hhhhh h ( ( ( ( ( ( ( ( ( ( ( ( ? ? Kolejne 7 rund hhh hhh hhhhh h ( ( ( ( ( ( ( ( ( ( ( ( ? ? ? ? - - - -K1(9) K2(9)  K3(9)  K4(9) ? ? ? ? Y1 Y2 Y3 Y4

(27)

7.2 Generowanie podkluczy

• IDEA używa klucza 128 bitowego i wymaga 8 × 6 + 4 = 52

podklucze

1. 128 bitowy klucz jest dzielony na bloki 16 bitowe, co daje 8

podkluczy

2. Na kluczu wykonuje się przesunięcie cykliczne o 25 pozycji i znowu dzieli na bloki 16 bitowe, co daje kolejne 8

podkluczy

3. Operację z punktu 2 powtarza się tak długo aż wygeneruje się wszystkie podklucze

(28)

7.2 Generowanie podkluczy

• IDEA używa klucza 128 bitowego i wymaga 8 × 6 + 4 = 52 podklucze

1. 128 bitowy klucz jest dzielony na bloki 16 bitowe, co daje 8

podkluczy

2. Na kluczu wykonuje się przesunięcie cykliczne o 25 pozycji i znowu dzieli na bloki 16 bitowe, co daje kolejne 8

podkluczy

3. Operację z punktu 2 powtarza się tak długo aż wygeneruje się wszystkie podklucze

(29)

7.2 Generowanie podkluczy

• IDEA używa klucza 128 bitowego i wymaga 8 × 6 + 4 = 52

podklucze

1. 128 bitowy klucz jest dzielony na bloki 16 bitowe, co daje 8 podkluczy

2. Na kluczu wykonuje się przesunięcie cykliczne o 25 pozycji i znowu dzieli na bloki 16 bitowe, co daje kolejne 8

podkluczy

3. Operację z punktu 2 powtarza się tak długo aż wygeneruje się wszystkie podklucze

(30)

7.2 Generowanie podkluczy

• IDEA używa klucza 128 bitowego i wymaga 8 × 6 + 4 = 52

podklucze

1. 128 bitowy klucz jest dzielony na bloki 16 bitowe, co daje 8

podkluczy

2. Na kluczu wykonuje się przesunięcie cykliczne o 25 pozycji i znowu dzieli na bloki 16 bitowe, co daje kolejne 8

podkluczy

3. Operację z punktu 2 powtarza się tak długo aż wygeneruje się wszystkie podklucze

(31)

7.2 Generowanie podkluczy

• IDEA używa klucza 128 bitowego i wymaga 8 × 6 + 4 = 52

podklucze

1. 128 bitowy klucz jest dzielony na bloki 16 bitowe, co daje 8

podkluczy

2. Na kluczu wykonuje się przesunięcie cykliczne o 25 pozycji i znowu dzieli na bloki 16 bitowe, co daje kolejne 8

podkluczy

3. Operację z punktu 2 powtarza się tak długo aż wygeneruje się wszystkie podklucze

(32)

7.3 Deszyfrowanie

• Deszyfrowanie algorytmem IDEA przebiega tak jak

szyfrowanie, zamiast X1, X2, X3, X4 na wejściu podaje się bloki Y1, Y2, Y3, Y4 kryptogramu oraz klucz K (ten sam co przy szyfrowaniu)

• Z klucza K generuje się podklucze Ki(r)

• Generuje się podklucze deszyfrujące K0(r)i wg schematu przedstawionego w tablicy

(33)

7.3 Deszyfrowanie

• Deszyfrowanie algorytmem IDEA przebiega tak jak

szyfrowanie, zamiast X1, X2, X3, X4 na wejściu podaje się bloki Y1, Y2, Y3, Y4 kryptogramu oraz klucz K (ten sam co przy szyfrowaniu)

• Z klucza K generuje się podklucze Ki(r)

• Generuje się podklucze deszyfrujące K0(r)i wg schematu przedstawionego w tablicy

(34)

7.3 Deszyfrowanie

• Deszyfrowanie algorytmem IDEA przebiega tak jak

szyfrowanie, zamiast X1, X2, X3, X4 na wejściu podaje się bloki Y1, Y2, Y3, Y4 kryptogramu oraz klucz K (ten sam co przy szyfrowaniu)

• Z klucza K generuje się podklucze Ki(r)

• Generuje się podklucze deszyfrujące K0(r)i wg schematu przedstawionego w tablicy

(35)

7.3 Deszyfrowanie

• Deszyfrowanie algorytmem IDEA przebiega tak jak

szyfrowanie, zamiast X1, X2, X3, X4 na wejściu podaje się bloki Y1, Y2, Y3, Y4 kryptogramu oraz klucz K (ten sam co przy szyfrowaniu)

• Z klucza K generuje się podklucze Ki(r)

• Generuje się podklucze deszyfrujące K0(r)i wg schematu przedstawionego w tablicy

(36)

Runda K0(r)1 K0(r)2 K0(r)3 K0(r)4 K0(r)5 K0(r)6 r = 1 “K1(10−r)”−1 −K2(10−r) −K3(10−r) “K4(10−r)”−1 K5(9−r) K6(9−r) 2≤ r ≤ 8 “K1(10−r)”−1 −K3(10−r) −K2(10−r) “K4(10−r)”−1 K5(9−r) K6(9−r) r = 9 “ K1(10−r) ”−1 −K2(10−r) −K3(10−r) “K4(10−r) ”−1 — —

Tworzenie podkluczy deszyfrujących K0(r)i na podstawie podkluczy szyfrujących Ki(r) w algorytmie IDEA (dla Ki = 0 przyjmuje się

(37)

8 AES — Advanced Encryption Standard — Rijndael • Nowy standard przyjęty w 2001 r. w USA

• Algorytm blokowy, który zaprojektowali Joan Daemen i Vincent Rijmen

• Zarówno długość bloku jak i klucza może być wybrana jako

128, 192 lub 256 bitów

• Rijndael jest ogólnie dostępny

(38)

8 AES — Advanced Encryption Standard — Rijndael • Nowy standard przyjęty w 2001 r. w USA

• Algorytm blokowy, który zaprojektowali Joan Daemen i Vincent Rijmen

• Zarówno długość bloku jak i klucza może być wybrana jako

128, 192 lub 256 bitów

• Rijndael jest ogólnie dostępny

(39)

8 AES — Advanced Encryption Standard — Rijndael • Nowy standard przyjęty w 2001 r. w USA

• Algorytm blokowy, który zaprojektowali Joan Daemen i Vincent Rijmen

• Zarówno długość bloku jak i klucza może być wybrana jako

128, 192 lub 256 bitów

• Rijndael jest ogólnie dostępny

(40)

8 AES — Advanced Encryption Standard — Rijndael • Nowy standard przyjęty w 2001 r. w USA

• Algorytm blokowy, który zaprojektowali Joan Daemen i Vincent Rijmen

• Zarówno długość bloku jak i klucza może być wybrana jako 128, 192 lub 256 bitów

• Rijndael jest ogólnie dostępny

(41)

8 AES — Advanced Encryption Standard — Rijndael • Nowy standard przyjęty w 2001 r. w USA

• Algorytm blokowy, który zaprojektowali Joan Daemen i Vincent Rijmen

• Zarówno długość bloku jak i klucza może być wybrana jako

128, 192 lub 256 bitów

• Rijndael jest ogólnie dostępny

(42)

8 AES — Advanced Encryption Standard — Rijndael • Nowy standard przyjęty w 2001 r. w USA

• Algorytm blokowy, który zaprojektowali Joan Daemen i Vincent Rijmen

• Zarówno długość bloku jak i klucza może być wybrana jako

128, 192 lub 256 bitów

• Rijndael jest ogólnie dostępny

(43)

• W każdej rundzie wykonywane są 4 operacje (macierzowe):

– podstawienie w S-boksie

– przesunięcie wierszy – mieszanie kolumn xor z podkluczem

(44)

• W każdej rundzie wykonywane są 4 operacje (macierzowe): – podstawienie w S-boksie

– przesunięcie wierszy – mieszanie kolumn xor z podkluczem

(45)

• W każdej rundzie wykonywane są 4 operacje (macierzowe):

– podstawienie w S-boksie – przesunięcie wierszy

– mieszanie kolumn xor z podkluczem

(46)

• W każdej rundzie wykonywane są 4 operacje (macierzowe):

– podstawienie w S-boksie

– przesunięcie wierszy

– mieszanie kolumn

xor z podkluczem

(47)

• W każdej rundzie wykonywane są 4 operacje (macierzowe):

– podstawienie w S-boksie

– przesunięcie wierszy – mieszanie kolumn

xor z podkluczem

(48)

• W każdej rundzie wykonywane są 4 operacje (macierzowe):

– podstawienie w S-boksie

– przesunięcie wierszy – mieszanie kolumn xor z podkluczem

(49)
(50)
(51)
(52)

Cytaty

Powiązane dokumenty

Jeżeli w okresie trzech miesięcy, licząc od dnia wydania orzeczenia o niepełnosprawności lub orzeczenia o stopniu niepełnosprawności, zostanie złożony wniosek o ustalenie prawa

Podczas lekcji wyjaśniamy pojęcie krajobraz, stosując metodę mapowania pojęć, a następnie wyjaśniamy, jak rozumieją pojęcie krajobraz przekształcony. Warto zwrócić

Informatyka 2 (ES1E3017), studia stacjonarne I stopnia

Jeśli pamięci nie można przydzielić, to zwraca wartość NULL Przydzielona pamięć nie jest inicjowana. Zwracaną wartość wskaźnika należy rzutować na

Jeśli zauważysz, że dzieci oczekują jeszcze kilku przykładów, kontynuuj zabawę (zaproponuj, aby i dzieci stały się prowadzącymi).. Po każdym poleceniu nauczyciela

Są lata, kiedy miasteczko wypełnia się gwarnym tłumem młodzieży, po nich przychodzą okresy, gdy przyjeżdżają tylko babcie i matki z dziećmi, Kazimierz staje

Zmiana wartości argumentu odbywa się później (po wyliczeniu całego wyrażenia)...

P.  Żółkowski byłby dobrym aktorem komicznym, gdyby przestał chcieć być bufo- nem; gdyby raczył sobie przypomnieć, że teatr jest rodzajem liceum, gdzie trzeba się poddać