Adam Józwik Konrad Wojciechowski

Slides:



Advertisements
Podobne prezentacje
Infrastruktura kluczy publicznych
Advertisements

IDENTYFIKACJA UŻYTKOWNIKA W SIECI INTERNET
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Szyfrowanie symetryczne 1
dr A Kwiatkowska Instytut Informatyki
KRYPTOGRAFIA A B C D E F G H I J K L Ł M N O P R S T U W X Y Z
KRYPTOGRAFIA KWANTOWA
SZYFRY BEZ TAJEMNIC.
KRYPTOLOGIA =KRYPTOGRAFIA+KRYPTOANALIZA
Michał Łasiński Paweł Witkowski
Podstawy kryptografii
Czyli czym się różni bit od qubitu
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego Robert Borzęcki.
Bartek Wydro III B Zarys historii kryptologii ze szczególnym uwzględnieniem roli Polaków w łamaniu kodów maszyny Enigma. ZAGADKA ENIGMY.
Macierze Maria Guzik.
Kryptografia i kryptoanaliza
SYSTEMY LICZBOWE.
Mechanika dzielenia na podsieci. Wykład 6
PKI, OPIE Auth Mateusz Jasiak.
Kryptografia – elementarz cześć I
Zapis informacji Dr Anna Kwiatkowska.
Techniczne aspekty realizacji podpisu cyfrowego z zastosowaniem algorytmu RSA mgr inż. Wojciech Psik Zespół Szkół Elektronicznych i Ogólnokształcących.
Ochrona danych wykład 2.
Ochrona danych wykład 3.
Dążenie do odkrywania tajemnic tkwi głęboko w naturze człowieka, a nadzieja dotarcia tam, dokąd inni nie dotarli, pociąga umysły najmniej nawet skłonne.
Dążenie do odkrywania tajemnic tkwi głęboko w naturze człowieka, a nadzieja dotarcia tam, dokąd inni nie dotarli, pociąga umysły najmniej nawet skłonne.
Projekt edukacyjny klasy IID
Kod Graya.
MATEMATYCZNE METODY SZYFROWANIA
Wykonał: mgr inż. Maksymilian Szczygielski
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
Elementy Rachunku Prawdopodobieństwa i Statystyki
Zastosowania ciągów.
SZYFROWANIE INFORMACJI
ZASTOSOWANIE KRYPTOGRAFII W SZYFROWANIU DANYCH
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Model relacyjny.
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Matematyka i system dwójkowy
Technologie informacyjne mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Systemy operacyjne i sieci komputerowe
Szyfrowanie i deszyfrowanie
Andrzej Majkowski informatyka + 1.
JĘZYKI ASSEMBLEROWE ..:: PROJEKT ::..
SZYFROWANIE Kacper Nowak.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Podstawy języka skryptów
1 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.
Zasady arytmetyki dwójkowej
Aby do danych nie dostała się postronna osoba ( hacker ) stosuje się różne metody kryptograficzne.
niezawodności Z problemem jakości systemów informacyjnych wiąże się problem zapewnienia odpowiedniej niezawodności ich działania.
K ODY ZMIENNEJ DŁUGOŚCI Alfabet Morsa Kody Huffmana.
9. IMPLEMENTACJE ALGORYTMÓW KRYPTOGRAFICZNYCH
8. MATEMATYCZNE PODSTAWY ALGORYTMÓW KRYPTOGRAFICZNYCH
7. PODSTAWY KRYPTOGRAFII
Matematyczne podstawy kryptografii Stefan Dziembowski Instytut Informatyki, Uniwersytet Warszawski.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES
SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI
SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI
Podstawy Informatyki.
Wstęp do Informatyki - Wykład 6
EWOLUCJA SIŁY SZYFRÓW ABCDEFGHIJKLMNOPQRSTUVWXYZ
Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Liczby pierwsze: szukanie, rozmieszczenie, zastosowanie, ciekawostki. Kinga Cichoń.
KRYPTOGRAFIA KLUCZA PUBLICZNEGO WIKTOR BOGUSZ. KRYPTOGRAFIA KLUCZA PUBLICZNEGO Stosując metody kryptograficzne można zapewnić pełną poufność danych przechowywanych.
ALGORYTMY I STRUKTURY DANYCH
Kryptografia-0 -zachowanie informacji dla osób wtajemniczonych
Liczby pierwsze oraz kryptologia
SHA1 – Secure Hash Algorithm
Zapis prezentacji:

Adam Józwik Konrad Wojciechowski Kryptografia Adam Józwik Konrad Wojciechowski

Podstawowe pojęcia KRYPTOGRAFIA - to nauka zajmująca się układaniem szyfrów. Wyróżniane są dwa główne nurty kryptografii KRYPTOLOGIA - to nauka o przekazywaniu informacji w sposób zabezpieczony przed niepowołanym dostępem (w celu modyfikacji lub zapoznania się z treścią). Zakres kryptologii obejmuje: -utajnienie - informacji nie można odczytać bez klucza, -uwierzytelnienie - strona wysyłająca może udowodnić swoje autorstwo, -niezaprzeczalność - strona odbierająca może udowodnić autorstwo informacji, -spójność - pewność, że informacja nie została zmieniona. KRYPTOANALIZA - to nauka, dział kryptologii zajmujący się łamaniem szyfrów. TEKST JAWNY - informacje, które ulegną szyfrowaniu, KRYPTOGRAM, SZYFROGRAM - informacje zaszyfrowane, SZYFROWANIE - jest procesem przekształcania tekstu jawnego w kryptogram przy użyciu klucza szyfrowania, DESZYFROWANIE - jest procesem odwrotnym do szyfrowania. Polega na przekształceniu szyfrogramu w tekst pierwotny przy użyciu klucza deszyfrowania., ALGORYTM SZYFROWANIA - funkcja matematyczna, która przekształca tekst jawny w kryptogram za pomocą klucza szyfrowania, KLUCZ SZYFROWANIA - ciąg danych służący do szyfrowania tekstu jawnego w kryptogram za pomocą algorytmu szyfrowania

Łamanie szyfrów (kryptoanaliza) kryptoanaliza – na podstawie kryptogramu znaleźć odpowiadający mu tekst jawny lub klucz. Najprostszą formą kryptoanalizy jest metoda, która nazywa się systematycznym przeszukiwaniem czyli brutalnym atakiem (brute-force). Polega ona na rozważeniu wszystkich możliwych kluczy. Np. znając tekst jawny P i odpowiadający mu kryptogram C możemy szyfrować P po kolei wszystkimi możliwymi kluczami, aż napotkamy taki, który daje w wyniku C. Klasyfikacja ataków kryptoanalitycznych w zależności od rodzaju informacji dostępnych w trakcie kryptoanalizy zawiera: -jedynie z kryptogramu atak typu ciphertext-only -atak ze znanym tekstem jawnym atak typu known plaintext -atak z wybranym tekstem jawnym atak typu chosen plaintext -atak z wybranym kryptogramem atak typu chosen ciphertext

Moc kryptograficzna Istnieje wiele różnych algorytmów kryptograficznych. Niektóre z nich dają się łatwo obejść lub złamać. Istnieją także algorytmy bardzo odporne na silne ataki. Zdolność obrony algorytmu przed złamaniem nazywa się mocą kryptograficzną. Moc kryptograficzna zależy od takich czynników jak: sposób wyboru funkcji szyfrującej, tajność klucza, trudność odgadnięcia klucza na podstawie szyfrogramu, istnienie lub brak tylnych wejść do algorytmu, możliwość złamania algorytmu (znalezienia klucza) na podstawie znajomości tekstu jawnego, odporności algorytmu na regularności tekstu jawnego i odpowiadające im regularności szyfrogramu. Przykładem algorytmu łatwego do złamania może być algorytm polegający na zastępowaniu jednych liter alfabetu innymi. Np.: za literę A podstawimy B, za B - C itd. Ten sposób szyfrowania nazywany jest szyfrem Cezara.

Klasyczne techniki szyfrowania Podstawienie

Alfabet więzienny Do szyfrowania i deszyfrowania używany jest kwadrat, w który wpisano litery alfabetu, np., łacińskiego: Tekst „Kto tu”. Kryptogram „ .. ..... .... .... ... .... .... .... .... .....” 1 2 3 4 5 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

Szyfr par Mamy pary ( ) Wtedy tekst jawny: Kluczem jest fraza (hasło), jaka zawiera równo połowę liter alfabetu. Szyfrowanie przebiega następująco: zapisujemy kolejne litery występujące w haśle w pierwszym wierszu. Pod nim wpisujemy kolejne litery alfabetu, przy czym pomija się litery hasła. W taki sposób otrzymujemy odpowiedni pary alfabetu. Niech kluczem będę fraza „żelazny szpic w domu leży”: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ż e l a z n y s z p i c w d o m u l e ż y ą b ć ę f g h j k ł ń ó r ś t ź Mamy pary ( ) a ą b c ć d e ę f g h i j k l ł m n ń o ó p r s ś t u w y z ź ż ę ż e ń l r b a z n y ł s p ć i t g c ś w k d j o m ź ó h f u ą Wtedy tekst jawny: „Spotkanie unieważnione, Janek zdrajca” przechodzi w kryptogram: „jkśmpęgłą źgłąóęągłśgą sęgbp frdęsńę”

Szyfr Playfair (XVI wiek) Litera J jest w tekstach zastąpiona przez I, wszystkie znaki interpunkcji są odrzucone. Kluczem są cztery kwadraty 5 x 5, w które są wpisane osobno wszystkie litery alfabety w pewnej kolejności. System Playfair’a jest przykładem systemu, w którym koduje się bloki liter o długości dwa. Utrudnia to odgadnięcie klucza. Załóżmy dla przykładu, że chcemy zaszyfrować parę CR według klucza Litery C oraz R wyznaczają prostokąt, w którego pozostałych rogach znajdują się litery M i O. Reguła szyfrowania mówi, że CR zastępujemy właśnie MO, a słowo CRYPTOGRAPHY przekształca się u MOPWTIOMFXNS. K I N G D V Q E O K O M A B C W R F M I E F H L P X S H A N Q R S T U Y T L B G V W X Y Z Z U P C D Z Y X W V D C P U Z U T S R Q G B L T Y P L H F E N A H S X C B A M O I M F R W D G N I K K O E Q V

Szyfr Vigenere'a Tekst do zaszyfrowania tą metodą: TO JEST BARDZO TAJNY TEKST Do tego celu użyjemy znanego tylko nam słowa kluczowego, np. TAJNE TO JEST BARDZO TAJNY TEKST TA JNET AJNETA JNETA JNETA Litera szyfrogramu odpowiada literze z tabeli znajdującej się na przecięciu wiersza, wyznaczanego przez literę tekstu jawnego i kolumny wyznaczanej przez literę słowa kluczowego, np. po kolei T i T daje M, O i A daje O itd. W efekcie otrzymujemy zaszyfrowany tekst: MO SRWM BJEHSO CNNGY CROLT Deszyfracja: Bierzemy kolejne litery szyfrogramu oraz odpowiadające im litery słowa kluczowego (podobnie, jak przy szyfrowaniu). Wybieramy kolumnę odpowiadającą literze słowa kluczowego. Następnie w tej kolumnie szukamy litery szyfrogramu. Numer wiersza odpowiadający znalezionej literze jest numerem litery tekstu jawnego. Np. w kolumnie T litera M znajduje się w wierszu T, w kolumnie A litera O znajduje się w wierszu O itd. Działanie szyfru Vigenere’a oparte jest na tablicy przedstawionej poniżej: 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

Permutacja

Permutacja: definicje Permutacja to pojęcie matematyczne; nazywana jest też permutacją bez powtórzeń. Niech A oznacza zbiór złożony z n różnych elementów; permutacją tego zbioru jest dowolne ustawienie w ciąg (czyli uporządkowanie) wszystkich elementów zbioru A. Liczba wszystkich permutacji zbioru n-elementowego wynosi Pn=n!. PRZYKŁAD. Elementy zbioru A = {a, b, c,} można ustawić w ciąg na P3=3!=6 sposobów: abc, acb, bac, bca, cab, cba

S S ® : p Niech będzie permutacją, zaś zbiorem używanych liter. Tekst jawny a1,a2,…,an( )jest szyfrowany jako ciąg Kryptogram b1,b2,…,bn deszyfrowany jest jako ciąg: Ten system szyfrowania polega na permutacji liter tekstu jawnego i na praktyce nie jest używany, ponieważ częstotliwość występowania liter w kryptogramie i w tekście jawnym jest równa. Z tego względu permutacje należy traktować jako technikę historyczną albo jako element pomocniczy bardziej złożonych metod. S Î j a ( ) n a p ... . 2 1 ( ) n a 1 2 ... . - p

Szyfr Cezara Szyfr Cezara (100-44 r. do n.e.). Litery alfabetu można utożsamić z liczbami. W systemie Cezara używanych jest 26 symboli (26 liter alfabetu łacińskiego) odpowiadających liczbom od 0 d0 25. Szyfr polega na permutacji: 0 (a)  3 (d); 1 (b)  4 (e); 2 (c)  5 (f);...; 25 (z)  2 (c). Oznacza to, że w szyfrogramie zastępujemy każdą literę tekstu literą położoną w alfabecie o trzy pozycje dalej. Mówiąc współczesnym językiem Rzymianie używali operacji dodawania 3 modulo 26 : . Dla przykłady słowu imperium odpowiada kryptogram lpshulxp albo teksty Veni vidi vici odpowiada kryptogram yhql ylgl ylfl.

Złamanie algorytmu Cezara Nawet jeśli zamienimy znaki specjalne i cyfry, z oryginalnego tekstu usuniemy spacje algorytm ten jest stosunkowo prosty do złamania. Wiedząc, ze tekst jawny może być napisany w języku, np. angielskim, badamy częstotliwość pojawiania się liter w zdaniach i na podstawie tej wiedzy dokonujemy podstawień, i tak najczęściej spotykaną literą alfabetu angielskiego jest E obejmując około 12.3% wszystkich wystąpień. Na drugim miejscu są takie litery jak: Y, B, G, K, Q, X, J, Z. Każda z nich występuje z częstotliwością poniżej 2%. Grupa liter z częstotliwością powyżej 6% też nie jest liczna i zawiera: T, A, O, N, I, S, R. Mając te dane jesteśmy w stanie stosując podstawienia znaków o odpowiadającej sobie częstotliwości występowania oraz sukcesywnego zgadywania kolejnych liter odkodować szyfrogram.

Szyfr częstokołu Szyfr częstokołu: Np. słowo kryptografia zapisujemy w postaci kryptografia to otrzymujemy kryptogram rporfakytgai. Tutaj wysokość częstokołu równa 2. Dla wysokości 3 mamy: i otrzymujemy kryptogram ygirporfakta. Długość permutacji albo wysokość częstokołu jest kluczem szyfrowania i deszyfrowania. a f r o p i g y t k

Szyfr macierzy Tekst jawny jest zapisany kolejnymi wierszami w prostokącie. Przy tym kolejność wypisywanych liter kryptogramu określę się ciągiem liter w kolumnach, a ich kolejność określą się kluczem. G A R D E N Klucz 4 1 6 2 3 5 Tekst jawny D O N T P U DON’T PUT IT OFF TILL TOMORROW T I T O F F Kryptogram T I L L T O OIIOTOLRPFTODTTMUFOWNTLR M O R R O W Mogą być wykorzystane dwa klucze: dla wiersza i kolumny. Z A M E K A E K M Z 5 1 4 2 3 1 2 3 4 5 D 1 J U T R O D 1 U R O T J O 3 B Y Ł A W M 2 J A . N O M 2 O J N A . O 3 Y A W Ł B Np. tekst „Jutro była wojna.” z kluczami „zamek” i „dom” odwzorowuję się w kryptogram „UJYRAAO.WTNŁJOB”.

Szyfr ADFGVX (I wojna światowa) Ten szyfr zawiera dwa sposoby szyfrowania: podstawienie i permutacja. Szyfrowanie przebiega następująco. Każdą literę lub liczbę koduję się blokami długości 2, które są złożone z liter A, D, F, G, V i X na podstawie tabeli 6x6 A D F G V X A C O 8 X F 4 D M K 3 A Z 9 F N W L 0 J D G 5 S I Y H U V P 1 V B 6 R X E Q 7 T 2 G Otrzymany kryptotekst jest ponownie szyfrowany poprzez szyfr macierzy. Załóżmy dla przykładu, że chcemy zaszyfrować tekst „DON’T PUT IT OFF TILL TOMORROW”. Z szyfru podstawienia (z tabeli) otrzymujemy: FXADFAXGVAGXXGGFXGADAVAVXGGFFFFFXGADDAADVXVXADFD Stosujemy szyfr macierzy z kluczem GARDEN. G A R D E N 4 1 6 2 3 5 F X A D F A X G V A G X X G G F X G A D A V A V X G G F F F F F X G A D D A A D V X V X A D F D KRYPTOGRAM XGGDG FAXDA FVFGD DFGXA FAVFF XXAXF DVAXG VFDXD AVGAG XAA.

ALGORYTMY SYMETRYCZNE

Algorytm symetryczny Algorytm szyfrowania, w którym tekst jawny przekształca się w szyfrogram za pomocą pewnego uzgodnionego klucza K. Ten sam klucz, lub ściśle od niego zależny służy potem do przekształcenia szyfrogramu w tekst jawny (za pomocą tej samej funkcji szyfrującej). Klucz ten jest tajny, to znaczy posiadają go jedynie strony wymieniające się informacją.

SZYFR Z KLUCZEM JEDNORAZOWYM (ONE-TIME PAD) (1917, G.Vernam). Szyfr opiera się na operacji dodawania modulo 2 (czyli XOR (eXclusive OR)). Ta operacja jest zdefiniowana jak następuje: 00=0; 01=1; 10=1; 11=0. Jeśli mamy do czynienia z dwoma ciągami bitów:A=a1…ak, B=b1…bk to przez AB rozumiemy ciąg powstały z dokonania operacji XOR na odpowiadających sobie bitach obu ciągów :c1=a1b1,…,ck=akbk C=AB. Przy tym A0=A i AA=0. Załóżmy, że tekst jawny jest ciągiem bitów M, zaś klucz ciągiem bitów K. Wtedy kryptogramem C jest ciąg bitów C=MK. Deszyfrowanie oparte jest na równości CK=( MK) K=M (KK)=M0=M. Przykład. Niech chcemy zaszyfrować słowo „banan” (01 00 13 00 13) z kluczem (02 07 15 11 00). W systemie dwójkowym mamy (01 00 13 00 13)  (0001 0000 1101 0000 1101) (02 07 15 11 00)  (0010 0111 1111 1011 0000) szyfrogram  (0011 0111 0010 1011 1101)  (03 07 02 11 13) klucz  (0010 0111 1111 1011 0000) tekst jawny  (0001 0000 1101 0000 1101)  (banan)

SZYFR Z KLUCZEM JEDNORAZOWYM (ONE-TIME PAD) (1917, G.Vernam). SZYFR Z KLUCZEM JEDNORAZOWYM jest metodą szyfrowania, w której używany jest losowo wybrany klucz , a samo szyfrowanie odbywa się za pomocą XOR. Istotne jest, by do każdego szyfrowania używać innego, wygenerowanego niezależnie klucza. Następujące własności są kluczowe dla tej metody: Kryptogram jest ciągiem losowym n bitów. Bez znajomości klucza żadna informacja dotycząca tekstu jawnego nie może być wydedukowana z kryptogramu. Własność ta bywa nazywana bezpieczeństwem doskonałym i wypływa z słynnego twierdzenia Shannona z teorii informacji, które mówi, że jedynym sposobem uzyskania pełnego bezpieczeństwa jest używanie szyfru z kluczem jednorazowym. Jedyną dziedziną zastosowań jest szyfrowanie stosunkowo krótkich, ale bardzo ważnych informacji, jak rozkazy wojskowe o strategicznym znaczeniu. Zasady używania szyfru z kluczem jednorazowym mówią, że klucz musi być zawczasu uzgodniony przez osoby komunikujące się wybrany naprawdę losowo przechowywany w bezpieczny sposób co najmniej tak długi jak szyfrowany tekst.

DES (Data Enscryption Standard), około 1970 r., IBM DES szyfruje bloki złożone z 64 bitów, odpowiada to 8 literom ASCII, każda zaopatrzona w bit parzystości. Klucze składają się również z 64 bitów, przy czym 8 bitów jest bitami parzystości. Tzn. w trakcie wyboru klucza można określić jedynie 56 bitów, reszta jest generowana automatycznie. DES został w USA uznany za standard dla celów niemilitarnych. Nie zostały opublikowane żadne prace dające tej metodzie solidne podstawy matematyczne. Układy realizujące DES są bardzo szybkie (1GB/sek). (Rijndael) Szyfrowanie i deszyfrowanie za pomocą DES-a składa się z 16 rund. W trakcie każdej rundy dokonywane są te same obliczenia, ale na wynikach obliczeń z poprzedniej rundy i specjalnym podklucze generowanym z 64-bitowego klucza (teraz z 256 bitowego). Dodatkowo, przed pierwszą rundą i po ostatniej rundzie bity są permutowane w ustalony sposób. Dla uzyskania podkluczy usuwano najpierw 8 bitów parzystości zawartych w kluczu. Następnie z pozostałych 56 bitów tworzonych jest 16 podkluczy, każdy składający się z 48 bitów. Tak utworzony i-ty klucz (Ki) jest używany w trakcie i-tej rundy. Każdy podklucz składa się ze z góry określonych bitów oryginalnego klucza – dla każdego podklucza są to inne bity i ustawione w innej kolejności za pomocą cyklicznego przesunięcia. Podczas deszyfrowania dokonywane są te same operacje, jak podczas szyfrowania. Różnica polega jedynie na tym, że podklucze są używane w odwrotnej kolejności, tj. {k16,k15,k13, k12,k11,k10, k9,k8,k7, k6,k5,k4, k3,k2,k1}. Z tego względu ten sam hardware może być użyty do szyfrowania i deszyfrowania. Zaletą tego algorytmu jest jego niezawodność oparta na 25 letnim doświadczeniu oraz fakcie, iż jest on ciągle najpopularniejszym sposobem szyfrowania. Główną wadą DES jest niewystarczająca 56 bitowa długość klucza. W 1998 roku została zbudowana maszyna (jak podają źródła kosztem 100 000 $), która złamała DES w ciągu 3 dni. Istnieją rozszerzenia DES’u zwiękaszające jego odporność na włamanie takie jak: DES EDE (Encrypt-Decrypt-Encrypt – zastosowano klucz o długości 108 bitów)

Elektroniczna książka kodowa (ECB – Electronic CodeBook) ECB polega na podziale informacji na bloki ustalonej długości. Każdy z tych bloków jest oddzielnie szyfrowany za pomocą tego samego klucza. Taki tryb pracy jest odporny na zakłócenia ponieważ utrata pojedynczych bloków nie ma wpływu na możliwość deszyfrowania pozostałych części kryptogramu. Powiązanie jednak jednego bloku informacji jawnej z jednym i tylko jednym blokiem szyfrogramu ułatwia ewentualną kryptoanalizę poszczególnych bloków. Z uwagi na brak powiązań pomiędzy poszczególnymi blokami taki tryb nie jest odporny także na atak wykorzystujący podstawianie bloków. Polega to na tym, że atak może nastąpić poprzez zamianę pewnych bloków szyfrogramu na inne, których jawne odpowiedniki zostały w drodze kryptoanalizy znalezione. Np. Załóżmy, że komunikacja pomiędzy 2 bankami odbywa się w trybie ECB – szyfrowane są przelewy między kontami. Niech specyfikacja kont ma postać: Przelew kon- to odbior- ca kwo- ta Kryptogram blok1 blok2 blok3 blok4 blok5 blok6 Przestępca, który jest w stanie modyfikować treść kryptogramów, może przeprowadzić atak: Dokonuje 17 przelewów na swe konto, zawsze tę samą kwotę. Następnie identyfikuje w przesyłanych kryptogramach taki kryptogram konta, na który dokonano dokładnie 17 przelewów i na tę samą kwotę. Poznaje kryptogram numeru swego konta, mimo iż nie zna klucza. Zamienia kod numeru konta w pewnej liczbie przesyłanych kryptogramów, wstawiając na to miejsce kryptogram numeru swego konta. Bank dopisuje do jego konta kwoty przeznaczony pierwotnie dla kogo innego. Wybiera pieniądze i znika. (Instytucje finansowe często lekkomyślnie używają trybu ECB) Aby wyeliminować tego typu zagrożenia, należy użyć innych (bezpieczniejszych) trybów szyfrowania (np.: Wiązania bloków (Cipher Blok Chaining (CBC)), którego zaletą jest to, iż takie same bloki są reprezentowane z reguły przez różne bloki szyfrogramu co czyni je bardziej odpornymi na kryptoanalizę oraz ataki związane z podstawianiem bloków.) .

Inne algorytmy symetryczne: FEAL (Fast Data Encipherment Algorythm, 1987) FEAL szyfruje bloki złożone z 64 bitów. Klucz składa się również z 64 bitów (mogą być 128, 256 albo 1024). Ta metoda jest szybszą od DES. IDEA (International Data Encryption Standard). Jest to międzynarodowy algorytm szyfrowania danych, z którego można korzystać bezpłatnie do celów niekomercyjnych. Został wynaleziony w 1991 roku przez Jamesa Massey’a i Xuejia Lai’a w Zurychu. Ma podobną ogólna strukturę jak algorytm DES. Jest iterowanym szyfrem blokowym o 64-bitowym rozmiarze bloku i 128-bitowym kluczu. Ma jedynie 8 iteracji w porównaniu z 16 iteracjami algorytmu DES, ale każda iteracja algorytmu IDEA działa tak, jak by była iteracją podwójnego DES. Dla większości mikroprocesorów programowa implementacja algorytmu IDEA jest szybsza od oprogramowania będącego implementacja algorytmu DES. W algorytmie IDEA klucz jest ponad dwukrotnie dłuższy niż klucz algorytmu DES a także dłuższy od klucza używanego w potrójnym DES. Algorytm IDEA jest znacznie szybszy od potrójnego DES. Z powodu młodego wieku, nie można powiedzieć iż IDEA jest algorytmem super bezpiecznym. Nad jego bezpieczeństwem i nad ewentualnymi sposobami jego złamania ciągle trwają prace badawcze. Zaletę algorytmu IDEA, która poprawia jego wiarygodność, stanowi oparcie go na bardzo skomplikowanych teoriach matematycznych. RC5. RC5 jest jednym z najnowszych algorytmów, który został przedstawiony przez R. Rivesta w 1994 roku. Algorytm ten wykorzystuje zarówno metody stosowane w DES jak również w IDEA. W tym przypadku jednak możliwy jest wybór ilości wykonywanych rund (od 0 do 255), wielkości szyfrowanych bloków (032, 64, 128 bit) oraz długości klucza (od 0 do 255 bajt).

ALGORYTMY ASYMETRCZNE

Algorytm z kluczem publicznym Algorytm szyfrowania, w którym wyróżnia się dwa klucze - klucz służący do kodowania danych i odrębny klucz służący do dekodowania danych. Jeden z tych kluczy nazywa się kluczem publicznym, zaś drugi kluczem prywatnym, bądź tajnym.

RSA (Rivest-Shamir-Adleman)-1977r. Fundamentem RSA jest algorytm służący do generowania unikalnych i bezpiecznych (odpornych na próby odgadnięcia) par kluczy. Mnoży on dwie duże liczby pierwsze (podzielne tylko przez 1 i przez siebie) i z otrzymanego wyniku poprzez kilka innych dodatkowych operacji ustala klucz publiczny i zależny od niego klucz prywatny. Pierwszy z nich służy do szyfrowania wiadomości przeznaczonych dla właściciela kluczy i co za tym idzie powinien być jak najszerzej propagowany. Klucz prywatny jest tajny i tylko przy jego pomocy można odszyfrować to, co zostało zakodowane kluczem publicznym. Przyjmując odpowiednio duże liczby pierwsze otrzymujemy szyfr odporny na złamanie. Odczytanie zakodowanej wiadomości wymagałoby bowiem rozłożenia bardzo dużej liczby na czynniki pierwsze. Jedną z podstawowych zalet RSA (oprócz idei pary kluczy) jest jego siła – teoretycznie możliwe jest wykorzystywanie kluczy dowolnej długości. Przy dzisiejszym stanie wiedzy i technologii, wysoki poziom bezpieczeństwa zapewniają klucze o długości 4096 bitów – i takie też najczęściej stosowane są w praktyce Poważną wadą algorytmu RSA jest jego wolne działanie. Z tego powodu stosuje się go zazwyczaj w połączeniu z innymi algorytmami, np. wspomnianym wcześniej DES, który operacje szyfrowania przeprowadza 1000 razy szybciej. W takich systemach hybrydowych DES służy do szyfrowania wiadomości, RSA natomiast koduje już tylko klucz używany w DES-ie. Klucz zamknięty w takiej elektronicznej kopercie może następnie zostać bezpiecznie przesłany kanałem nie zapewniającym poufności - np. przez Internet. RSA wchodzi w skład wielu istniejących lub proponowanych standardów i protokołów sieciowych. Jest szeroko stosowany w komunikacji internetowej: poufnej poczcie elektronicznej i sygnowaniu dokumentów cyfrowymi podpisami

Inne algorytmy asymetryczne KRYPTOSYSTEM RABINA (M. Rabin, 1979 r.) - Metoda ta ma tę wadę, że przy deszyfrowaniu otrzymywane są cztery teksty, z których jeden jest tekstem jawnym, tylko nie wiadomo, który (zrozumiały). Dla tej metody możliwość znalezienia tekstu jawnego z kryptogramu jest równoważna rozkładowi liczby (klucz publiczny) na czynniki pierwsze. KRYPTOSYSTEM ElGamala (1985 r.)

Diffie-Hellman Nie jest to właściwie algorytm szyfrujący, lecz uzgodniony system opracowywania i wymiany wspólnego prywatnego klucza przez publiczny kanał przesyłowy. W tym systemie obie strony umawiają się na pewne wspólne wartości liczbowe i każda z nich buduje klucz. Wymieniane są przetworzone wersje kluczy, zaś mając dwa klucze każda z wymieniających się stron na tej podstawie może wygenerować klucz trzeciej sesji, którego nie może wygenerować osoba postronna posiadająca oba klucze. Istnieje wiele odmian tego protokołu, w zależności od liczby osób i innych czynników. Klucz może mieć dowolną długość, bezpieczniejsze są klucze dłuższe.

Podpisy cyfrowe System kryptograficzny z kluczem publicznym może być wykorzystywany do podpisywania dokumentów cyfrowych. Podpis taki jest odpowiednikiem tradycyjnego podpisu. Własności: jedynie osoba A może utworzyć podpis osoby A; (podrobienie podpisu powinno być niewykonalne); powinno dać się jednoznacznie stwierdzić, czy podpis został złożony pod danym dokumentem; (kopiowanie podpisu z jednego dokumentu na drugi powinno być niewykonalne). Poza tym podpisany dokument nie może zostać zmieniony- w takim przypadku nie da go się zdeszyfrować kluczem publicznym.

Podpis cyfrowy - realizacja Najprostszy sposób realizacji podpisów cyfrowych można sobie wyobrazić w następujący sposób: Niech kE będzie kluczem prywatnym A. Jednocześnie pasujący do kE klucz deszyfrujący kD i algorytm asymetryczny, do którego odnoszą się te klucze, są powszechnie znane. Podpisywanie listu M odbywa się w następujący sposób: A generuje kryptogram z M za pomocą klucza kE. Kryptogram ten jest publikowany przez A jako podpis. Oryginalny dokument jest prezentowany wraz z podpisem. Osoba pragnąca przekonać się o podpisie A deszyfruje kryptogram za pomocą klucza kD. W ten sposób otrzymuje ona tekst, który miała podpisać A. Wadą tej metody jest to, że podpis musi być co najmniej tak długi jak sam dokument.

Funkcja jednokierunkowa W kryptografii jest to funkcja przekształcająca jeden ciąg binarny w drugi, trudna do odwrócenia. Oznacza to, że dla danej funkcji f: f(O) S O,S : {0,1} prawdopodobieństwo znalezienia O na podstawie S jest bliskie zeru. Definicję tę przyjmuje się ponieważ dla żadnej z dotąd poznanych i używanych funkcji jednokierunkowych nie udowodniono nieistnienia funkcji do niej odwrotnej.

Podpis cyfrowy – funkcje hashujące Jednokierunkowe funkcje hashujące (skrótu): dla każdego X łatwo jest obliczyć H(X) H(X) ma taką samą długość dla wszystkich tekstów X dla zadanego Y znalezienie takiego X, że H(X)=Y jest praktycznie niemożliwe dla zadanego X trudno znaleźć X0 takie, że H(X)=H(X0) Jedną z najpopularniejszych metod wykorzystujących funkcje hashujące jest metoda wykorzystująca RSA: Dla dokumentu M obliczana jest wartość H(M) , gdzie H jest ustaloną funkcją hashującą (powstaje tzw. „odcisk palca”). A szyfruje H(M) za pomocą swego klucza prywatnego używając algorytmu RSA. Utworzony kryptogram to cyfrowy podpis A pod M. Sprawdzenie podpisu A wymaga deszyfrowania podpisu publicznym kluczem A. Po deszyfrowaniu sprawdzamy, czy w ten sposób otrzymaliśmy H(M). Metoda posiada dwie główne zalety: Podpis jest znacznie krótszy od dokumentu Można sprawdzić istnienie podpisu bez oglądania samego dokumentu. Inna metoda: Digital Signature Algorithm (DSA)- został opracowany przez NSA (National Security Agency) i przyjęty jako norma FIPS (Federal Information Processing standard) w USA. Algorytm umożliwia stosowanie dowolnej długości kluczy, jednak tylko dwie długości (512 i 1024 bitów) zapewniają zgodność z FIPS.

Ślepe podpisy cyfrowe i podpisy niezaprzeczalne Jeżeli B jest notariuszem, zaś A chce, aby B potwierdził notarialnie istnienie dokumentu, ale go nie przeczytał. Tego rodzaju podpis nazywamy ślepym podpisem. Do realizacji tego typu podpisu idealnie nadaje się algorytm RSA. Jeżeli chcemy, by: weryfikacja podpisu była możliwa jedynie przy współudziale autora podpisu, w przypadku sfałszowanego podpisu domniemany autor miał możliwość udowodnienia fałszerstwa. to podpis cyfrowy spełniający te warunki nazywamy podpisem niezaprzeczalnym.

Podsumowanie Techniki szyfrowania opierają się na rozwiązaniu hybrydowym - stosowane są jednocześnie algorytmy symetryczne i asymetryczne. Technika ta wynika z kompromisu pomiędzy bezpieczeństwem a ograniczeniami wydajnościowymi. Algorytmy symetryczne są od 100 do 1000 razy szybsze od asymetrycznych, jednak ze względu na wykorzystywanie tego samego klucza do szyfrowania i deszyfrowania nie są tak bezpieczne jak algorytmy asymetryczne. W związku z tym informacje szyfruje się algorytmem symetrycznym, który jest szybszy, natomiast klucz wykorzystywany do szyfrowania szyfrowany jest za pomocą algorytmu asymetrycznego i dołączany do informacji. W takiej postaci wiadomość może zostać wysłana poprzez niechronione kanały komunikacyjne.

Literatura http://bestpracy.p.lodz.pl/~grant/prezentacja.ppt prof. W. Jemec: „Wykłady z kryptografii” http://medtech.eti.pg.gda.pl/pakiet3/pakiet3.html http://www.nsa.gov/ http://www.rsasecurity.com/ http://www.bezpieczenstwoit.pl/Artykuly/Kryptografia/ http://www.prz.rzeszow.pl/we/katedry/zsc/projekty/nowosci/opracow_stud/strony/ssl.htm http://www.dagma.pl/dagma.php/krypto/wstep_do.htm http://www.wiw.pl/delta/szyfry.asp http://www.kerberos.pl/biblioteka/