INśYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 1 WSTĘP DO KRYPTOGRAFII

Podobne dokumenty
Zarys algorytmów kryptograficznych

2 Kryptografia: algorytmy symetryczne

1. Maszyny rotorowe Enigma

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Algorytmy asymetryczne

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Szyfrowanie wiadomości

kryptografię (z gr. κρυπτός oraz γράφω gráfo pisać ), czyli gałąź wiedzy o utajnianiu wiadomości;

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Przewodnik użytkownika

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

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.

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Szyfrowanie informacji

Algorytmy podstawieniowe

Przykład. Przykład. Litera Homofony C F H I M

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Algorytmy i struktury danych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Wersja dokumentacji1.01. TeleToken API

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Systemy liczenia. 333= 3*100+3*10+3*1

Kryptografia szyfrowanie i zabezpieczanie danych

Scenariusz lekcji. wymienić różnice pomiędzy kryptologią, kryptografią i kryptoanalizą;

Bezpieczeństwo danych, zabezpieczanie safety, security

Kryptografia systemy z kluczem tajnym. Kryptografia systemy z kluczem tajnym

Polcode Code Contest PHP-10.09

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Kodowanie i szyfrowanie na lekcjach matematyki. Częstochowa, r.

Ćwiczenie nr 1: Systemy liczbowe

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Bezpieczeństwo danych i systemów informatycznych. Wykład 4

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2010 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Algorytmy podstawieniowe

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

WSIZ Copernicus we Wrocławiu

Luty 2001 Algorytmy (7) 2000/2001

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

Podpis elektroniczny

Szyfrowanie RSA (Podróż do krainy kryptografii)

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Bezpieczeństwo danych i przykłady kryptoanalizy prostych szyfrów. Błędy szyfrowania. Typy ataku kryptoanalitycznego

Spis treści. spis treści wygenerowany automatycznie

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

ŁAMIEMY SZYFR CEZARA. 1. Wstęp. 2. Szyfr Cezara w szkole. Informatyka w Edukacji, XV UMK Toruń, 2018

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

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.

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.)

Instrukcja warunkowa i złoŝona.

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Liczby półpierwsze (Semiprimes)

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Ataki kryptograficzne.

Bezpieczeństwo danych i systemów informatycznych. Wykład 5

a) Zapisz wynik działania powyższego algorytmu dla słów ARKA i MOTOR...

Laboratorium nr 1 Podstawy kryptografii i kryptoanalizy

Kryptografia, pojęcia podstawowe

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Ochrona Systemów Informacyjnych. Elementy Kryptoanalizy

Kryptografia kwantowa

Potencjalne ataki Bezpieczeństwo

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Czym jest kryptografia?

Laboratorium kryptograficzne dla licealistów 4

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

EGZAMIN MATURALNY Z INFORMATYKI 11 MAJA 2018 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Szyfr ten w odróżnieniu od prostych szyfrów różni się tym że literę zastępuje się obrazkiem, a nie inną literą.

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

(mniejszych od 10 9 ) podanych przez użytkownika, wypisze komunikat TAK, jeśli są to liczby bliźniacze i NIE, w przeciwnym przypadku.

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Warszawa, lipiec 2013 r.

Projekt AS KOMPETENCJI jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Zastosowania informatyki w gospodarce Wykład 5

Szyfry Vigenere a. Grzegorz Szkibiel

Szyfry afiniczne. hczue zfuds dlcsr

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

BeamYourScreen Bezpieczeństwo

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Wstęp. Przygotowanie teoretyczne

Systemy rozgrywek sportowych OGÓLNE ZASADY ORGANIZOWANIA ROZGRYWEK SPORTOWYCH

ZESZYTY NAUKOWE WYDZIAŁU ETI POLITECHNIKI GDAŃSKIEJ Nr 4 Seria: Technologie Informacyjne 2006 ANALIZA METODY SZYFROWANIA "ZT-UNITAKOD"

Sieciowe Systemy Operacyjne

Transkrypt:

INśYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 1 WSTĘP DO KRYPTOGRAFII Wstęp Wyraz kryptologia ma swoje starogreckie korzenie, oznaczające ukryty i słowo. Kryptologia jest ogólną nazwą nauki, zajmującej się problemami tajnego porozumiewania się. Kryptologię moŝna podzielić na dwie części: kryptografię i kryptoanalizę. 1. Kryptografia i kryptoanaliza Pod pojęciem kryptografii naleŝy rozumieć kaŝdą metodę zapisu informacji, za pomocą tajnego kodu lub szyfru. Obecnie społeczeństwa są w wielkim stopniu zaleŝne od komputerów, przetwarzających ogromne ilości informacji, które przesyła się w sieciach komputerowych i przechowuje w bazach danych. Większość tych informacji powinna być chroniona przed ich odczytaniem przez nieupowaŝnionych uŝytkowników systemów i sieci komputerowych, zwłaszcza uŝytkowników nielegalnych, a kryptografia jest jedynym ekonomicznym środkiem, zapewniającym taką ochronę. Tak wiec kryptograf poszukuje metod dla zapewniania wiadomościom tajności i potwierdzania ich autentyczności, podczas gdy zadaniem kryptoanalityka jest łamanie opracowanych przez kryptografa szyfrów oraz fałszowanie szyfrowanych wiadomości w taki sposób, by wyglądały na autentyczne. 2. Kontrowersje związane z powszechnym stosowaniem kryptografii Kryptografię do niedawna stosowano prawie wyłącznie w dziedzinie wojskowości i w dyplomacji. Dlatego tez kryptolodzy pracowali zwykle pod nadzorem organów, związanych z bezpieczeństwem państwa, a wszystkie prace naukowe na temat kryptografii i kryptoanalizy utajniano. Dopiero pod koniec lat 60-tych wielka grupa uczonych róŝnych narodowości, nie kontrolowana przez rodzime słuŝby specjalne, zainteresowała się problemami kryptologii, publikując znaczną liczbę prac naukowych z tej dziedziny, dzięki czemu kryptograficzna ochrona danych znalazła szerokie zastosowania cywilne. Stosowanie metod kryptograficznych jest jednak w wielu krajach zabronione. Istnieją państwa, nawet uwaŝane za bardzo demokratyczne, które podejmują próby kontrolowania systemów kryptograficznych, nie uŝywanych przez wojsko czy dyplomację. Np. w USĄ forsowano stosowanie specjalnego układu szyfrującego o nazwie Clipper, który generował kryptogramy z łatwością łamane przez amerykańskie słuŝby specjalne. Francja i Rosja zakazały uŝywania metod kryptograficznych dla celów prywatnych. Szukając uzasadnienia dla takich zachowań naleŝy uwzględnić fakt, Ŝe kryptografia gwarantuje ochronę informacji przed ich uŝywaniem przez osoby i instytucje do tego

nieupowaŝnione. Niektórzy właściciele danych mogą traktować policje i organa ścigania właśnie jako instytucje, przed którymi informacje naleŝy ukrywać. Ma to miejsce wówczas, gdy metody elektronicznego przetwarzania danych uŝywane są przez organizacje przestępcze lub działające na peryferiach prawa. Z drugiej strony, powszechnie dostępne sieci komputerowe uŝywane są nie tylko przez uczciwych obywateli, co moŝe stwarzać powaŝne zagroŝenia dla państw demokratycznych, które w najprostszym przypadku starają się zabronić uŝywania środków kryptograficznych lub ograniczyć ich stosowanie. Chodzi tu o narzucanie stosowania takich metod kryptograficznych, które posiadają tzw. tajne przejścia (ang. backdoor), umoŝliwiające słuŝbom bezpieczeństwa deszyfrowanie kryptogramów bez znajomości klucza. Argumenty te nie przekonują jednak wielu rozsądnych ludzi, bowiem organizacje przestępcze bez skrupułów uŝywają technik i metod kryptograficznych dla swoich celów wbrew wszelkim zakazom. Uczciwa część społeczeństw, respektująca ustalone w tym zakresie zakazy, nie moŝe więc chronić swoich danych przed kryminalistami, jest zatem ewidentnie dyskryminowana. Nie jest tajemnicą, Ŝe plagą dla uŝytkowników sieci są włamania komputerowe, przed którymi chronią najskuteczniej właśnie metody kryptograficzne. Dlatego teŝ środowiska gospodarcze lansują pogląd, Ŝe stosowanie kryptografii jest niezbędne, poniewaŝ podstawowym warunkiem światowego rozwoju gospodarczego jest rozbudowa globalnej sieci komputerowej, stanowiącej infrastrukturę informacyjną dla gospodarki. W tym kontekście uwaŝa się, Ŝe ograniczenia w stosowaniu kryptografii mogą spowodować spadek atrakcyjności danego kraju dla inwestorów zagranicznych. Na rynku pojawiło się wiec wiele produktów kryptograficznych, a część z nich dopuszczono w niektórych krajach do powszechnego uŝytkowania. 3. Zasady konstruowania mocnych systemów kryptograficznych W trakcie procedury szyfrowania wiadomość oryginalna, czyli tekst jawny, zamienia się w wiadomość zaszyfrowaną, zwaną teŝ najczęściej kryptogramem. Wejściem dla algorytmu szyfrującego jest wiec tekst jawny oraz tajny klucz, a wyjściem jest kryptogram. Procedura deszyfrowania stosuje algorytm, dla którego danymi wejściowymi są klucz i kryptogram, a wynikiem działania algorytmu deszyfrującego jest tekst jawny. Podstawą kaŝdego projektu systemu kryptograficznego, składającego się z algorytmów szyfrowania i deszyfrowania, jest ocena skuteczności ochrony danych przed nieupowaŝnionym dostępem, jaka projektowany system potrafi zapewnić. Ustalono niezbyt precyzyjnie, ze system kryptograficzny uwaŝa się za mocny, gdy nakład pracy, wymagany do złamania wygenerowanych za pomocą tego systemu kryptogramów, jest dostatecznie wielki. W trakcie wieloletnich badan opracowano następujące warunki, jakie powinien spełniać mocny algorytm kryptograficzny: złoŝoność matematyczna algorytmu szyfrującego powinna wykluczać moŝliwość stosowania metod analitycznych do złamania szyfru; koszt lub czas, wymagany dla uzyskania klucza lub odczytania tekstu jawnego z kryptogramu powinien być znaczny i praktycznie nie do przyjęcia. Algorytm szyfrujący powinien spełniać powyŝsze warunki nawet wówczas, gdy wrogi kryptoanalityk posiada dostęp do względnie duŝej porcji tekstów jawnych i odpowiadających im kryptogramów oraz gdy zna on dokładnie wszelkie detale

algorytmu. Zakłada się tez, ze kryptoanalityk dysponuje duŝymi i szybkimi komputerami. Biorąc pod uwagę powyŝsze załoŝenia, moŝna stwierdzić, Ŝe bezpieczeństwo mocnego systemu kryptograficznego polega na tajności klucza. Mocne algorytmy kryptograficzne, odpowiadające powyŝszej definicji, mogą teoretycznie zostać złamane, jednak w praktyce zdarza się to niezmiernie rzadko. 4. Wskazówki Shannona dotyczace konstruowania mocnych systemów kryptograficznych Claude Elmwood Shannon, twórca teorii informacji, jest jednym z wybitnych matematyków amerykańskich, którzy byli zatrudnieni w czasach II wojny światowej przez wojskowe agendy rządowe USA jako doradcy z dziedziny kryptologii. W aktualnej do dziś pracy The Communication Theory of Secrecy Systems, opublikowanej w czasopiśmie Bell System Technical Journal w 1949 roku, sformułował on zasady konstruowania systemów kryptograficznych, które generują trudne do złamania szyfry. Definiując model matematyczny bezpiecznego, inaczej mówiąc mocnego systemu kryptograficznego, Shannon wyszedł z załoŝenia, Ŝe kryptoanalityk powinien na podstawie kryptogramu wyznaczyć klucz i/lub tekst jawny. Pomóc moŝe mu w tym informacja o pewnych parametrach statystycznych tekstu jawnego (np. częstotliwość występowania znaków), na podstawie której moŝna określić, czy tekstem jawnym jest program, napisany w języku C, fragment prozy w języku japońskim, czy teŝ plik dźwiękowy. W kaŝdym z takich tekstów jawnych jest pewien nadmiar informacyjny, ułatwiający kryptoanalizę. Opracowano zatem wiele testów statystycznych, opartych na teorii informacji, które efektywnie pomagają kryptoanalitykom łamać szyfry, jeśli parametry statystyczne tekstu jawnego są znane. Takie testy, opracowane jeszcze latach 40-tych ubiegłego wieku, są do dziś utajnione. Według Shannona system kryptograficzny, zapewniający zabezpieczenie doskonałe przed nieupowaŝnionym dostępem nie moŝe dostarczać Ŝadnej informacji statystycznej o tekście jawnym. Dowodząc tej tezy Shannon wykazał, Ŝe ma to miejsce wówczas, gdy liczba kluczy kryptograficznych jest co najmniej tak duŝa, jak liczba moŝliwych tekstów jawnych. Klucz powinien więc mieć tyle samo lub więcej bitów, znaków lub bajtów co tekst jawny i Ŝadnego klucza nie powinno się uŝyć więcej niŝ jednokrotnie. Ten zaproponowany przez Shannona system kryptograficzny nazywa się systemem szyfrowania z kluczem jednorazowym (ang. one-time-pad). Aby moŝna było zredukować nadmiar informacyjny tekstu jawnego i nie przenosić tego nadmiaru do kryptogramu, Shannon zaproponował technikę mieszania i rozpraszania, co w praktyce sprowadza się do naprzemiennego stosowania blokowych szyfrów przestawieniowych i podstawieniowych. 5. Przykład blokowego szyfru przestawieniowego Zasada konstrukcji takiego szyfru zostanie wyjaśniona na prostym przykładzie, gdzie tekst jawny i kryptogram zapisuje się za pomocą nastepującego alfabetu o 32 znakach: ABCDEFGHIJKLMNOPQRSTUVWXYZ. :, ; -

składającego się z 26 duŝych liter alfabetu łacińskiego, spacji, kropki, dwukropka, średnika i myślnika. Zakłada się, Ŝe blok tekstu jawnego będzie zawierał 48 znaków powyŝszego alfabetu, rozmieszczonych w 6 wierszach. 0 1 1 2 3 3 0 3 1 3 2 2 3 0 0 3 3 0 3 2 0 1 0 3 2 1 0 2 1 2 3 2 1 2 1 1 0 3 1 2 2 1 0 1 0 0 2 3 Tabela 1. Tablica do konstrukcji szablonów szyfrujacych Przy tych załoŝeniach moŝna zastosować następujący algorytm szyfrujący dla szyfru przestawieniowego: 1. Utworzyć tablicę o 6 wierszach i 8 kolumnach, wypełnioną losowo liczbami 0, 1, 2 i 3, w której liczba zer, jedynek, dwójek i trójek jest taka sama i wynosi 12. NaleŜy się przy tym starać, aby było jak najmniej sąsiadujących ze sobą komórek, zawierających takie same liczby. PowyŜsze warunki spełnia tablica, pokazana w tabeli 1, którą otrzymano za pomocą następującego programu, napisanego w Pascalu: var i, k, r: Byte; l: array[0..3] of Byte; begin repeat Randomize; for i:=0 to 3 do l[i]:=0; for i:=1 to 6 do begin for k:=1 to 8 do begin r:=random(4); Inc(l[r]); Write(r:2); end; WriteLn end; WriteLn; until (l[0]=l[1]) and (l[0]=l[2]) and(l[0]=l[3]) end. 2. Wyciąć cztery prostokąty z papieru, o kształcie tablicy z kroku 1. i utworzyć z nich cztery szablony o numerach 0, 1, 2 i 3. W kaŝdym szablonie naleŝy wyciąć 12 otworów w miejscach komórek, zawierających liczbę, oznaczającą numer szablonu. 3. Przygotować czysty i pełny kawałek papieru o wymiarze szablonu, na którym będzie zapisany kryptogram. Następnie do tego kawałka papieru przykładać kolejno przygotowane w kroku 2. szablony, wpisując do wyciętych w szablonach okienek 48 liter tekstu jawnego (4 razy po 12 liter).

A D I U N K T - L E C T U R E R A F O R Y Z M - A P H O R I S M A K T O R K A - A C T R E S S. Tabela 2. Blok tekstu jawnego A U R A R K D A E - P H A I U C T N R O K R T E R A - I F S S M O A R Y L S Z K T M E - C T O. Tabela 3. Blok kryptogramu szyfru przestawieniowego Algorytm deszyfrujacy jest prostszy i składa się tylko z jednego kroku: 1. Przykładać kolejno do kryptogramu szablony i w wyciętych okienkach odczytywać kolejne znaki tekstu jawnego, zapisując je jednocześnie w formacie kryptogramu, tj. w sześciu wierszach i ośmiu kolumnach. Przypuśćmy, ze tekstem jawnym jest fragment słownika polsko-angielskiego, pokazany w tabeli 2. Po zaszyfrowaniu tego tekstu zgodnie z podanym algorytmem otrzyma się kryptogram jak w tabeli 3. MoŜna łatwo sprawdzić, ze z tego kryptogramu, po zdeszyfrowaniu według przedstawionego wyŝej algorytmu, otrzymuje się z łatwością właściwy tekst jawny. 1 13 14 25 37 38 2 39 15 40 26 27 41 3 4 42 43 5 44 28 6 16 7 45 29 17 8 30 18 31 46 32 19 33 20 21 9 47 22 34 35 23 10 24 11 12 36 48 Tabela 4. Permutacja szyfrująca 1 7 14 15 18 21 23 27 37 43 45 46 2 3 9 22 26 29 33 35 36 39 42 44 4 11 12 20 25 28 30 32 34 40 41 47 5 6 8 10 13 16 17 19 24 31 38 48 Tabela 5. Permutacja deszyfrująca Opisany w taki sposób blokowy szyfr przestawieniowy, którego kluczem są szablony szyfrujące i kolejność ich uŝycia w algorytmie szyfrowania, moŝna teŝ przedstawić w sposób bardziej zmatematyzowany. Jeśli 48 znaków bloku tekstu jawnego ponumeruje się zgodnie z kolejnością ich zapisu, to wynikający z zastosowania szablonów proces szyfrowania przyjmie postać tablicy, pokazanej w tabeli 4, z której wynika, Ŝe pierwszym znakiem kryptogramu jest pierwszy znak tekstu jawnego, drugim znak

trzynasty, trzecim czternasty itd. Za pomocą tej tablicy, która reprezentuje pewną permutację zbioru liczb {1, 2,..., 48}, moŝna zatem bardziej dokładnie opisać procedurę szyfrowania, niŝ za pomocą szablonów szyfrujących. Co więcej, traktując te permutacje jako klucz szyfrujący, moŝna precyzyjnie określić liczbę wszystkich moŝliwych kluczy szyfrujących dla powyŝszego szyfru, która wynosi oczywiście 48! = 12413915592536072670862289047373375038521486354677760000000000, czyli w przybliŝeniu 1,241391559 10 62. Nie jest to liczba mała, skoro liczbę atomów na naszej planecie szacuje się na 10 51. Do deszyfrowania kryptogramów omawianego kodu naleŝy więc zastosować permutację odwrotną do permutacji szyfrującej, pokazaną w tabeli 5. Na pierwszy rzut oka wydawałoby się, Ŝe omawiany szyfr moŝna złamać, próbując po kolei 48! permutacji. Zakładając, ze potrafimy w ciągu jednej sekundy przetestować milion permutacji (co jest załoŝeniem raczej mocno optymistycznym, nawet biorąc pod uwagę obecny stan technologii), czas złamania jednego kryptogramu zająłby około 10 47 lat. Tymczasem całkowity czas istnienia wszechświata ocenia się na 10 11 lat. Jeśli jednak do złamania szyfru kryptoanalitycy zastosują znane tylko im testy statystyczne, to z takim szyfrem potrafią się często uporać w ciągu kilku minut. 6. Przykład blokowego szyfru podstawieniowego W najprostszym przypadku konstruowanie blokowych szyfrów podstawieniowych polega na systematycznym zastępowaniu kaŝdego znaku tekstu jawnego innym znakiem. Algorytm szyfrowania musi wiec stosować tablicę, w której zapisana jest reguła tego podstawiania, a taka tablica jest zapisem pewnej permutacji alfabetu, uŝywanego do reprezentacji tekstu jawnego i kryptogramu. Do deszyfrowania stosuje się oczywiście permutacje odwrotna. Przyjmijmy, Ŝe w rozwaŝanym przypadku uŝywa się tego samego alfabetu, co w przykładzie szyfru przestawieniowego, Ŝe 48-znakowy blok tekstu jawnego jest taki sam, jak poprzednio, i Ŝe podczas szyfrowania stosuje się tablice podstawień jak w tabeli 6: A B C D E F G H I J K L M N O P X H Y U Z R. V Q A : W T, B C Q R S T U V W X Y Z. :, ; - S D ; E I G L F J K - M P N 0 Tabela 6. Tablica znaków tekstu jawnego i odpowiadających im znaków kryptogramu A B C D E F G H I J K L M N O P J O P R T X V B U Y Z W., ; : Q R S T U V W X Y Z. :, ; - I F Q M D H L A C E - G K N S Tabela 7. Tablica znaków kryptogramu i odpowiadających im znaków tekstu jawnego

Z tablicy, pokazanej w tabeli 6, otrzymuje się natychmiast tablicę, którą naleŝy stosować przy deszyfrowaniu (tabela 7). MoŜna teraz zademonstrować proces tworzenia kryptogramu szyfru podstawieniowego. Jeśli tekstem jawnym będzie blok, pokazany w tabeli 2, to po zastosowaniu tablicy z tabeli 6 i wykonaniu 48 operacji podstawienia znaków otrzyma się kryptogram jak w tabeli 8: X U Q I, : E W Z Y E I D Z D X R B D J K T X C V B D Q ; T X : E B D : X X Y E D Z ; ; M Tabela 8. Blok kryptogramu szyfru podstawieniowego, odpowiadający blokowi tekstu jawnego Otrzymany kryptogram moŝna jednak bardzo łatwo rozszyfrować, bo występujące w kryptogramie znaki występują w takiej samej kolejności, jak odpowiadające im znaki w tekście jawnym. Kryptoanalitycy łamią wiec szyfry podstawieniowe bardzo szybko. 7. Przykład szyfru produktowego Szyfrem produktowym jest szyfr, który stosuje po kolei dwa algorytmy szyfrujące: najpierw szyfruje się tekst jawny za pomocą algorytmu pierwszego, a następnie otrzymany kryptogram szyfruje się, stosując algorytm drugi. W efekcie otrzymuje się kryptogram wynikowy szyfru produktowego. X I D X D : U X Z C V X Q I Y E, D B : D E Z D X Q Q ; ; T B X D J W ; K : E T Z Y E B M Tabela 9. Blok kryptogramu szyfru produktowego, otrzymany przez zaszyfrowanie bloku tekstu jawnego, pokazanego w tabeli 2, najpierw za pomocą szyfru przestawieniowego, a następnie za pomocą szyfru podstawieniowego MoŜna tę zasadę wyjaśnić, szyfrując tekst jawny z tabeli 2 najpierw za pomocą opisanego wyŝej szyfru podstawieniowego, a następnie otrzymany w tym etapie kryptogram (tabela 3) traktuje się jako wejście dla algorytmu szyfrowania szyfrem podstawieniowym. Otrzymany w efekcie tych działań kryptogram pokazano w tabeli 9. MoŜna z łatwością sprawdzić, ze deszyfrowanie kryptogramu z tabeli 9 naleŝy przeprowadzić w kolejności odwrotnej do procesu szyfrowania: najpierw zastosować trzeba algorytm deszyfrowania dla szyfru podstawieniowego, a następnie algorytm deszyfrowania szyfru przestawieniowego.

Jakkolwiek składnikami opisanego tu algorytmu szyfrowania produktowego są dwa słabe szyfry, to złamanie przedstawionego szyfru produktowego, nawet dla zaawansowanego kryptoanalityka, nie będzie zadaniem trywialnym. Właśnie takie naprzemienne stosowanie szyfrów przestawieniowych i podstawieniowych, prowadzi, zgodnie ze wskazówkami Shannona, do syntezy odpornych do złamania szyfrów. Te nieco zmodyfikowaną zasadę stosuje wiele praktycznie uŝywanych systemów kryptograficznych dla szyfrowania blokowego, operujących na alfabecie dwuelementowym, m. in. algorytmy DES i IDEA.