OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE
|
|
- Bartosz Stankiewicz
- 6 lat temu
- Przeglądów:
Transkrypt
1 OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE 1
2 Tryby pracy szyfrów blokowych Rzadko zdarza się, by tekst jawny zawierał tylko 64 bity, czyli 8 znaków kodu ASCII. Zwykle więc tekst jawny dzieli się na bloki 64-bitowe i stosuje się wielokrotnie ten sam algorytm dla każdego bloku z tym samym kluczem. Tryb elektronicznej książki kodowej każdy blok tekstu jawnego M i szyfruje się tym samym kluczem K. 2
3 Tryby pracy szyfrów blokowych Tryb wiązania bloków zaszyfrowanych gwrantuje generowanie innych bloków kryptogramu przy tych samych tekstach jawnych. Danymi wejściowymi dla algorytmu szyfrowania jest tu XOR bloku textu jawnego i poprzedniego bloku kryptogramu. W celu wytworzenia pierwszego bloku kryptogramu należy wygenerować losowo sekwencję wp, zwaną wektorem początkowym, który można bez obawy przesłać za pomocą ogólnie dostępnego kanału transmisyjnego. 3
4 Tryby pracy szyfrów blokowych Tryb szyfrowania ze sprzężeniem zwrotnym w tym trybie nie szyfruje się całych bloków, lecz fragmenty bloku, złożone z j bitów. W praktyce j = 1 lub j = 8. Jeśli j = 1, to szyfruje się jednorazowo pojedyncze bity, a gdy j = 8 pojedyncze znaki kodu ASCII. 4
5 Algorytm DES Data Encryption Standard (norma szyfrowania danych) 1977 r. Symetryczny algorytm szyfrowania 64-bitowy blok danych wejściowych oraz wyjściowych 56-bitowy blok klucza. Brak teoretycznych prac, które uzasadniałyby jego moc Ponad 20 lat badań potwierdziło jego skuteczność Standard dla zastosowań komercyjnych na całym świecie 5
6 Schemat blokowy algorytmu DES Wiadomość jawna M 64 Permutacja początkowa IP L R 0 f L 1 R 1 + f L 2 R 2 K 1 K Permutowany wybór P C 2 Permutowany wybór P C 2 Klucz K 64 Permutowany wybór P C C 0 D 0 Przesunięcie Przesunięcie w lewo w lewo C 1 D 1 Przesunięcie Przesunięcie w lewo w lewo C 2 D f L R Permutacja końcowa IP 1 Wiadomość 64 zaszyfrowana C K Permutowany wybór P C 2 C 15 D 15 Przesunięcie Przesunięcie w lewo w lewo C 16 D 16 6
7 Schemat blokowy wyznaczania wartości funkcji f R i 1 32 Rozszerzenie E k i R i 1 + B 48 B 1 6 B B 8 S 1 S 2 S 8 y 1 4 y 2 4 y Permutacja P f(r i 1, k i ) 7
8 Generowanie kluczy Pobrać od użytkownika klucz 64 bitowy. Ważny klucz powinien posiadać nieparzystą liczbę jedynek w każdym bajcie, a każdy ósmy bit klucza jest traktowany jako bit kontroli parzystości. Przetwarzanie klucza Dokonać permutacji 64 bitów klucza zgodnie z Permutowanym wyborem PC 1 Permutowany wybór PC
9 Generowanie kluczy Podzielić uzyskane powyżej 58 bitów klucza na dwie połowy. Pierwsza połowa, składająca się z 28 bitów nazywa się C 0, druga D 0. Obliczanie podkluczy K i, i = 1, 2,..., 16. Cykliczne przesunięcie w lewo bloków podkluczy Liczba cyklicznych przesunięć w lewo bloków podkluczy w zależności od numeru iteracji i lpc i lpc
10 Generowanie kluczy Połączenie bloków C i i D i w 56 bitowy blok C i D i Otrzymany, 56 bitowy blok C i D i przetwarzać zgodnie z tabelą Permutowany wybór PC 2, Permutowany wybór PC Po wykonaniu tej czynności otrzyma się klucz dla i-tej iteracji K i. Zwiększyć i o 1. 10
11 Przetwarzanie 64-bitowego bloku tekstu jawnego Pobrać od użytkownika 64-bitowy blok tekstu jawnego. Jeśli blok jest krótszy, należy go odpowiednio uzupełnić do 64 bitów. Bity bloku tekstu jawnego poddać permutacji początkowej IP Permutacja początkowa IP Podzielić blok tekstu jawnego na dwie połowy i oznaczyć połowę, zawierającą pierwsze 32 bity tekstu jawnego symbolem L 0, zaś drugą połowę symbolem R 0. 11
12 Przetwarzanie 64-bitowego bloku tekstu jawnego Przetwarzać blok tekstu jawnego stosując 16 podkluczy. Rozszerzyć 32-bitowy blok R i 1 z funkcją wyboru E. Funkcja wyboru E do 48 bitów zgodnie Uzyskany w poprzednim kroku 48-bitowy blok E(R i 1 ) dodać modulo 2 do podklucza K i. 12
13 Przetwarzanie 64-bitowego bloku tekstu jawnego Przetwarzać blok tekstu jawnego stosując 16 podkluczy (cd) Rozdzielić blok, otrzymany w wyniku przetwarzania w poprzednim kroku, czyli E(R i 1 ) XOR K i na osiem 6- bitowych bloków B 1 B 8 w taki sposób, że bity 1-6 bloku E(R i 1 ) XOR K i tworzą blok B 1, bity 7-12 blok B 2, i na koniec bity blok B 8 Obliczanie wartości wszystkich funkcji podstawienia S j, j = 1, 2,..., 8 w zależności od konfigurcji bitów w blokach B j. Wartościami tych funkcji są bloki 4-bitowe. Przyjąć j = 1. Jeśli B j = b 1 b 2 b 3 b 4 b 5 b 6, to liczba binarna b 1 b 6, odpowiadająca liczbie systemu dziesiątkowego m, wskazuje numer wiersza (od 0 do 3), który należy uwzględnić przy obliczaniu wartości funkcji S j, zaś liczba binarna b 2 b 3 b 4 b 5, odpowiadająca liczbie systemu dziesiątkowego n, wskazuje numer kolumny (od 0 do 15), brany pod uwagę podczas obliczania wartości tej funkcji. 13
14 Przetwarzanie 64-bitowego bloku tekstu jawnego Funkcje podstawieniowe S j : S 1 : S 2 : S 3 : S 4 :
15 Przetwarzanie 64-bitowego bloku tekstu jawnego Funkcje podstawieniowe S j : S 5 : S 6 : S 7 : S 8 :
16 Przetwarzanie 64-bitowego bloku tekstu jawnego Przetwarzać blok tekstu jawnego stosując 16 podkluczy (cd) Przyjmując, że y j = S j (B j ), dla obliczonych w poprzednim kroku wartości m i n wyznacza się tę wartość jako liczbę binarną, odpowiadającą liczbie dziesiątkowej, leżącej na przecięciu wiersza m i kolumny n tabel, definiujących funkcje podstawienia S j. Wykonać permutację P na bloku bitów y 1 y 2 y 8. Permutacja P
17 Przetwarzanie 64-bitowego bloku tekstu jawnego Przetwarzać blok tekstu jawnego stosując 16 podkluczy (cd) Dodać modulo 2 otrzymany w poprzednim kroku blok 32- bitowy do bloku L i 1. W wyniku tej operacji otrzyma się blok R i = L i 1 XOR f(r i 1, K i ). Dokonać operacji podstawienia L i = R i 1. Zwiększyć i o 1 dokonać permutacji końcowej IP 1 bloku L 16 R 16. Permutacja końcowa IP
18 Procedura deszyfrowania Opisany algorytm dotyczy procedury szyfrowania tekstu jawnego w postaci bloku 64-bitowego. W procesie deszyfrowania stosuje się ten sam algorytm, ale używa się kluczy w odwrotnej kolejności, czyli najpierw K 16, a na końcu K 1. 18
19 Rozszerzenia algorytmu DES Opracowano kilka modyfikacji algorytmu DES: Trzykrotny DES Zastosowanie dwóch kluczy K 1 i K 2 Algorytm szyfrowania przebiega zgodnie z równaniem: C = DES K1 (DES 1 K 2 (DES K1 (M))) Algorytm deszyfrowania odpowiada równaniu: M = DES 1 K 1 (DES K2 (DES 1 K 1 (C))) 19
20 Rozszerzenia algorytmu DES DESX Zastosowanie trzech kluczy K zew, K wew, K DES, algorytmu DES i operacji XOR Pierwsze dwa klucze są blokami 64-bitowymi Algorytm szyfrowania przebiega zgodnie z równaniem: C = K zew XOR DES KDES (M XOR K wew ) Algorytm deszyfrowania odpowiada równaniu: M = K wew XOR DES 1 K DES (C XOR K zew ) Nawet wynaleziona niedawno tzw. kryptoanaliza różnicowa wymaga wypróbowania około = kluczy dla złamania szyfru DESX. 20
21 Algorytm IDEA International Data Encryption Algorithm (międzynarodowy standard szyfrowania danych) algorytm stworzony przez Xuei Lai oraz Jamesa L. Masseya ze Szwajcarskiego Instytutu Technologii 64-bitowy blok danych wejściowych oraz wyjściowych 128-bitowy blok klucza Algorytm IDEA stosuje następujące trzy operacje, łatwo realizowalne sprzętowo i programowo na blokach 16-bitowych, dlatego też jest realizowany bardzo efektywnie na procesorach 16- bitowych. dodawanie modulo 2 (symbol ), dodawanie modulo 2 16 z pominięciem przeniesień (symbol ), mnożenie modulo z pominięciem przeniesień (symbol ). 21
22 Schemat blokowy algorytmu IDEA X 1 X 2 X 3 X 4 Na wejście algorytmu podaje się Z (1) Z (1) 2 + Z (1) 3 Z (1) 4 16-bitowe podbloki bloku tekstu jawnego X 1, X 2, X 3 i X Z (1) Te cztery podbloki stanowiące wejście dla 1. cyklu przetwarzania (ta Z (1) kich cykli jest 8), poddawane są operacjom z 6 blokami podkluczy. Po zamianie miejscami dwóch + wewnętrznych podbloków, otrzymanych po 1. cyklu przetwarzania, uzyskuje się blok wejściowy dla drugiego cyklu. Po ósmym cyklu wy- Z (9) Z (9) 2 Z (9) 3 Z (9) konywane jest przekształcenie końcowe, po którym nie zamienia się 4 Y 1 Y 2 Y 3 Y 4 miejscami wewnętrznych bloków. 22
23 Generowanie kluczy algorytmu IDEA IDEA wymaga 52 podbloków klucza: po 6 dla kałdego cyklu algorytmu oraz 4 podbloki klucza dla przekształcenia końcowego. Zasada generowania 16-bitowych bloków podkluczy jest następująca: 128 bitów klucza dzieli się na 8 podkluczy: 6 dla rozpoczęcia pierwszego cyklu iteracji, zostawiając pozostałe dwa podklucze dla iteracji drugiej. Następnie klucz przesuwa się cyklicznie 25 bitów w lewo, dzieli ponownie na 8 16-bitowych podkluczy, otrzymując 4 pozostałe podklucze dla drugiego cyklu i 4 podklucze dla cyklu trzeciego. Procedurę tą powtarza się aż do uzyskania wszystkich potrzebnych kluczy. 23
24 Generowanie kluczy algorytmu IDEA Podczas deszyfrowania stosuje się dokładnie ten sam algorytm, ale przy zupełnie innych blokach podkluczy. Przy obliczaniu podkluczy dla operacji deszyfrowania należy stosować odwrotności multyplikatywne lub odwrotności addytywne pokluczy szyfrujących. Np. odwrotność multyplikatywną podklucza szyfrującego Z (1) 1 oznacza się symbolem Z (1) 1 1, a odwrotność addytywną symbolem -Z (1) 1, przy czym zakłada się, że 0 1 = 0. Tak więc Z (1) 1 Z (1) (mod ), Z (1) 1 + ( Z (1) 1 ) 0 (mod 2 16 )). 24
25 Generowanie kluczy algorytmu IDEA Podklucze szyfujące i deszyfujące dla algorytmu IDEA cykl klucz szyfrujący klucz deszyfrujący 1 Z (1) 1 Z (1) 2 Z (1) 3 Z (1) 4 Z (1) 5 Z (1) 6 Z (9) 1 1 Z (9) 2 Z (9) 3 Z (9) 1 4 Z (8) 5 Z (8) 6 2 Z (2) 1 Z (2) 2 Z (2) 3 Z (2) 4 Z (2) 5 Z (2) 6 Z (8) 1 1 Z (8) 3 Z (8) 2 Z (8) 1 4 Z (7) 5 Z (7) 6 3 Z (3) 1 Z (3) 2 Z (3) 3 Z (3) 4 Z (3) 5 Z (3) 6 Z (7) 1 1 Z (7) 3 Z (7) 2 Z (7) 1 4 Z (6) 5 Z (6) 6 4 Z (4) 1 Z (4) 2 Z (4) 3 Z (4) 4 Z (4) 5 Z (4) 6 Z (6) 1 1 Z (6) 3 Z (6) 2 Z (6) 1 4 Z (5) 5 Z (5) 6 5 Z (5) 1 Z (5) 2 Z (5) 3 Z (5) 4 Z (5) 5 Z (5) 6 Z (5) 1 1 Z (5) 3 Z (5) 2 Z (5) 1 4 Z (4) 5 Z (4) 6 6 Z (6) 1 Z (6) 2 Z (6) 3 Z (6) 4 Z (6) 5 Z (6) 6 Z (4) 1 1 Z (4) 3 Z (4) 2 Z (4) 1 4 Z (3) 5 Z (3) 6 7 Z (7) 1 Z (7) 2 Z (7) 3 Z (7) 4 Z (7) 5 Z (7) 6 Z (3) 1 1 Z (3) 3 Z (3) 2 Z (3) 1 3 Z (2) 5 Z (2) 6 8 Z (8) 1 Z (8) 2 Z (8) 3 Z (8) 4 Z (8) 5 Z (8) 6 Z (2) 1 1 Z (2) 2 Z (2) 2 Z (2) 1 3 Z (1) 5 Z (1) 6 pk Z (9) 1 Z (9) 2 Z (9) 3 Z (9) 4 Z (1) 1 1 Z (1) 2 Z (1) 3 Z (1) 1 4 pk przekształcenie końcowe 25
26 Cechy algorytmu IDEA Realizacja sprzętowa algorytmu IDEA jest prawie tak samo szybka, jak algorytmu DES ( Mbit/s). Na szybkich procesorach Pentium algorytmem IDEA można szyfrować dane z szybkością rzędu MB/s. Algorytm IDEA można stosowaś w takich samych trybach pracy jak algorytm DES. Algorytm RIJNDAEL (AES) Advanced Encryption Algorithm (zaawansowany standard szyfrowania danych) algorytm stworzony przez Joana Daemena i Vincenta Rijmena 128-bitowy blok danych wejściowych oraz wyjściowych 128-, 192- lub 256-bitowy blok klucza 26
27 Operacje matematyczne szyfru AES Wiele operacji algorytmu RIJNDAEL wykonywanych jest na elementach ciała skończonego GF (2 8 ), opisanych w postaci liczby binarnej lub wielomianu Liczba 8-bitowa b, złożona z bitów b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7, może być przedstawiona jako wielomian b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x 1 + b 0. Na przykład liczba dziesiętna 87 (szesnastkowo 57, binarnie ) może być przedstawiona w postaci wielomianu x 6 + x 4 + x 2 + x + 1. Inne operacje zdefiniowane są na 4-bajtowych słowach. 27
28 Operacje matematyczne szyfru AES Dodawanie. Sumą dwóch wielomianów jest wielomian otrzymany poprzez zsumowanie modulo 2 odpowiadających sobie współczynników dwóch składników. Na przykład: = D4, lub w notacji wielomianowej: (x 6 + x 4 + x 2 + x + 1) + (x 7 + x + 1) = x 7 + x 6 + x 4 + x 2 W binarnej notacji, operacja ta może być zrealizowana za pomocą funkcji XOR ( ). 28
29 Operacje matematyczne szyfru AES Mnożenie. W wielomianowej notacji, mnożenie w GF (2 8 ) odpowiada mnożeniu wielomianów modulo m(x), przy czym m(x) oznacza nierozkładalny binarny wielomian stopnia 8. W przypadku szyfru RIJNDAEL wielomian m(x) ma postać x 8 + x 4 + x 3 + x + 1, lub szesnastkowo 11B. Na przykład: = C1, lub (x 6 + x 4 + x 2 + x + 1) (x 7 + x + 1) = (x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + x 1 ) (mod x 8 + x 4 + x 3 + x + 1) = x 7 + x
30 Operacje matematyczne szyfru AES Mnożenie przez x. Mnożenie wielomianu b(x) przez x b 7 x 8 +b 6 x 7 +b 5 x 6 +b 4 x 5 +b 3 x 4 +b 2 x 3 +b 1 x 2 +b 0 x (mod m(x)) może być łatwo zrealizowane na poziomie binarnym, poprzez przesunięcie w lewo o jeden bit, a następnie redukcję modulo m(x) (xor 1B), jeśli b 8 = 1. Operacja ta realizowana jest w postaci funkcji b = xtime(a). Mnożenie przez wyższe potęgi x może być zrealizowane poprzez wielokrotne użycie funkcji xtime. Na przykład: = FE, gdyż 57 02=xtime(57)=AE 57 04=xtime(AE)= =xtime(47)=8E 57 10=xtime(8E)= =57 ( ) = 57 AE 07=FE 30
31 Operacje matematyczne szyfru AES Wielomiany nad GF (2 8 ). Czterobajtowy wektor można zapisać w postaci wielomianu stopnia mniejszego niż 4. Dodawanie wielomianów nad GF (2 8 ) może być zrealizowane poprzez dodanie poszczególnych współczynników tych wielomianów. Mnożenie wielomianów można zrealizować nastpująco: a(x) = a 3 x 3 + a 2 x 2 + a 1 x + a 0 i b(x) = b 3 x 3 + b 2 x 2 + b 1 x + b 0 c(x) = a(x)b(x) = c 6 x 6 + c 5 x 5 + c 4 x 4 + c 3 x 3 + c 2 x 2 + c 1 x + a 0 x c 0 = a 0 b 0 c 1 = a 1 b 0 a 0 b 1 c 2 = a 2 b 0 a 1 b 1 a 0 b 2 c 3 = a 3 b 0 a 2 b 1 a 1 b 2 a 0 b 3 c 4 = a 3 b 1 a 2 b 2 a 1 b 3 c 5 = a 3 b 2 a 2 b 3 c 6 = a 3 b 3 Redukcja wielomianu c(x) do wielomianu stopnia conajwyżej 3 wykonywana jest poprzez operację modulo M(x), przy czym M(x) = x
32 Operacje matematyczne szyfru AES Wielomiany nad GF (2 8 ) (cd) Jeśli x j (mod x 4 + 1) = x j mod 4, to modularny iloczyn wielomianów a(x) oraz b(x) oblicza się z zależności d(x) = a(x) b(x) d(x) = d 3 x 3 + d 2 x 2 + d 1 x + d 0 d 0 = a 0 b 0 a 3 b 1 a 2 b 2 a 1 b 3 d 1 = a 1 b 0 a 0 b 1 a 3 b 2 a 2 b 3 d 2 = a 2 b 0 a 1 b 1 a 0 b 2 a 3 b 3 d 3 = a 3 b 0 a 2 b 1 a 1 b 2 a 0 b 3 Operacje ta mozna zapisać macierzowo d 0 d 1 d 2 d 3 = a 0 a 3 a 2 a 1 a 1 a 0 a 3 a 2 a 2 a 1 a 0 a 3 a 3 a 2 a 1 a 0 b 0 b 1 b 2 b 3. 32
33 Operacje matematyczne szyfru AES Wielomiany nad GF (2 8 ) Mnożenie przez x Mnożąc wielomian b(x) przez x otrzymuje się b 3 x 4 + b 2 x 3 + b 1 x 2 + b 0 x x b(x) otrzymuje się poprzez redukcję powyższego wielomianu przez M(x) = x W efekcie otrzymuje się wielomian c(x) c 0 c 1 c 2 c 3 = b 0 b 1 b 2 b 3. 33
34 Stan szyfru AES Stanem algorytmu RIJNDAEL nazywa się prostokątną macierz bajtów, stanowiącą bieżący wynik działania algorytmu szyfrującego. Wszystkie operacje podczas wykonywania realizowane są na macierzy stanu, a jako wynik, zwracają kolejną macierz stanu. Stan może być przedstawiony jako macierz prostokątna o czterech wierszach. Liczba kolumn określona jest parametrem Nb, i równa jest długości bloku wejściowego podzielonego przez 32. Każda kolumna stanu może być potraktowana jako zbiór niezależnych czterech wartości typu Byte lub czterobajtowe słowo. Stanem klucza jest taka sama macierz, przy czym liczba kolumn uzależniona jest od parametru Nk, równej długości klucza podzielonego na 32. Macierz stanu o wymiarach i j, można przedstawić w postaci jednowymiarowego wektora N b (lub N k) 4-bajtowych słów, w którym przez n można określić indeks n-tego słowa, zatem i = n mod 4; j = n/3; n = i + 4 j. 34
35 Rundy szyfru AES Liczba rund algorytmu Rijndael, zależy od rozmiaru klucza oraz bloku tekstu jawnego, i przedstawiona jest w poniższej tabeli: Nr Nb=4 Nb=6 Nb=8 Nk= Nk= Nk=
36 Realizacja rundy w algorytmie AES Operacja, realizowana w poszczególnych rundach wygląda następująco Round(State, RoundKey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State, RoundKey); } Runda końcowa realizowana jest następująco: FinalRound(State, RoundKey) { ByteSub(State); ShiftRow(State); AddRoundKey(State, RoundKey); } 36
37 Realizacja rundy w algorytmie AES Transformacja ByteSub realizowana jest nieależnie na każdym bajcie stanu szyfru, w podany niżej sposób: Oblicza się odwrotność multyplikatywną w GF (2 8 ). Wartość 0 mapowana jest na siebie. Nastęnie oblicza się przekształcenie afiniczne bajtu zapisanego w postaci wektora bitów y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 = x 0 x 1 x 2 x 3 x 4 x 5 x 6 x (1) Operację odwrotną realizuje się obliczając odwrotność multyplikatywną wyniku odwrotnego przekształcenia afinicznego. 37
38 Realizacja rundy w algorytmie AES Transformacja ShiftRow polega na cyklicznym przesuwaniu w lewo poszczególnych wierszy macierzy stanu. Rozmiar przesunięć zależy od parametru Nb, co przedstawia następująca tabela: Nb=4 Nb=6 Nb=8 C C C C
39 Realizacja rundy w algorytmie AES Transformacja MixColumn realizowana jest na poszczególnych kolumnach macierzy stanu, i polega na pomnożeniu kolumny zapisanej w postaci wielomianu przez wielomian c(x) modulo x 4 +1, przy czym c(x) = 03 x x x Operację tą można zapisać w postaci macierzowej b 0 b 1 b 2 b 3 = W operacji odwrotnej wielomian c(x) zastępuje się wielomianem d(x) d(x) = 0B x 3 + 0D x x + 0E, taki, że c(x) d(x) = 01. a 0 a 1 a 2 a 3. 39
40 Realizacja rundy w algorytmie AES Transformacja AddRoundKey polega na zsumowaniu modulo 2 poszczególnych bajtów stanu oraz klucza rundy. Operacja AddRoundKey jest samoodwrotna. Generowanie kluczy Całkowita liczba bitów kluczy rund równa jest długości bloku pomnożonej przez liczbę rund powiększoną o 1. Np. dla szyfru o długości 128, potrzeba 1408 bitów kluczy rund. Klucze te generowane są na podstawie klucza szyfru. Klucz szyfru rozszerzany jest do tzw. rozszerzonego klucza (Extended Key). Klucze kolejnych rund stanowią kolejne fragmenty rozszerzonego klucza. 40
41 Generowanie kluczy Rozszerzony klucz stanowi jednowimiarową tablicę czterobajtowych słów W [Nb (Nr + 1)]. Pierwsze Nk słów zawiera klucz rozszerzony. Wszystkie kolejne słowa wyznaczane są rekurencyjnie, zgodnie z funkcją: Dla Nk 6 operacja rozszerzenia klucza wygląda następująco: KeyExpansion(byte Key[4*Nk] word W[Nb*(Nr+1)]) { for(i=0;i<nk;i++) W[i] = (Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]); for(i=nk;i<nb*(nr+1);i++) { temp = W[i - 1]; if (i % Nk == 0) temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk]; W[i] = W[i - Nk] ^ temp; } } 41
42 Generowanie kluczy Dla N k > 6 operacja rozszerzania klucza wygląda następująco: KeyExpansion(byte Key[4*Nk] word W[Nb*(Nr+1)]) { for(i=0;i<nk;i++) W[i] = (key[4*i],key[4*i+1],key[4*i+2],key[4*i+3]); for(i = Nk; i < Nb * (Nr + 1); i++) { temp = W[i - 1]; if (i % Nk == 0) temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk]; else if (i % Nk == 4) temp = SubByte(temp); W[i] = W[i - Nk] ^ temp; } } Operacja SubByte(W) jest funkcją zwracającą 4-bajtowe słowo, w którym każdy bajt jest wynikiem operacji S-Box, która odpowiada transformacji ByteSub. Operacja RotByte(W) zwraca słowo stanowiące cykliczną permutację bajtów słowa wejściowego (a, b, c, d) (b, c, d, a). 42
43 Algorytm RIJNDAEL Procedura szyfrująca algorytmu Rijndael przedstawia się następująco: Rijndael(State,CipherKey) { KeyExpansion(CipherKey,ExpandedKey) ; AddRoundKey(State,ExpandedKey); For(i=1;i<Nr;i++) Round(State,ExpandedKey + Nb*i) ; FinalRound(State,ExpandedKey + Nb*Nr); } Jeśli rozszerzenie klucza wykona się przed rozpoczęciem szyfrowania, to procedura szyfrująca wygląca następująco: Rijndael(State,ExpandedKey) { AddRoundKey(State,ExpandedKey); For(i=1;i<Nr;i++) Round(State,ExpandedKey + Nb*i) ; FinalRound(State,ExpandedKey + Nb*Nr); } 43
Rijndael szyfr blokowy
Rijndael szyfr blokowy Andrzej Chmielowiec 24 lipca 2002 1 Podstawy matematyczne Kilka operacji w standardzie Rijndael jest zdefiniowanych na poziomie bajta, przy czym bajty reprezentują elementy ciała
Bardziej szczegółowo2 Kryptografia: algorytmy symetryczne
1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;
Bardziej szczegółowoPROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla
Bardziej szczegółowoPROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla
Bardziej szczegółowoI N P U T 128 lub 192 lub 256. K L U C Z 128 lub 192 lub 256 A E S RIJNDAEL. O U T P U T 128 lub 192 lub 256
I N P U T 28 lu 92 lu 256 A E S RIJNDAEL K L U C Z 28 lu 92 lu 256 O U T P U T 28 lu 92 lu 256 Źródła. AES Proposal: Rijndael,Joan Daemen, Vincent Rijmen 2. ISO/IEC JTC /SC 27WD 833-3: Encryption algorithms
Bardziej szczegółowoBezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003
Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (1) mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Algorytmy kryptograficzne Przestawieniowe zmieniają porządek znaków
Bardziej szczegółowo1.1. Standard szyfrowania DES
1.1. Standard szyrowania DES Powstał w latach siedemdziesiątych i został przyjęty jako standard szyrowania przez Amerykański Narodowy Instytut Standaryzacji (ang. American National Standards Institute
Bardziej szczegółowoWykład 5. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES. Podwójny algorytm DES
Podwójny algorytm DES Wykład 5 Mimo złożonej operacji szyfrowania DES tekst zaszyfrowany jest narażony na kryptoanalizę (łamanie szyfru). Z tego powodu dla poprawienia bezpieczeństwa szyfru stosuje się
Bardziej szczegółowoINŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR
INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR 1. Algorytm XOR Operacja XOR to inaczej alternatywa wykluczająca, oznaczona symbolem ^ w języku C i symbolem w matematyce.
Bardziej szczegółowoZarys algorytmów kryptograficznych
Zarys algorytmów kryptograficznych Laboratorium: Algorytmy i struktury danych Spis treści 1 Wstęp 1 2 Szyfry 2 2.1 Algorytmy i szyfry........................ 2 2.2 Prosty algorytm XOR......................
Bardziej szczegółowoCAST, 3DES, GOST, IDEA, RC2, RC4,
Wykład 5 Temat: Inne symetryczne algorytmy kryptograficzne: Blowfish, CAST, 3DES, GOST, IDEA, RC2, RC4, Rijndael (AES). 5.1. Blowfish Algorytm Blowfish (pol. rozdymka) został zaprojektowany by spełnić
Bardziej szczegółowoZadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje
Bardziej szczegółowo1. Maszyny rotorowe Enigma
Połączenie podstawowych metod szyfrowania, czyli pojedynczych podstawień lub przestawień, daje szyfr złoŝony nazywany szyfrem kaskadowym lub produktowym (ang. product cipher). Szyfry takie są połączeniem
Bardziej szczegółowoWykład 4 Temat: Algorytm symetryczny Twofish: cele projektowane, budowa bloków, opis algorytmu, wydajność algorytmu.
Wykład 4 Temat: Algorytm symetryczny Twofish: cele projektowane, budowa bloków, opis algorytmu, wydajność algorytmu. W roku 1972 Narodowe Biuro Standardów (obecnie Narodowy Instytut Standardów i Technologii
Bardziej szczegółowoImplementacja algorytmu DES
mplementacja algorytmu DES Mariusz Rawski rawski@tele.pw.edu.pl www.zpt.tele.pw.edu.pl/~rawski/ Z Mariusz Rawski 1 Algorytm DES DES (Data Encryption Standard) - jest szyfrem blokowym, o algorytmie ogólnie
Bardziej szczegółowoSzyfry kaskadowe. permutacyjnej (SPP).
Szyfry kaskadowe Szyfrem kaskadowym nazywamy szyfr, który jest złożeniem funkcji szyfrujących. W stosowanych w praktyce szyfrach kaskadowych jako funkcje składowe najczęściej stosowane są podstawienia
Bardziej szczegółowon = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.
Wykład 2 Temat: Algorytm kryptograficzny RSA: schemat i opis algorytmu, procedura szyfrowania i odszyfrowania, aspekty bezpieczeństwa, stosowanie RSA jest algorytmem z kluczem publicznym i został opracowany
Bardziej szczegółowoSzyfry kaskadowe. Szyfry kaskadowe
Szyfry kaskadowe Szyfrem kaskadowym nazywamy szyfr, który jest złożeniem funkcji szyfrujących. W stosowanych w praktyce szyfrach kaskadowych jako funkcje składowe najczęściej stosowane są podstawienia
Bardziej szczegółowoLuty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowo5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Bardziej szczegółowoSzyfrowanie informacji
Szyfrowanie informacji Szyfrowanie jest sposobem ochrony informacji przed zinterpretowaniem ich przez osoby niepowołane, lecz nie chroni przed ich odczytaniem lub skasowaniem. Informacje niezaszyfrowane
Bardziej szczegółowoZamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.
Spis treści: Czym jest szyfrowanie Po co nam szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne Szyfrowanie DES Szyfrowanie 3DES Szyfrowanie IDEA Szyfrowanie RSA Podpis cyfrowy Szyfrowanie MD5
Bardziej szczegółowoRozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26
Rozdział 4 Macierze szyfrujące Opiszemy system kryptograficzny oparty o rachunek macierzowy. W dalszym ciągu przypuszczamy, że dany jest 26 literowy alfabet, w którym utożsamiamy litery i liczby tak, jak
Bardziej szczegółowoKryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 8 Spis treści 13 Szyfrowanie strumieniowe i generatory ciągów pseudolosowych 3 13.1 Synchroniczne
Bardziej szczegółowoKryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 7 Spis treści 11 Algorytm ElGamala 3 11.1 Wybór klucza.................... 3 11.2 Szyfrowanie.....................
Bardziej szczegółowoMetody szyfrowania danych
K o d o w a n i e i k o m p r e s j a Zadanie 2 Metody szyfrowania danych Celem ćwiczenia jest zapoznanie się z podstawowymi metodami szyfrowania danych z użyciem kluczy symetrycznych i asymetrycznych.
Bardziej szczegółowoLaboratorium ochrony danych
Laboratorium ochrony danych Ćwiczenie nr 3 Temat ćwiczenia: Kod BCH Cel dydaktyczny: Zapoznanie się z metodami detekcji i korekcji błędów transmisyjnych za pomocą binarnych kodów cyklicznych, na przykładzie
Bardziej szczegółowoKryptografia systemy z kluczem tajnym. Kryptografia systemy z kluczem tajnym
Krótkie vademecum (słabego) szyfranta Podstawowe pojęcia: tekst jawny (otwarty) = tekst zaszyfrowany (kryptogram) alfabet obu tekstów (zwykle różny) jednostki tekstu: na przykład pojedyncza litera, digram,
Bardziej szczegółowoArchitektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski
Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski rogawskim@prokom.pl Plan referatu: Budowa akceleratora kryptograficznego; Struktura programowalna element fizyczny;
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowoRozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych
Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Piotr Modliński Wydział Geodezji i Kartografii PW 13 stycznia 2012 P. Modliński, GiK PW Rozw.
Bardziej szczegółowoBezpieczeństwo systemów komputerowych
Bezpieczeństwo systemów komputerowych Wprowadzenie do kryptologii Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 16 listopada 2016 Jak ta dziedzina powinna się nazywać?
Bardziej szczegółowoAlgorytmy podstawieniowe
Algorytmy podstawieniowe Nazwa: AtBash Rodzaj: Monoalfabetyczny szyfr podstawieniowy, ograniczony Opis metody: Zasada jego działanie polega na podstawieniu zamiast jednej litery, litery lezącej po drugiej
Bardziej szczegółowoAlgorytmy asymetryczne
Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można
Bardziej szczegółowoARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.
ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb
Bardziej szczegółowoDYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE
ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE @KEMOR SPIS TREŚCI. SYSTEMY LICZBOWE...3.. SYSTEM DZIESIĘTNY...3.2. SYSTEM DWÓJKOWY...3.3. SYSTEM SZESNASTKOWY...4 2. PODSTAWOWE OPERACJE NA LICZBACH BINARNYCH...5
Bardziej szczegółowoUniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy
Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy Matematyka, królowa nauk Edycja X - etap 2 Bydgoszcz, 16 kwietnia 2011 Fordoński
Bardziej szczegółowoBezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Szyfry przestawieniowe
Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne Algorytmy kryptograficzne (1) Przestawieniowe zmieniają porządek znaków według pewnego schematu, tzw. figury Podstawieniowe monoalfabetyczne
Bardziej szczegółowo0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Bardziej szczegółowoBezpieczeństwo danych i systemów informatycznych. Wykład 5
Bezpieczeństwo danych i systemów informatycznych Wykład 5 Kryptoanaliza Atak na tekst zaszyfrowany dostępny tylko szyfrogram Atak poprzez tekst częściowo znany istnieją słowa, których prawdopodobnie użyto
Bardziej szczegółowoTechniki multimedialne
Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo
Bardziej szczegółowoRozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia dzienne Wykład 6
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa
Bardziej szczegółowoSamodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,
Bardziej szczegółowoSystemy liczbowe używane w technice komputerowej
Systemy liczbowe używane w technice komputerowej Systemem liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach.
Bardziej szczegółowoBezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.
Bezpieczeństwo systemów komputerowych Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym tekstem jawnym Łamanie z adaptacyjnie wybranym tekstem jawnym Łamanie
Bardziej szczegółowoBezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1
Bezpieczeństwo systemów komputerowych mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym
Bardziej szczegółowoL6.1 Systemy liczenia stosowane w informatyce
L6.1 Systemy liczenia stosowane w informatyce Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał
Bardziej szczegółowoArytmetyka. Arytmetyka. Magdalena Lemańska. Magdalena Lemańska,
Arytmetyka Magdalena Lemańska System dziesiętny System dziesiętny Weźmy liczbę 178. Składa się ona z jednej setki, siedmiu dziesiątek i ośmiu jedności. System dziesiętny System dziesiętny Weźmy liczbę
Bardziej szczegółowoWykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VIII Kierunek Matematyka - semestr IV Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Egzotyczne algorytmy z kluczem publicznym Przypomnienie Algorytm
Bardziej szczegółowoZałóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.
Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S. Plecak ma być zapakowany optymalnie, tzn. bierzemy tylko te przedmioty,
Bardziej szczegółowo1.1. Pozycyjne systemy liczbowe
1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego
Bardziej szczegółowoKryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)
Kryptografia-0 -zachowanie informacji dla osób wtajemniczonych -mimo że włamujący się ma dostęp do informacji zaszyfrowanej -mimo że włamujący się zna (?) stosowaną metodę szyfrowania -mimo że włamujący
Bardziej szczegółowoPodstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Bardziej szczegółowoZnaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000
SYSTEMY LICZBOWE I. PODZIAŁ SYSTEMÓW LICZBOWYCH: systemy liczbowe: pozycyjne (wartośd cyfry zależy od tego jaką pozycję zajmuje ona w liczbie): niepozycyjne (addytywne) (wartośd liczby jest sumą wartości
Bardziej szczegółowoSystemy zapisu liczb.
Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:
Bardziej szczegółowo0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.
(Aktualizacja z dnia 3 kwietnia 2013) MATEMATYKA DYSKRETNA - informatyka semestr 2 (lato 2012/2013) Zadania do omówienia na zajęciach w dniach 21 i 28 kwietnia 2013 ZESTAW NR 3/7 (przykłady zadań z rozwiązaniami)
Bardziej szczegółowoMacierze - obliczanie wyznacznika macierzy z użyciem permutacji
Macierze - obliczanie wyznacznika macierzy z użyciem permutacji I LO im. F. Ceynowy w Świeciu Radosław Rudnicki joix@mat.uni.torun.pl 17.03.2009 r. Typeset by FoilTEX Streszczenie Celem wykładu jest wprowadzenie
Bardziej szczegółowo0.1 Pierścienie wielomianów
0.1 Pierścienie wielomianów Zadanie 1. Znaleźć w pierścieniu Z 5 [X] drugi wielomian określający tę samą funkcję, co wielomian X 2 X + 1. (Odp. np. X 5 + X 2 2X + 1). Zadanie 2. Znaleźć sumę i iloczyn
Bardziej szczegółowoPodstawy systemów kryptograficznych z kluczem jawnym RSA
Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych
Bardziej szczegółowoAtaki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1
Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie
Bardziej szczegółowoDetekcja i korekcja błędów w transmisji cyfrowej
Detekcja i korekcja błędów w transmisji cyfrowej Błędy w transmisji cyfrowej pojedyncze wielokrotne. całkowita niepewność względem miejsca zakłóconych bitów oraz czy w ogóle występują paczkowe (grupowe)
Bardziej szczegółowoW11 Kody nadmiarowe, zastosowania w transmisji danych
W11 Kody nadmiarowe, zastosowania w transmisji danych Henryk Maciejewski Jacek Jarnicki Marek Woda www.zsk.iiar.pwr.edu.pl Plan wykładu 1. Kody nadmiarowe w systemach transmisji cyfrowej 2. Typy kodów,
Bardziej szczegółowoImplementacja algorytmu szyfrującego
Warszawa 25.01.2008 Piotr Bratkowski 4T2 Przemysław Tytro 4T2 Dokumentacja projektu Układy Cyfrowe Implementacja algorytmu szyfrującego serpent w układzie FPGA 1. Cele projektu Celem projektu jest implementacja
Bardziej szczegółowoPrzykładowe pytania DSP 1
Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..
Bardziej szczegółowoWstęp do informatyki- wykład 1 Systemy liczbowe
1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz,
Bardziej szczegółowoSieci Komputerowe Mechanizmy kontroli błędów w sieciach
Sieci Komputerowe Mechanizmy kontroli błędów w sieciach dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Zasady kontroli błędów
Bardziej szczegółowoĆwiczenie nr 3. Wyświetlanie i wczytywanie danych
Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie
Bardziej szczegółowoBezpieczeństwo systemów i sieci komputerowych
Bezpieczeństwo systemów i sieci komputerowych Kryptologia (2) Szyfry blokowe Szyfry kaskadowe Propozycja Shannona Bezpieczny szyfr można zbudować operując na dużych przestrzeniach komunikatów i kluczy
Bardziej szczegółowo1. Operacje logiczne A B A OR B
1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne
Bardziej szczegółowo3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Bardziej szczegółowoMet Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn
Metody numeryczne Wykład 3 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Pojęcia podstawowe Algebra
Bardziej szczegółowoMikrooperacje. Mikrooperacje arytmetyczne
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej
Bardziej szczegółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowoArytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI
Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System
Bardziej szczegółowoMetoda eliminacji Gaussa. Autorzy: Michał Góra
Metoda eliminacji Gaussa Autorzy: Michał Góra 9 Metoda eliminacji Gaussa Autor: Michał Góra Przedstawiony poniżej sposób rozwiązywania układów równań liniowych jest pewnym uproszczeniem algorytmu zwanego
Bardziej szczegółowoROZPRAWA DOKTORSKA. Wydziaª Elektroniki Politechnika Wrocªawska. Metody ochrony przed kryptoanaliz z uszkodzeniami. mgr. in».
Wydziaª Elektroniki Politechnika Wrocªawska ROZPRAWA DOKTORSKA Metody ochrony przed kryptoanaliz z uszkodzeniami mgr. in». Maciej Nikodem Promotor: dr hab. in». Janusz Biernat, prof. PWr. sªowa kluczowe:
Bardziej szczegółowoZadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.
2 Egzamin maturalny z informatyki Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie lub, która odpowiedź jest prawdziwa, a która fałszywa. a) rzeanalizuj poniższy algorytm (:= oznacza instrukcję
Bardziej szczegółowoZapis liczb binarnych ze znakiem
Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.
Bardziej szczegółowoKryptografia na procesorach wielordzeniowych
Kryptografia na procesorach wielordzeniowych Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Kryptografia na procesorach wielordzeniowych p. 1 Plan prezentacji
Bardziej szczegółowoPrzedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.
Bardziej szczegółowoPodstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
Bardziej szczegółowoZadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.
Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9
Bardziej szczegółowo9 10 = U1. Przykład dla liczby dziesiętnej ( 9): negacja 1001= =10110 U1. Podsumowując: w zapisie dziesiętnym
2 Egzamin maturalny z informatyki Zadanie 1. Liczba binarna (8 pkt) Kod uzupełnień do jedności to jeden ze sposobów maszynowego zapisu liczb całkowitych, tradycyjnie oznaczany skrótem U1. Zapis liczb całkowitych
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Bardziej szczegółowoWstęp do informatyki- wykład 1
MATEMATYKA 1 Wstęp do informatyki- wykład 1 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie
Bardziej szczegółowoUKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
Bardziej szczegółowoPracownia Komputerowa wykład V
Pracownia Komputerowa wykład V dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny system
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /10
Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji
Bardziej szczegółowoKRYPTOANALIZA. Opracowanie wewnętrzne Instytutu Informatyki Gliwice, 1999
K. TRYBICKA-FRANCIK KRYPTOANALIZA Opracowanie wewnętrzne Instytutu Informatyki Gliwice, 1999 Kryptoanaliza Kryptoanaliza jest dziedziną wiedzy i badań zajmującą się metodami przełamywania szyfrów. Szyfr
Bardziej szczegółowoAuthenticated Encryption
Authenticated Inż. Kamil Zarychta Opiekun: dr Ryszard Kossowski 1 Plan prezentacji Wprowadzenie Wymagania Opis wybranych algorytmów Porównanie mechanizmów Implementacja systemu Plany na przyszłość 2 Plan
Bardziej szczegółowoAlgorytmy podstawieniowe
Algorytmy podstawieniowe Nazwa: AtBash Rodzaj: Monoalfabetyczny szyfr podstawieniowy, ograniczony Opis metody: Zasada jego działanie polega na podstawieniu zamiast jednej litery, litery lezącej po drugiej
Bardziej szczegółowoSystemy liczenia. 333= 3*100+3*10+3*1
Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=
Bardziej szczegółowoDZIESIĘTNY SYSTEM LICZBOWY
DZIESIĘTNY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Dowolną liczbę w systemie dziesiętnym możemy przedstawić jako następująca
Bardziej szczegółowoWSIZ Copernicus we Wrocławiu
Bezpieczeństwo sieci komputerowych Wykład 4. Robert Wójcik Wyższa Szkoła Informatyki i Zarządzania Copernicus we Wrocławiu Plan wykładu Sylabus - punkty: 4. Usługi ochrony: poufność, integralność, dostępność,
Bardziej szczegółowoa) Zapisz wynik działania powyższego algorytmu dla słów ARKA i MOTOR...
2 Egzamin maturalny z informatyki Zadanie 1. Szyfrowanie (8 pkt) Poniższy algorytm szyfruje słowo s przy pomocy pewnego szyfru przestawieniowego. Zaszyfrowane słowo zostaje zapisane w zmiennej w. Algorytm
Bardziej szczegółowoKOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO
Aleksandra Nogała nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie olanog@poczta.onet.pl KONSPEKT ZAJĘĆ ( 2 godziny) KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO TEMAT
Bardziej szczegółowoWykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42
Wykład 2 Informatyka Stosowana 9 października 2017 Informatyka Stosowana Wykład 2 9 października 2017 1 / 42 Systemy pozycyjne Informatyka Stosowana Wykład 2 9 października 2017 2 / 42 Definicja : system
Bardziej szczegółowo