Rozdział 2. Systemy kryptograficzne. 2.1 Podstawowe pojęcia
|
|
- Wacław Maj
- 8 lat temu
- Przeglądów:
Transkrypt
1 Rozdział 2 Systemy kryptograficzne Podstawowym elementem, który odróżnia steganografię od kryptografii jest system kryptograficzny. W tym rozdziale postaramy się przybliżyć pojęcie system kryptograficzny. 2.1 Podstawowe pojęcia Kryptografia dzieli się na kryptografię właściwą, która zajmuje się konstrukcją szyfrów oraz na kryptoanalizę, która zajmuje się łamaniem szyfrów. Z metodami konstrukcji szyfrów związane jest pojęcie kryptosystemu, czyli systemu kryptograficznego. Formalna definicja tego pojęcia nie jest łatwa do zrozumienia. Ograniczymy się tu tylko do wskazania pewnych intuicji. Najpierw sprecyzujemy dwa elementy, które każdy system kryptograficzny powinien posiadać. Od dobrego kryptosystemu wymagamy, żeby był on poufny lub tajny, tj. w razie przechwycenia tekstu przez osobę niepowołaną, osoba ta nie byłaby w stanie odczytać tekstu. autentyczny, tj. adresat nie tylko byłby w stanie przeczytać otrzymaną wiadomość, ale także miałby pewność, że pochodzi ona od osoby, która się pod nią podpisuje. Aby jednak wiadomość mogła być wysłana, najpierw trzeba ją w jakiś sposób napisać. W tym celu używamy alfabetu, który definiujemy jako dowolny zbiór skończony. Liczbę elementów zbioru A (alfabetu) będziemy oznaczać przez A, #A lub A. Do zapisywania wiadomości będziemy używać alfabetu 1
2 A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, który utożsamimy z liczbami 0, 1, 2,..., 25. Jeśli rozważymy inny alfabet, to również jego elementy (litery) utożsamimy z liczbami 0, 1, 2,..., q, gdzie q jest liczbą liter w tym alfabecie. Tego rodzaju utożsamienie pozwala nam wykonywać na literach podstawowe działania arytmetyczne zgodnie z zasadami arytmetyki modularnej. Przyjmijmy, że dana jest liczba m > 1 (zwana modułem). Na zbiorze liczb {0, 1, 2,..., m} definiujemy dodawanie w następujący sposób. Jeśli suma dwóch liczb jest mniejsza od m, to jest to wynik dodawania modularnego. Jeśli suma ta jest większa od m, to wynikiem jest reszta z dzielenia tejże sumy przez m. Podobnie definiujemy odejmowanie i mnożenie. oznacza resztę z dzielenia liczby k przez m. Dodatkowo, k mod m Litery alfabetu można układać w bloki liter. Blok dwuliterowy nazywamy digramem, trzyliterowy trigramem i, ogólnie blok n literowy nazywamy n gramem. Litery i bloki liter układają się w tekst. Szyfrujemy tylko wiadomości, które coś oznaczają, więc nie mogą to być przypadkowe ciągi liter. Konieczna zatem jest decyzja, jakiego języka będziemy używać. W naszym przypadku będzie to głównie język polski, ale z literami łacińskimi. Załóżmy więc, że mamy wybrany konkretny język oraz pewien tekst w tym języku. Tekst ów nazywamy jawnym lub otwartym. Aby go przesłać, szyfrujemy go. Możemy w tym celu użyć jednego alfabetu (szyfry monoalfabetyczne), lub też wielu alfabetów (szyfry polialfabetyczne). Zawsze jednak potrzebne nam jest przekształcenie szyfrujące, czyli funkcja różnowartościowa E. Jeśli p jest tekstem jawnym, to E(p) nazywamy kryptotekstem, lub szyfrem. W dalszej części wykładu będziemy używać synonimów wymienionych wyżej pojęć, które oznaczać będą to samo, jeśli nie zostanie podana inna 2
3 definicja. Na przykład, słowo,,tekst będziemy stosować zamiennie ze słowem,,wiadomość. Kryptosystemem będziemy nazywać zbiór przekształceń szyfrujących, z których każde powstaje w oparciu o klucz, czyli zasadę lub przepis tworzenia. 3
4 Rozdział 3 Klasyczne metody szyfrowania Korzenie kryptografii sięgają czasów starożytnego Rzymu. Tam właśnie powstał i był używany pierwszy system kryptograficzny. System ten oraz jego ulepszenia opiszemy w tym rozdziale. 3.1 Szyfry cykliczne Zostały wynalezione, a na pewno używane przez Juliusza Cezara. Mają one bardzo łatwy klucz, ale jednocześnie są łatwe do złamania. Oznaczmy przez p jednostkę tekstu jawnego i załóżmy że tych jednostek jest N. Wtedy funkcja szyfrująca E k jest określona wzorem E k (p) = p + k(mod N). Kluczem jest tu liczba k, którą dodajemy do wartości liczbowej jednostki tekstu jawnego. Jeśli k jest równe 3, to aby zaszyfrować słowo TAK, przekształcamy je w ciąg , następnie dodajemy do każdej z tych liczb 3 modulo 26 otrzymując i z powrotem przekształcamy liczby na litery by otrzymać WDN. Przekształcenie szyfrujące określone powyżej nazywamy przesunięciem. Wygodnie jest tutaj napisać alfabet, a pod nim liczby odpowiadające poszczególnym literom. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Zajmiemy się teraz łamaniem szyfrów cyklicznych. Jeśli wiemy na pewno, że mamy do czynienia z szyfrem cyklicznym i znamy ilość liter w alfabecie 4
5 (lub możliwych bloków), czyli N, łamanie polega na znalezieniu liczby k. Za k wystarczy podstawić każdą z N możliwości i sprawdzać po kolei sens otrzymanych w ten sposób wiadomości. Na przykład, przypuśćmy, że chcemy rozszyfrować wiadomość xolfd vhcdpnrzd. Wiemy, że N = 26. Sprawdzamy dla k = 1. Ponieważ trudno znaleźć słowo zaczynające się od YPM, podstawiamy k = 2 i podobnie, mamy trudny do wymówienia początek ZQ. Szczęście uśmiecha się do nas dosyć późno, ale na pewno nie później niż za 26 razem. Juliusz Cezar używał klucza 3, ale i tak dowódcy legionów raczej domyślali się treści przysłanych wiadomości niż je odszyfrowywali. Oktawian August używał już tylko kluczy 2 lub Szyfr Vigimere a z kluczem długości 2 Dość sporym utrudnieniem szyfru cyklicznego jest wykorzystanie dwóch przesunięć, które przy szyfrowaniu tekstu stosujemy naprzemiennie. Na przykład: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C K L M N O P Q R S T U V W X Y Z A B C D E F G H I J Tekst W Szczecinie pada. szyfrujemy jako ZCCMC OFSQS HZDND. Wszystkich kluczy jest w tym systemie 676, więc ewentualne łamanie metodą wyczerpania zbioru kluczy zajęłoby trochę czasu. Kto złamie szyfr WCCDU EEGSI UPK? 3.3 Permutacje alfabetu Znacznie trudniejsze od wcześniejszych są szyfry, w których każda litera alfabetu jawnego jest zastąpiona literą alfabetu szyfrowego bez stosowania określonej reguły zamiany. Zatem przestrzeń kluczy jest równa zbiorowi wszystkich permutacji (przestawień) alfabetu. W celu ułatwienia zapamiętania przekształcenia szyfrującego stosujemy tu innego rodzaju klucz. Jest to słowo, którego litery zastępują początkowe litery alfabetu jawnego. Dalsze litery dopisujemy tak jak występują one w alfabecie jawnym przy czym 5
6 pomijamy już wykorzystane znaki. Na przykład stosując klucz,,szyfrowanie dostajemy następujące przekształcenie szyfrujące: a b c d e f g h i j k l m n o p q r s t u v w x y z S Z Y F R O W A N I E B C D G H J K L M P Q T U V X Opisany powyżej kryptosystem nazywamy permutacyjnym. Jego odmianą jest stosowany w pierwszych maszynach szyfrujących kryptosystem transpozycyjny, tj. taki, który składa się z niezależnych przestawień dwóch liter. Przykładem tu jest następujące przekształcenie szyfrujące: a b c d e f g h i j k l m n o p q r s t u v w x y z Z C B F R D W K N J H M L I O P T E Y Q X V G U S A Ponieważ szyfry tego rodzaju były zaprogramowane w maszynach jako metody standardowe, nikt nie musiał pamiętać klucza. Zaletą szyfrów transpozycyjnych jest fakt, że klucze szyfrujący i rozszyfrowujący są identyczne. Zatem ta sama maszyna służyła zarówno do szyfrowania jak i do rozszyfrowywania wiadomości. 3.4 Analiza częstości występowania liter Ta metoda łamania szyfrów opiera się na prawach rachunku prawdopodobieństwa. Wiadomo, że pewne litery występują w tekście częściej niż inne. Oto alfabet angielski poukładany według częstości występowania liter: E 12.5%, T, A, O, I, N 9.2-7%, S, R 6%, L, D 4%, C, U, M, F, P, G, W, Y, B 3-1.5%, V, K, X, J, Q, Z 1-0.1%, Jeżeli więc przechwycimy wiadomość na tyle długą (lub na tyle dużo wiadomości), aby wyeliminować przypadkowość, możemy przypuszczać, że najczęściej powtarzająca się litera to zakodowane E, T, A, O, I lub N. Jeżeli mamy do czynienia z kodem cyklicznym, nasze sprawdzanie możliwości dla b ogranicza się do sześciu przypadków. Okazuje się, że na podstawie badania entropii języka, czyli ilości informacji zawartej w jednym symbolu zaszyfrowanego tekstu, można złamać każdy szyfr, który szyfruje tekst angielski mający więcej niż 25 liter. Oczywiście metoda ta nie działa, jeśli przechwytywane wiadomości są krótkie (mają mniej niż 25 liter) i klucz często się zmienia. Na przykład, jeśli 6
7 przechwycimy tylko xolfd vhcdpnrzd. jak w rozważanym wyżej szyfrze cyklicznym, to nie widać tu, która litera pojawia się najczęściej. Z drugiej strony jednak, jak się okazuje, klucze są bardzo niechętnie zmieniane. Rząd Stanów Zjednoczonych nie zdecydował się na zmianę kluczy nawet po tym, jak wszystkie zginęły w tajemniczej kradzieży w Zagrzebiu na początku drugiej wojny światowej. Kiedy już wiemy, które litery pojawiają się najczęściej, zwracamy uwagę na powtarzające się pary. Na przykład EA jest najczęściej pojawiającym się digramem samogłosek. Dosyć częsty jest też digram IO. Natomiast OI, IA, AI, OA i AO są już znacznie rzadsze. Digram AE nie pojawia się prawie nigdy. Ogólnie, dziesięć najczęstszych digramów w języku angielskim, to TH, HE, AN, IN, ER, RE, ON, ES, TI oraz AT. Dla przykładu spróbujmy rozszyfrować następujący tekst wktqr ziqzd xlzwt lsoet rvozi qfqbo lwktq rziqz olzgg fgxko liofu sqkut fqatr kqveq kkgzl qktqe ethzq wstql yggrg fsnzg ziglt vigso ctofi xzeit ltqut ksnqv qozof utqlz tk Aby ułatwić nieco łamanie, przypuśćmy że wiemy już, iż najczęściej pojawiającą się w tekście jawnym literą nie jest e. Z analizy częstości wynika, że najczęstszymi literami w zaszyfrowanym tekście są q, t, z, g, k, l, o, i i f. Tworzymy teraz tak zwaną tabelę kontaktów: q t z g k l o i f q t z g k l o i f Podaje ona jak często w zaszyfrowanym tekście występują digramy złożone z najczęściej występujących liter. Na przykład digram kq występuje 3 razy (szukamy w tabeli miejsca, gdzie krzyżuje się wiersz k z kolumną q. 7
8 Wiemy, że q nie jest zaszyfrowanym E. Zgadujemy zatem, że to t odpowiada E. Ponieważ mamy 6 par tq, a t ma być E, więc q odpowiada zapewne A. Trzecią literą z kolei jest Z. Ponieważ T jest jeszcze,,wolne, przyporządkujmy z T. Ponieważ zi pojawia się 4 razy, a iz w ogóle się nie pojawia, przypuszczamy, że i H. Na koniec zauważamy jeszcze, że gg pojawia się dwa razy. Dobrze jest więc postawić, że g to O. Podstawiamy teraz odgadnięte litery do naszego kryptogramu i odgadujemy resztę liter na zasadzie,,co pasuje. Tekstem jawnym jest więc: BREAD THAT MUST BE SLICED WITH AN AX IS A BREAD THAT IS TOO NOURISHING LARGE NAKED CARROTS ARE ACCEPTABLE AS FOOD ONLY TO THOSE WHO LIVE IN HUTCHES EAGERLY AWAITING EASTER. 3.5 Homofony i nulle kiedy przekonano się, że analiza częstości występowania liter jest potężną bronią, zaczęto się zastanawiać, jak utrudnić tę analizę. Nasuwają się tutaj dwie dosyć oczywiste metody. Jedną z nich jest,,dokładanie liter, a drugą zmniejszanie ilości najczęściej powtarzających się znaków. Prowadzi to do dwóch definicji. Nullem nazywamy jednostkę tekstu zaszyfrowanego, której nie odpowiada żadna jednostka tekstu jawnego. Oczywiście, nasze przekształcenie szyfrujące musi być w dalszym ciągu wzajemnie jednoznaczne. Zatem, w praktyce, do alfabetu jawnego dorzucamy,,znak pusty, któremu odpowiada pewien znak w alfabecie zaszyfrowanym. Na przykład A B C D E F G H I J K L M N O P Q R S T U V W X Y Z s z y f r o w a n i e 3 c d g h j k 4 m p q t u v x b l W powyższym szyfrze, występują dwa nulle: b i l. Wtajemniczeni wiedzą, że po otrzymaniu zaszyfrowanej wiadomości, należy te dwa znaki zignorować. Na przykład zaszyfrowane wiadomości esmsbhp13m1s oraz e1sbmsh1pb3ms oznaczają to samo, a mianowicie wiadomość KATAPULTA. Druga definicja jest następująca: homofonem nazywamy jednostkę tekstu jawnego, której odpowiada więcej niż jedna jednostka tekstu zaszyfrowanego. I tym razem mamy problemy z wieloznacznością funkcji szyfrującej. Problem ten pokonujemy powtarzając elementy w alfabecie jawnym. A oto przykład A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A T s z y f r o w a n i e 3 c d g h j k 4 m p q t u v x b 5 l 8
9 Trzy homofony powyższego alfabetu to A, A i T. Dzięki nim wiadomość KAT- APULTA możemy zaszyfrować tak, że żadna litera alfabetu zaszyfrowanego nie powtarza się: esm5hp31b. Przy układaniu przekształcenia szyfrującego możemy stosować zarówno nulle jak i homofony. Łamanie szyfru jest wtedy jeszcze bardziej utrudnione. Oprócz tych dwóch utrudnień stosowane są też i inne bardziej skomplikowane. Niektóre z nich opiszemy poniżej. 3.6 Jednostki dwuliterowe czyli digramy Digramy jako alfabet po raz pierwszy zastosował niejaki Giovanni Battista Porta w 1563 roku. Alfabet taki składał się z czterystu digramów i do każdego z nich Porta z niebywałą inwencją dobrał pewien szczególny znak. Ogólnie, stosując digramy jako jednostki tekstu jawnego, mamy alfabet złożony z N 2 liter. Jego symbole zastępujemy bądź pojedynczymi znakami, jak to zrobił Porta, bądź też digramami. Nasze przekształcenie szyfrujące przedstawiamy w postaci tabeli, jak na przykład w tabeli Porty. 3.7 Jednostki wieloliterowe Aby złamać kod digramowy możemy stosować analizę częstości występowania jednostek dwuliterowych. Aby metoda ta się powiodła, przechwycony tekst musi być bardzo długi. Jeżeli dla tekstu o jednostkach jednoliterowych potrzebowaliśmy N znaków, aby łamanie się powiodło, to teraz potrzebujemy około N 2 znaków. Dla języka angielskiego jest to już ponad 525 liter. Aby jeszcze bardziej utrudnić łamanie tekstu możemy zastosować trigramy, czyli jednostki trzyliterowe. Pojawia się tu jednak problem odpowiedniego zapisania przekształcenia szyfrującego tabelka musi być trzywymiarowa. Tym gorszy jest ten problem im dłuższe są jednostki tekstu. Prowadzi to w końcu do tworzenia jednostek o różnych długościach, a samymi jednostkami tekstu jawnego są często powtarzające się sekwencje liter. W dalszej perspektywie oznacza to tworzenie swego rodzaju,,słowników zwanych książkami kodowymi. I tu pojawia się kolejny problem. Nikt nie jest w stanie pamiętać całej treści takiej książki. Zatem musi ona zawsze być pod ręką zarówno kodującego jak i dekodującego. Stwarza to duże pole manewru dla szpiegów i nie tylko. W sierpniu 1914 roku niemiecki krążownik Magdeburg próbował 9
10 uciec od rosyjskiego pancernika i sztuka ta mu się nie udała. Co gorsza, statek zamiast zatonąć, osiadł na mieliźnie i w związku z tym wszystkie książki kodowe niemieckiej marynarki zamiast zatonąć, trafiły w ręce Rosjan, którzy po przestudiowaniu ich,,podali dalej. W rezultacie książki dostały się w ręce niejakiego Winstona Churchilla, który wiedział jak je wykorzystać. 3.8 Szyfr Plaifaira Problem zapamiętania dużej ilości znaków doprowadził w 1854 roku niejakiego Charlesa Wheatstone a do wynalezienia prostej metody zastępowania jednego bloku liter drugim. Litery alfabetu umieszczone są w kwadracie, a blok liter tekstu jawnego tworzy w tym kwadracie przekątną prostokąta. Blok dwuliterowy odczytany z drugiej przekątnej jest odpowiadającym blokiem kryptotekstu. Jeśli litery znajdują się w tym samym wierszu lub w tej samej kolumnie, szyfrowanie jest nieco trudniejsze. Ogólnie po krótkiej praktyce, łatwo jest posługiwać się opisanym szyfrem. Szyfr ten nazwany szyfrem Playfaira, był stosowany przez Anglików od czasów wojny krymskiej aż do końca pierwszej wojny światowej. Wiadomo jednak, że od połowy 1915 roku, Niemcy nie mieli problemów z jego złamaniem. Szyfr ten używa digramów jako jednostek tekstu. Kluczem jest macierz 5 5 zawierająca 25 liter (bez j). Do jej ułożenia użyjemy słowa kluczowego,,szyfrowanie. s z y f r o w a n i e b c d g h k l m p q t u v x Digram (x, y) = (k ij, k mn ), gdzie x y szyfrujemy jako (k in, k mj ) jeśli i m oraz j n; (k i,j+1, k i,n+1 ) jeśli i = m oraz j n; (k i+1,j, k m+1,j ) jeśli i m oraz j = n. (Wskaźniki dodajemy modulo 5.) Jeżeli x = y, digram rozdzielamy, tzn. wtykamy pomiędzy x i y literę q, która jest różna od x i od y. 10
11 3.9 Szyfry Viginére a i Beauforta Jest pewną ironią, że kryptosystem wynaleziony przez F. Beauforta nosi dziś nazwę szyfru Viginére a i vice versa. Kryptosystem zwany dziś Beauforta został wynaleziony przez B. de Viginére a i w roku 1586 został opisany w książce Traicté des Chiffres. Natomiast szyfr zwany dzisiaj Viginére a został opisany dwa wieki później przez F. Beauforta. Ten ostatni szyfr składa się z r szyfrów cyklicznych stosowanych okresowo. Dokładnie, E = { E k0 k 1...k r : k 0, k 1,..., k r K = Z r q}, przy czym przekształcenie szyfrujące definiujemy jako E k0 k 1...k r (m 0 m 1 m 2... ) = c 0 c 1 c 2..., gdzie c i = (m i + k i mod r ) mod q. Stosując utożsamienie liter alfabetu z liczbami modulo 26 możemy utożsamić klucz jako słowo. Na przykład zaszyfrujmy,,funkcja POLIALFABETY- CZNA stosując klucz,,anulka. W tym celu ułóżmy tabelę przesunięć: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z n o p q r s t u v w x y z a b c d e f g h i j k l m u v w x y z a b c d e f g h i j k l m n o p q r s t l m n o p q r s t u v w x y z a b c d e f g h i j k k l m n o p q r s t u v w x y z a b c d e f g h i j a b c d e f g h i j k l m n o p q r s t u v w x y z Pierwszy wiersz powyższej tabeli to alfabet, a każdy następny wiersz, to alfabet pisany począwszy od odpowiedniej litery słowa klucza. Następnie nasz tekst dzielimy na bloki długości słowa,,anulka i szyfrujemy pierwszą literę każdego bloku według pierwszego szyfru, drugą według drugiego itd. 11
12 F U N K C J a n u l k a f h h v m j A P O L I A a n u l k a a c i w s a L F A B E T a n u l k a l s u m o t Y C Z N A a n u l k y p t y k Otrzymaliśmy zatem kryptogram fhhvmjaciwsalsumotyptyk. Opiszemy teraz kryptosystem Beauforta. Różnica polega na tym, że alfabet szyfrujący zapisujemy w odwrotnej kolejności. Mamy więc E = { E k0 k 1...k r : k 0, k 1,..., k r K = Z r q}, przy czym przekształcenie szyfrujące definiujemy jako gdzie E k0 k 1...k r (m 0 m 1 m 2... ) = c 0 c 1 c 2..., c i = (m i k i mod r ) mod q. Stosując utożsamienie liter alfabetu z liczbami modulo 26 możemy utożsamić klucz jako słowo. Na przykład zaszyfrujmy,,funkcja POLIALFABETY- CZNA stosując klucz,,anulka. W tym celu ułóżmy tabelę alfabetów szyfrujących: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a z y x w v u t s r q p o n m l k j i h g f e d c b n m l k j i h g f e d c b a z y x w v u t s r q p o u t s r q p o n m l k j i h g f e d c b a z y x w v l k j i h g f e d c b a z y x w v u t s r q p o n m k j i h g f e d c b a z y x w v u t s r q p o n m l a z y x w v u t s r q p o n m l k j i h g f e d c b Zaletą tego szyfru jest fakt, że żadne z przkształceń składowych nie jest identycznością. Następnie nasz tekst dzielimy na bloki długości słowa,,anulka i szyfrujemy pierwszą literę każdego bloku według pierwszego szyfru, drugą według drugiego itd. 12
13 F U N K C J a n u l k a v t h b i r A P O L I A a n u l k a a y g a c a L F A B E T a n u l k a p i u k g h Y C Z N A a n u l k c l v y k Otrzymaliśmy zatem kryptogram vthbiraygacapiukghclvyk. Jako przekształcenia szyfrowe, możemy stosować tu także inne szyfry niż wykorzystane powyżej. Idea szyfrów Viginére a została użyta w ENIG- MIE, gdzie zastosowano kilkaset tysięcy szyfrów transpozycyjnych jako szyfry składowe. W każdym razie, aby złamać szyfr Viginére a długości r potrzebujemy tekstu (angielskiego) długości przynajmniej 25r. Wynika to stąd, że stosujemy analizę częstości występowania liter dla co r tej litery tekstu i, co gorsza, tworzenie tabeli kontaktów jest bardziej skomplikowane. Głównym problemem jest tutaj jednak znalezienie r. I to jest zapewne główna przyczyna, dla której szyfr Viginére a był,,niełamalny przez prawie trzysta lat! Dopiero w 1863 roku, oficer armii pruskiej, F. W. Kasiski wynalazł metodę wypadkowej przypadkowości 1, której nie opiszemy z uwagi na zbyt skomplikowany aparat statystyczny Łańcuch szyfrów i DES Dość istotną wadą schematu opisanego w poprzednim paragrafie, jest fakt, że ten sam tekst szyfruje się tak samo, jeśli użyty jest ten sam klucz. Chodzi o to, że potencjalny intruz wcale nie musi znać tekstu jawnego, by wymusić na odbiorcy szyfru określone działanie wystarczy, że prześle mu przechwycony wcześniej (zaszyfrowany) tekst. Ponieważ intruz wie jaka reakcja była wcześniej, podejrzewa, że taka sama będzie i tym razem. Jednym ze sposobów ominięcia tej niedogodności jest zastosowanie Łańcuch szyfrów 1. Pomysł jest następujący: Dzielimy tekst jawny (zakodowany w strumień bitów) na bloki M i po n bitów. Potrzebny jest inicjujący wektor zero-jedynkowy C 0 o n bitach oraz 1 ang. the incidence of coincidences 1 ang. cipherblock chaining 13
14 klucz K tej samej długości. Pierwszy blok tekstu jawnego szyfrujemy jako C 1 = M 1 C 0 K, drugi jako C 2 = M 2 C 1 K, i tak dalej. Ogólnie, C j = M j C j 1 K. W celu rozszyfrowania, dzielimy tekst zaszyfrowany na n-bitowe kawałki C i i otrzymujemy kolejno M 1 = C 1 C 0 K, następnie, M 2 = C 2 C 1 K itd. Jeśli któryś z C i jest błędny, to otrzymujemy błąd w co najwyżej dwóch kawałkach tekstu jawnego, mianowicie M i oraz M i+1. Wektor C 0 musi być przesłany innym kanałem niż wiadomość jawna i klucz. Przy odpowiednio dużym n istnieje bardzo mała szansa, że wiadomość, klucz i wektor inicjujący powtórzą się. Łańcuch szyfrów jest wykorzystany w systemie DES 1, który był używany od 1977 roku do końca lat osiemdzisiątych. W 1974 roku, National Bureau of Standards zobowiazało firmy amerykańskie do napisania programu szyfrującego, który będzie standardem w kodowaniu wiadomości rządowych. Miał on zastapić niewygodne w użyciu książki kodowe. Odpowiedzią firmy IBM był system LUCIFER, który po uproszczeniu i modyfikacji stał się standardem. Program szyfrujący został rozpowszechniony w postaci kości, którą każdy zainteresowany mógł wmontować w swój komputer. Rozszyfrowywanie polegało na użyciu tej samej kości. Opiszemy teraz zasadę działania algorytmu DES. Wejściowe 64 bity są najpierw pomieszane przez początkową permutację IP. Pierwsze 32 bity tworzą wektor L 0, a następne 32 tworzą R 0. Po szesnastu rundach manipulacji, wektory lewy i prawy łączą się w całość i przechodzą przez permutację IP 1 generując ostateczną wersję szyfru. Podczas 16 rund szyfrowania tworzą się kolejno wektory L 1, L 2,..., L 16 oraz R 1, R 2,..., R 16. Dla 1 i 16, mamy L i = R i 1, R i = L i 1 f(r i 1, K i ), gdzie f(r i 1, K i ) jest wektorem dwójkowym o 32 współrzędnych, a wektory K i są 48-bitowymi wektorami generowanymi przez klucz K według procedury, którą opiszemy później. Dekodowanie odbywa się w odwrotną stronę, tj. najpierw zaszyfrowany tekst jest poddawany permutacji IP 1, tworzą się L 16 i R 16, a następnie obliczane są kolejno R 15 = L 16, L 15 = R 16 f(r 15, K 16 )..., R 0 = L 1, L 0 = R 1 f(r 0, K 1 ). 1 Data Encryption Standard 14
15 Rysunek 3.1: Tabela selekcji bitów Połączony wektor L 0 R 0 jest poddany permutacji IP i powstaje ciąg 64 bitów wiadomości jawnej. Wartością funkcji f jest 32-bitowy ciąg. Procedura jego powstawania wygląda następująco. Jak już wspominaliśmy, K i ma 48 bitów, a R i 1-32 bity. Aby te wektory dodać, musimy rozszerzyć R i 1 do 48 bitów. Rozszerzenie R i 1 odbywa się według Tabeli selekcji bitów. Powstały 48-bitowy strumień jest podzielony na 8 wektorow 6-bitowych, które są przepuszczone przez S-boksy (Tabela S-boksów). Aby przybliżyć metodę działania S- boksów, rozważmy wektor sześciobitowy a 1 a 2 a 3 a 4 a 5 a 6, na przykład , który trafia na S 4. Bity a 1 a 6 to numer wiersza (i), a a 2 a 3 a 4 a 5 to numer kolumny (j) zapisane w układzie dwójkowym. Strumień wyjściowy (w układzie dziesiętnym) jest na pozycji (i, j) S-boksa. W naszym przypadku, 01 2 = 1 oraz = 9 i w S 4 znajduje się na pozycji (1, 9) liczba 7 = Zatem strumieniem wyjściowym jest Po wyjściu z S-boksów, strumienie 4-bitowe łączą się tworząc 32-bitowy wektor, który dodatkowo przechodzi przez permutację P. Klucz K ma 64 bity podzielone na 8-bitowe części, z których każda ma 7 efektywnych bitów, a ósmy bit sprawdza parzystość. Dokładnie, jest on ustalony tak, by w całej ósemce liczba jedynek była parzysta. W przypadku, gdyby wystąpił błąd w transmisji klucza, zostaje on wykryty z dokładnym wskazaniem ósemki, w której wystąpił. Z 64 bitów klucza, po sprawdzeniu poprawności, 8 bitów sprawdzających jest odrzuconych, a pozostałe 56 bitów przechodzi przez permutację początkową P C1. Spermutowany strumień 56 bitów jest podzielony na pół. Pierwsze 28 bitów tworzy wektor C 0, a następne D 0. Wektory C 1 i D 1 powstają przez (cykliczne) przesunięcie zawartości C 0, odpowiednio, D 0 o LS 1 = 1 pozycji w lewo. Ogólnie, C i oraz D i powstają przez przesunięcie zawartości, odpowiednio, C i 1, D i 1 o LS i pozycji w lewo. 15
16 kolumna wiersz S S S S S S S S Rysunek 3.2: Tabela S-boksów 16
17 Wektory C i oraz D i są następnie łączone i po przejściu selekcji P C 2 tworzą 48-bitowy strumień K i. Główne zarzuty wobec DES, to, po pierwsze, zbyt krótki klucz, co powoduje, że może on być znaleziony w miarę szybko metodą sprawdzenia wszystkich 2 56 możliwości. Po drugie, nie wiadomo, jakie kryteria kierowały konstruktorami S-boksów. Testy statystyczne pokazują, że liczby w S-boksach nie są przypadkowe. Niewykluczone, że kryje się tu pewna furtka pozwalająca łatwo rozszyfrować zakodowaną wiadomość. Mimo swoich wad DES był dość długo używany, aż w końcu ustąpił on miejsca kryptosystemom o kluczu publicznym. Rozpowszechnienie szybkich, łatwo programowalnych komputerów doprowadziło do sytuacji, w której kość szyfrująca okazała się zbędna: Po co montować do komputera dodatkowe urządzenie, jeśli można napoisać program, który powoduje takie samo działanie, a jeszcze dodatkowo można go w każdej chwili ulepszyć. 17
Rozdział 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
2 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;
Kryptografia 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,
0 + 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,
Tajna wiadomość. Scenariusz lekcji
1 scenariusz 1 CELE OGÓLNE poznanie metod szyfrowania wiadomości zrozumienie algorytmu szyfru Cezara Tajna wiadomość Scenariusz lekcji CELE SZCZEGÓŁOWE Uczeń: Zapamiętanie wiadomości (A): wymienia podstawowe
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.
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
Szyfry afiniczne. hczue zfuds dlcsr
Szyfry afiniczne hczue zfuds dlcsr Litery i ich pozycje Rozważamy alfabet, który ma 26 liter i każdej literze przypisujemy jej pozycję. A B C D E F G H I 0 1 2 3 4 5 6 7 8 J K L M N O P Q R 9 10 11 12
Bezpieczeń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
II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI
II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI STEGANOGRAFIA Steganografia jest nauką o komunikacji w taki sposób by obecność komunikatu nie mogła zostać wykryta. W odróżnieniu od kryptografii
Algorytmy 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
Przykład. Przykład. Litera Homofony C F H I M
Napisał Administrator 1. Klasyczne metody szyfrowania Zabezpieczanie informacji przed odczytaniem lub modyfikacją przez osoby niepowołane stosowane było już w czasach starożytnych. Ówczesne metody szyfrowania
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.
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,
Algorytmy 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
Projekt AS KOMPETENCJI jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego
Projekt AS KOMPETENCJI jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego Program Operacyjny Kapitał Ludzki 2007-2013 CZŁOWIEK NAJLEPSZA INWESTYCJA Publikacja
Bezpieczeń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
Bezpieczeń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
n = 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
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,
1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej
Kryptografia-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
Kryptologia przykład metody RSA
Kryptologia przykład metody RSA przygotowanie: - niech p=11, q=23 n= p*q = 253 - funkcja Eulera phi(n)=(p-1)*(q-1)=220 - teraz potrzebne jest e które nie jest podzielnikiem phi; na przykład liczba pierwsza
2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
kryptografię (z gr. κρυπτός oraz γράφω gráfo pisać ), czyli gałąź wiedzy o utajnianiu wiadomości;
Już w starożytności ludzie używali szyfrów do przesyłania tajnych wiadomości. Początkowo były one proste, jednak z biegiem czasu wprowadzano coraz bardziej skomplikowane metody szyfrowania. Wraz z rozwojem
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby
INŻ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.
ŁAMIEMY SZYFR CEZARA. 1. Wstęp. 2. Szyfr Cezara w szkole. Informatyka w Edukacji, XV UMK Toruń, 2018
Informatyka w Edukacji, XV UMK Toruń, 2018 ŁAMIEMY SZYFR CEZARA Ośrodek Edukacji Informatycznej i Zastosowań Komputerów 02-026 Warszawa, ul. Raszyńska 8/10 {maciej.borowiecki, krzysztof.chechlacz}@oeiizk.waw.pl
1. 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
Arytmetyka 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
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry
Podstawy 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
Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VII Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Problem pakowania plecaka System kryptograficzny Merklego-Hellmana
Arytmetyka komputera
Arytmetyka komputera Systemy zapisu liczb System dziesiętny Podstawą układu dziesiętnego jest liczba 10, a wszystkie liczby można zapisywać dziesięcioma cyframi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jednostka
Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.
Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych. Jeśli bit znaku przyjmie wartość 0 to liczba jest dodatnia lub posiada wartość 0. Jeśli bit
Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe 20.10.2010 System Zakres znaków Przykład zapisu Dziesiętny ( DEC ) 0,1,2,3, 4,5,6,7,8,9 255 DEC Dwójkowy / Binarny ( BIN ) 0,1 11111 Ósemkowy ( OCT ) 0,1,2,3, 4,5,6,7
Temat: Algorytm kompresji plików metodą Huffmana
Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik
Monoalfabetyczny szyfr Beauforta. omnma pvazw hcybn cibcv jzwag vmjha
Monoalfabetyczny szyfr Beauforta omnma pvazw hcybn cibcv jzwag vmjha Litery i ich pozycja w alfabecie Aby wykonywać działania na literach, przypisujemy im odpowiedniki liczbowe. A B C D E F G H I 0 1 2
Luty 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
Bezpieczeń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
Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)
Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Wprowadzenie Haszowanie jest to pewna technika rozwiązywania ogólnego problemu słownika. Przez problem słownika rozumiemy tutaj takie
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 4 1 / 1 DZIELENIE LICZB BINARNYCH Dzielenie
Akademia Techniczno-Humanistyczna w Bielsku-Białej
Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 10 Temat ćwiczenia: Systemy szyfrowania informacji. 1. Wstęp teoretyczny.
Zamiana 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
0 --> 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)
RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA
RSA Symetryczny system szyfrowania to taki, w którym klucz szyfrujący pozwala zarówno szyfrować dane, jak również odszyfrowywać je. Opisane w poprzednich rozdziałach systemy były systemami symetrycznymi.
Arytmetyka 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
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał Ludzki Priorytet 9 Działanie 9.1 Poddziałanie
Kod U2 Opracował: Andrzej Nowak
PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim
Zarys 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......................
Szyfrowanie wiadomości
Szyfrowanie wiadomości I etap edukacyjny / II etap edukacyjny Już w starożytności ludzie używali szyfrów do przesyłania tajnych wiadomości. Początkowo były one proste, jednak z biegiem czasu wprowadzano
ARYTMETYKA 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
Systemy 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.
Samodzielnie 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,
Algorytmy 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
OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE
OCHRONA INFORMACJI W SYSTEMACH I SIECIACH KOMPUTEROWYCH SYMETRYCZNE SZYFRY BLOKOWE 1 Tryby pracy szyfrów blokowych Rzadko zdarza się, by tekst jawny zawierał tylko 64 bity, czyli 8 znaków kodu ASCII. Zwykle
1 Rozwiązanie zadania 1. Szyfr Cezara
1 Rozwiązanie zadania 1. Szyfr Cezara Metoda TAJNY G G G P A R K Q V U J G P Q O P K JAWNY A A A Korzystając z podpowiedzi wpisujemy w puste pola w drugim rzędzie litery A. Wiadomo, że szyfr Cezara jest
Polcode Code Contest PHP-10.09
Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
1.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
teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015
teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału Wiktor Miszuris 2 czerwca 2004 Przepustowość kanału Zacznijmy od wprowadzenia równości IA, B HB HB A HA HA B Można ją intuicyjnie
MADE IN CHINA czyli SYSTEM RESZTOWY
MADE IN CHINA czyli SYSTEM RESZTOWY System ten oznaczmy skrótem RNS (residue number system czyli po prostu resztowy system liczbowy). Wartość liczby w tym systemie reprezentuje wektor (zbiór) reszt z dzielenia
Algorytmy 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
5. 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
Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):
1. SYSTEMY LICZBOWE UŻYWANE W TECHNICE KOMPUTEROWEJ System liczenia - sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Do zapisu
3. 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
CIĄGI wiadomości podstawowe
1 CIĄGI wiadomości podstawowe Jak głosi definicja ciąg liczbowy to funkcja, której dziedziną są liczby naturalne dodatnie (w zadaniach oznacza się to najczęściej n 1) a wartościami tej funkcji są wszystkie
Techniki 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
ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010
ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem 27.10.2010 Do zapisu liczby ze znakiem mamy tylko 8 bitów, pierwszy od lewej bit to bit znakowy, a pozostałem 7 to bity na liczbę. bit znakowy 1 0 1 1
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
Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
Kryptografia szyfrowanie i zabezpieczanie danych
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Kryptografia szyfrowanie i zabezpieczanie danych www.agh.edu.pl
Wybrane zagadnienia teorii liczb
Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja
Wykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:
PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej
Ataki kryptograficzne.
Ataki kryptograficzne. Krótka historia kryptografii... Szyfr Cezara A -> C B -> D C -> E... X -> Z Y -> A Z -> B ROT13 - pochodna szyfru Cezara nadal używana ROT13(ROT13("Tekst jawny") = "Tekst jawny".
1 Układy równań liniowych
II Metoda Gaussa-Jordana Na wykładzie zajmujemy się układami równań liniowych, pojawi się też po raz pierwszy macierz Formalną (i porządną) teorią macierzy zajmiemy się na kolejnych wykładach Na razie
WYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
1.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
Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne
Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu
1. 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
wagi cyfry 7 5 8 2 pozycje 3 2 1 0
Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień
Podstawowe 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
Przewodnik użytkownika
STOWARZYSZENIE PEMI Przewodnik użytkownika wstęp do podpisu elektronicznego kryptografia asymetryczna Stowarzyszenie PEMI Podpis elektroniczny Mobile Internet 2005 1. Dlaczego podpis elektroniczny? Podpis
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Pomorski Czarodziej 2016 Zadania. Kategoria C
Pomorski Czarodziej 2016 Zadania. Kategoria C Poniżej znajduje się 5 zadań. Za poprawne rozwiązanie każdego z nich możesz otrzymać 10 punktów. Jeżeli otrzymasz za zadanie maksymalną liczbę punktów, możesz
Kompresja bezstratna. Entropia. Kod Huffmana
Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)
Szyfr ten w odróżnieniu od prostych szyfrów różni się tym że literę zastępuje się obrazkiem, a nie inną literą.
Z biblioteki w tajemniczych okolicznościach ginie cenny historyczny dokument. Jaką tajemnicę kryje stara biblioteka? Miejsce pełne zagadkowych zakamarków, nieoczekiwanych zaułków, sekretnych przejść i
Szyfrowanie 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
KRYPTOANALIZA. 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
Spacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Pracownia Komputerowa wykład VI
Pracownia Komputerowa wykład VI dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Przypomnienie 125 (10) =? (2) Liczby całkowite : Operacja modulo % reszta z dzielenia: 125%2=62 reszta 1
Zapis 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.
Podstawy Informatyki dla Nauczyciela
Podstawy Informatyki dla Nauczyciela Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki dla Nauczyciela Wykład 2 1 / 1 Informacja
Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra
Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015 Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam
Systemy 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:
SYSTEMY LICZBOWE 275,538 =
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:
Dodawanie dwójkowe Do wykonywania dodawania niezbędna jest znajomość tabliczki dodawania, czyli wyników sumowania każdej cyfry z każdą inną. W systemie binarnym mamy tylko dwie cyfry 0 i 1, zatem tabliczka
Bezpieczeństwo danych i przykłady kryptoanalizy prostych szyfrów. Błędy szyfrowania. Typy ataku kryptoanalitycznego
Bezpieczeństwo danych i przykłady kryptoanalizy prostych szyfrów Błędy szyfrowania Typy ataku kryptoanalitycznego Kryptoanalityk dysponuje pewnymi danymi, które stara się wykorzystać do złamania szyfru.