SZYFROWANIE PRAKTYCZNE.

Podstawowym rynkiem systemów i urządzeń szyfrujących jest komunikacja. Jednak rozwój handlu internetowego zaowocował szeregiem nowych i interesujących składników kryptograficznych, które mają znaczną wartość dla bezpieczeństwa komputerowego.

Komunikacja i przechowywanie.

Jeśli spojrzysz na komercyjne produkty z listy NIST (National Institute of Standards and Technology), które są zatwierdzone, większość z nich jest zaprojektowana tak, aby chronić informacje, gdy są przekazywane, a nie kiedy siedzi na komputerze do lokalnego użytku. Jest to zrozumiałe, gdy spojrzysz na rozwój komputerów, który rozprzestrzenił się na zewnątrz od “mainframe fortecznego”. Scentralizowane magazyny danych nadają się do fizycznej kontroli dostępu. Szyfrowanie danych pozostających w tyle za ścianami i zamkniętymi drzwiami może być przesadzone w tym scenariuszu, szczególnie gdy ma miejsce kara za wydajność. Szyfrowanie było zarezerwowane dla danych przesyłanych między komputerami przez przewody. Ta filozofia została rozszerzona na serwery plików w sieciach. Szyfrowanie plików na serwerze nie było uważane za priorytet, ponieważ ludzie zakładali, że serwer będzie chroniony. Szyfrowanie danych na samodzielnych urządzeniach i nośnikach wymiennych jest stosunkowo nowym rozwiązaniem, zwłaszcza że coraz więcej poufnych danych jest umieszczanych w fizycznie mniejszych i mniejszych urządzeniach. Obecnie istnieje wiele produktów, za pomocą których można zaimplementować szyfrowanie plików.

Zabezpieczanie warstwy transportowej.

Jednym z najbardziej widocznych przykładów szyfrowania w pracy w dzisiejszym zabezpieczeniach komputerowych jest ikona bezpieczeństwa, którą widzą ludzie w przeglądarce internetowe

na przykład Netscape Navigator i Microsoft Internet Explorer. Jest to przykład czegoś, co nazywa się zabezpieczeniem warstwy transportowej, które używa protokołów o nazwach SSL i TLS.

Popularne protokoły.

SSL oznacza Secure Sockets Layer, protokół szyfrowania oprogramowania opracowany przez Netscape i pierwotnie zaimplementowany w Netscape Secure Server i przeglądarce Netscape Navigator. Protokół SSL jest również obsługiwany przez program Microsoft Internet Explorer i wiele innych produktów. TLS oznacza Transport Layer Security, nazwę nadaną standardowi internetowemu opartemu na SSL, przez IETF (jak w Internet Engineering Task Force, RFC 2246). Istnieją niewielkie różnice między protokołami SSLv3.0 i TLSv1.0, ale nie ma znaczących różnic pod względem siły zabezpieczeń, a oba protokoły współpracują ze sobą. TLS jest protokołem, standardową procedurą do regulowania transmisji danych między komputerami. W rzeczywistości składa się z dwóch warstw protokołu. Na najniższym poziomie znajduje się Protokół Zapisu TLS, który jest ułożony na szczycie pewnego niezawodnego protokołu transportowego, zwykle TCP w TCP / IP, zestawie protokołów, które uruchamiają Internet. Protokół zapisu TLS zapewnia bezpieczeństwo połączenia, które jest zarówno prywatne (przy użyciu symetrycznej kryptografii dla szyfrowania danych), jak i niezawodne (za pomocą sprawdzania spójności komunikatu). Nad protokołem zapisu TLS, zafałszowanym przez niego, znajduje się protokół uzgadniania TLS. Pozwala to serwerowi i klientowi uwierzytelniać się nawzajem, co jest główną rolą TLS w różnych formach handlu elektronicznego, takich jak bankowość internetowa. Protokół uzgadniania TLS może również negocjować algorytm szyfrowania i klucze kryptograficzne przed umieszczeniem na nim dowolnego protokołu aplikacji, takiego jak HTTP, transmituje lub odbiera swój pierwszy bajt danych

Właściwości TLS.

Zapewniając bezpieczeństwo połączeń, protokół Handshake TLS zapewnia trzy podstawowe właściwości. Tożsamość stron może zostać uwierzytelniona przy użyciu kryptografii z kluczem publicznym (takiej jak RSA). To uwierzytelnienie może być opcjonalne, ale zazwyczaj jest wymagane dla co najmniej jednej ze stron (np. Serwer Yahoo! Travel uwierzytelnia się w kliencie przeglądarki użytkownika, ale klient użytkownika nie uwierzytelnia się na serwerze Yahoo! Travel, rozróżnienie omawiane za chwilę). Drugą i trzecią podstawową cechą protokołu TLS Handshake jest to, że wspólny sekret może być bezpiecznie wynegocjowany, niedostępny dla podsłuchujących, nawet przez atakującego, który może umieścić się w środku połączenia; a negocjacja protokołu jest wiarygodna. Według słów RFC 2246: “żaden atakujący nie może modyfikować komunikacji negocjacyjnej bez wykrycia przez strony komunikacji.” TLS może korzystać z różnych algorytmów szyfrowania. Dla szyfrowania symetrycznego, które jest częścią protokołu Record, można użyć DES lub RC4. Klucze tego symetrycznego szyfrowania są generowane unikalnie dla każdego połączenia i są oparte na tajnym wynegocjowanym przez inny protokół (taki jak protokół uzgadniania TLS). Protokół zapisu obejmuje sprawdzanie integralności komunikatu za pomocą klucza MAC, z bezpiecznymi funkcjami skrótu, takimi jak SHA i MD5, używanymi do obliczeń MAC. Pakiet szyfrowania używane do określonego połączenia są określane podczas początkowej wymiany między klientem a serwerem, jak pokazano na rysunku powyżej

Testowane w rzeczywistym świecie.

Protokół TLS / SSL został szeroko i szeroko przetestowany w rzeczywistym świecie i został dokładnie sprawdzony przez prawdziwych kryptografów. Niektóre z ograniczeń i ograniczeń zauważone przez tych i innych ekspertów. Po pierwsze, ani dobry standard, ani dobry projekt nie gwarantują dobrego wdrożenia. Na przykład, jeśli TLS jest zaimplementowany ze słabym nasieniem losowym lub przypadkowym generatora liczb, który nie jest dostatecznie losowy, teoretyczna wytrzymałość projektu nic nie da, aby chronić dane, które są w ten sposób narażone na potencjalny kompromis. (Chociaż wykraczające poza zakres tego rozdziału, generatory liczb pseudolosowych lub PRNG odgrywają istotną rolę w wielu operacjach kryptograficznych i są zaskakująco trudne do stworzenia, chyba że dokładnie symulują prawdziwą losowość, atakujący będzie w stanie przewidzieć liczby, które generują, a tym samym pokonują każdy system, który opiera się na ich “losowej” jakości.) Drugim ważnym zastrzeżeniem jest to, że jeśli klienci nie mają certyfikatów cyfrowych, strona klienta sesji TLS nie jest uwierzytelniana. To stwarza liczne problemy. Większość dzisiejszych “bezpiecznych” transakcji internetowych, od biletów lotniczych zarezerwowanych przez Yahoo Travel, do akcji będących przedmiotem obrotu w większości internetowych domów maklerskich, stanowi obliczone ryzyko ze strony sprzedawcy. Chociaż klient dokonujący zakupu jest zapewniony, za pomocą certyfikatu handlowca, że ​​sprzedawca na stronie www.amazon.com naprawdę jest Amazon, sprzedawca nie ma cyfrowego zapewnienia, że ​​komputer kliencki należy do lub jest obsługiwany przez osobę dokonanie zakupu. Oczywiście istnieją inne zapewnienia, takie jak zgodność karty kredytowej, którą kupujący dostarcza, z innymi danymi osobowymi, które pasują do niej, takimi jak adres rozliczeniowy. Ale kupiec wciąż ryzykuje zarzut i ewentualnie inne kary za nieuczciwą transakcję. W przypadku większych i bardziej wrażliwych transakcji finansowych trzeba mieć pewność, że tożsamość klienta jest większa. Certyfikat cyfrowy jest krokiem we właściwym kierunku, ale jest to krok, którego wielu kupców jeszcze nie podjęło, z kilku powodów. Pierwszy jest koszt wystawiania certyfikatów klientom, a drugim jest trudność w uzyskaniu tych certyfikatów na swoich systemach. Niektórzy kupcy zdecydowali, że koszt i wysiłek są tego warte. Na przykład Royal Bank of Scotland zastosował to podejście jego system bankowości internetowej w 1998 roku. Są inne problemy. Użytkownik musi chronić certyfikat, nawet przed takimi zagrożeniami, jak awaria sprzętu (użytkownik zmienia format dysku, traci certyfikat) lub nieautoryzowane użycie (członek rodziny korzysta z komputera i tym samym ma dostęp do certyfikatu). Ponadto użytkownik musi mieć możliwość przeniesienia certyfikatu, na przykład, na komputer przenośny, aby umożliwić dostęp do konta bankowego podczas podróży. Oczywistą odpowiedzią jest umieszczenie certyfikatu na solidnym wymiennym nośniku

Takie nośniki są ogólnie określane jako tokeny sprzętowe. Standard dotyczący tokenów jeszcze się nie pojawił. Karty inteligentne są oczywistym wyborem, ale należy wdrożyć czytniki kart. Istnieją alternatywy, takie jak umieszczanie certyfikatu na dyskietce lub na małym breloku, który podłącza się do portu USB.

Koszt zabezpieczonych transakcji.

Dla firm, które chcą dziś wykonywać wysoce bezpieczne transakcje, korzystanie z SSL bez uwierzytelniania po stronie klienta jest krótkoterminowe, przynajmniej w przypadku niektórych kategorii transakcji. Nawet wtedy może być kosztowne, zarówno pod względem dolarów, jak i mocy obliczeniowej. Chociaż protokół TLS jest standardem otwartym, a firma Netscape dostarczyła kluczowe części technologii bez opłat licencyjnych, wciąż pozostaje pytanie, które algorytmy należy zastosować. Niektóre algorytmy są droższe od innych i nie zawsze w oczywisty sposób. Na przykład musisz licencjonować RC4, podczas gdy DES jest bezpłatny, ale RC4 jest zoptymalizowany dla 32-bitowego procesora, a DES nie. Co więcej, badania pokazują, że ilość “trafień”, które może obsłużyć serwer aWeb dramatycznie spada, gdy te trafienia wymagają protokołu TLS (i znacznie spadają podczas przetwarzania uwierzytelniania klienta, a także uwierzytelniania serwera). Odpowiedź tutaj może być specjalistycznym sprzętem. Kilka firm, takich jak IBM i Rainbow Technologies, produkuje karty kryptograficzne, które zwalniają procesorowi z wyspecjalizowanego przetwarzania matematycznego związanego z kryptografią. Są tańsze niż dodawanie kolejnego serwera, aby nadążyć za bardzo wymagającym zadaniem zapewniania bezpiecznych transakcji internetowych

Autentyczność i zaufanie.

Punkt kryptosystemów klucza publicznego nie jest zagrożony przez dystrybucję haseł. Ponieważ klucze są uważane powszechnie znane, niektóre elementy „muszą być opracowane do świadczyć o autentyczności, ponieważ posiadanie samych kluczy (wystarczająca do zaszyfrowania wiadomości zrozumiałe) ma dowodów konkretnej unikalnej tożsamości nadawcy”, zgodnie z sci.crypt FAQ , Klucze są faktycznie tymi z danych bytów. Mechanizmy wyszukiwania polegają na zaufanych uprawnieniach, które mogą nie generować kluczy. Inne podejście zostało nazwane Pretty Good Privacy lub PGP. Jest to podejście “Web of trust”, które polega na tym, że użytkownicy rozpowszechniają i śledzą nawzajem swoje klucze i ufają nieformalnemu, rozproszonemu sposobowi. Oto w jaki sposób RSA może być użyty do wysłania dowodu tożsamości nadawcy oprócz zaszyfrowanej wiadomości. Po pierwsze, niektóre informacje są szyfrowane kluczem prywatnym nadawcy. To jest podpis i jest zawarty w wiadomości. Odbiornik może „użyć algorytmu RSA w odwrotnej kolejności do weryfikacji informacji nie odszyfrowuje rozsądnie, szukając nie tylko dana jednostka Mogło zaszyfrowany tekst jawny przez wykorzystanie tajnego klucza.” Co oznacza „odszyfrowuje rozsądnie” oznacza? Odpowiedź obejmuje coś, co nazywa się podsumowaniem wiadomości, które jest “unikalnym matematycznym podsumowaniem tajnej wiadomości”. Teoretycznie tylko nadawca wiadomości może wygenerować swój ważny podpis dla tej wiadomości, tym samym uwierzytelniając ją dla odbiorcy. Oto jak opisuje RSA uwierzytelnianie, zgodnie z diagramem

Załóżmy, że Alicja chce wysłać podpisany dokument do Boba. Alice tworzy cyfrową sygnaturę s, potęgując: s = md mod n, gdzie d i n należą do pary kluczy Alice. Wysyła i m do Boba. Aby zweryfikować podpis, Bob potęguje i sprawdza, czy wiadomość została odzyskana: m = se mod n, gdzie e i n należą do klucza publicznego Alicji.

Ograniczenia i kombinacje.

Jak wspomniano wcześniej, wiele produktów używa dziś RSA, w tym Microsoft Windows, Lotus Notes, Adobe Acrobat, Netscape Navigator, Internet Explorer i wiele innych. W większości z tych przykładów RSA jest wykorzystywany raczej do uwierzytelniania niż do szyfrowania danych na dużą skalę. To dlatego, że są one bardzo zauważalne: są powolne. Jest to równoważone faktem, że są trudniejsze do zerwania. Według RSA, DES jest generalnie co najmniej 100 razy szybszy niż RSA po zaimplementowaniu w oprogramowaniu. W sprzęcie DES jest od 1000 do 10 000 razy szybszy, w zależności od implementacji. RSA może zmniejszyć lukę w nadchodzących latach w miarę rozwoju bardziej specjalistycznych układów. Jednak algorytmy klucza publicznego raczej nie dorównają wydajności szyfrów kluczy prywatnych, takich jak DES. Na szczęście istnieje proste rozwiązanie: “Użyj algorytmu klucza prywatnego do szyfrowania danych, ale użyj systemu klucza publicznego do obsługi wymiany kluczy i uwierzytelniania, zgodnie z diagramem

RSA Data Security lub Blowfish firmy Schneier, który jest dostępny bezpłatnie. DES, oprócz RSA są inne systemy publiczne. Jedna metoda, zwana SEEK, jest opatentowana, opatrzona znakiem towarowym i sprzedawana przez firmę Cylink z Sunnyvale w Kalifornii. Ta metoda używa alternatywnego algorytmu do dystrybucji klucza publicznego. Cylink produkuje szereg szyfratorów DES, które używają SEEK do dystrybucji kluczy.

Szyfrowaniem kluczem publicznym

Nawet z dłuższym kluczem, DEA nadal będzie miał poważną słabość, którą dzieli z wszystkimi innymi wspomnianymi do tej pory systemami szyfrowania klucza prywatnego. Ta słabość oznacza potrzebę zachowania klucza w tajemnicy. W tej sekcji przeanalizujemy ten problem oraz dostępne rozwiązania “klucza publicznego”. Nawet z dłuższym kluczem, DEA nadal będzie miał poważną słabość, którą dzieli z wszystkimi innymi wspomnianymi do tej pory systemami szyfrowania klucza prywatnego. Ta słabość oznacza potrzebę zachowania klucza w tajemnicy. W tej sekcji przeanalizujemy ten problem oraz dostępne rozwiązania “klucza publicznego”. Nawet z dłuższym kluczem, DEA nadal będzie miał poważną słabość, którą dzieli z wszystkimi innymi wspomnianymi do tej pory systemami szyfrowania klucza prywatnego. Ta słabość oznacza potrzebę zachowania klucza w tajemnicy. W tej sekcji przeanalizujemy ten problem oraz dostępne rozwiązania “klucza publicznego”.

Problem z wymianą klucza

Kiedy dane chronione hasłem są przesyłane z jednego miejsca do drugiego, elektronicznie lub ręcznie, potrzeba przekazania hasła odbiorcy stanowi poważne przeszkody. W kryptografii są one znane wspólnie jako problem wymiany klucza. Tak opisuje ją Crypt Cabal40: Jeśli chcesz, aby Twoi znajomi mogli wysyłać tajne wiadomości do Ciebie, musisz upewnić się, że nikt inny niż oni nie widzi klucza. . . . [Jest to] jeden z najbardziej dokuczliwych problemów całej wcześniejszej kryptografii: konieczność ustanowienia bezpiecznego kanału do wymiany klucza. Aby ustanowić bezpieczny kanał, używa się kryptografii, ale kryptografia klucza prywatnego wymaga bezpiecznego kanału! Tak więc nawet przy użyciu bardzo wydajnych systemów klucza prywatnego, takich jak DES, hasło lub dystrybucja kluczy jest poważnym problemem. Po tym wszystkim, powód do szyfrowania cennych informacji w pierwszej kolejności dlatego, że zakłada się ktoś próbuje ukraść lub manipulować nim. Oznacza to zmotywowanego i wyszkolonego przeciwnika. Taki przeciwnik prawdopodobnie wykorzysta każdą okazję, aby odkryć hasło, które odblokuje informacje. Hasło jest prawdopodobnie najbardziej zagrożone przez takiego przeciwnika, gdy jest przekazywane z jednej osoby na drugą. Chociaż brzmi to jak film Bonda, jest to bardzo realny i praktyczny problem, z którym trzeba się było zmierzyć w wielu obszarach legalnej, zorganizowanej działalności, od firm po instytucje publiczne, nawet wtedy, gdy dostępny jest skomputeryzowany system szyfrowania oparty na DEA. Załóżmy, że zaszyfrowany plik wrażliwych danych księgowych musi dotrzeć do siedziby głównej. W jaki sposób odbiorca zna hasło potrzebne do uzyskania dostępu do pliku? Nadawca mógł wykonać połączenie telefoniczne. Ale czy będzie to podsłuchane? W jaki sposób należy zweryfikować tożsamość osoby na drugim końcu? Kuriera można było wysłać z zapieczętowaną kopertą. Hasło może być zaszyfrowane. Ale wszystkie te kanały stanowią problem. Jak zagwarantować, że kurier jest uczciwy lub czy koperta dotrze nienaruszona? A jeśli hasło zostanie zaszyfrowane, będzie potrzebowało hasła, które będzie musiało zostać przesłane. Odbiorca pliku może otrzymać hasło przed wiadomość jest szyfrowana, ale nie ma gwarancji, że hasło nie zostanie przechwycone. Istnieją sposoby na utrudnianie atakującym spraw, ale idealnym rozwiązaniem byłoby użycie klucza, który był bezużyteczny dla atakującego. Ta możliwość jest przedstawiona na diagramie

Systemy klucza publicznego

System szyfrowania klucza publicznego oferuje szyfrowanie, które nie zależy od klucza odszyfrowywania, który pozostaje tajemnicą. Pozwala również odbiorcy kluczy i komunikatów na sprawdzenie źródła. Pierwszy opublikowany opis kryptosystemu klucza publicznego pojawił się w 1976 roku, autor: profesor Uniwersytetu Stanford Martin Hellman i badacz Whitfield Diffie. Ralph Merkle niezależnie przybył do podobnego systemu. Ralph Merkle po raz pierwszy zaproponował ideę kryptografii klucza publicznego w 1974 r., A Martin Hellman i Whitfield Diffie przedstawili tę samą ideę na forum publicznym w 1976 r.41. Pomysł ten uznano za przełomowy przełom, “ponieważ nie przyszło to nikomu innemu w długiej historii kryptologii, że kluczem odszyfrowującym może być coś innego niż odwrotność klucza szyfrującego. “42 System Diffiego-Hellmana stosuje formę matematyki zwaną arytmetyką modułową. “Modułowa arytmetyka jest sposobem ograniczania wyniku podstawowych operacji matematycznych do zbioru liczb całkowitych z wyższym ograniczeniem.” Doskonały przykład tej matematycznej zasady można znaleźć poprzez zbadanie zegara militarnego: Rozważmy zegar czasu militarnego, według którego godziny są mierzone tylko w zakresie od zera do 23, przy czym zero odpowiada północy i 23 do 11 godzinie w nocy. W tym systemie postęp z 25 godzin na godzinie trzeciej nie prowadzi nas do godziny 28, ale pełne koło do godziny 4 (ponieważ 25 + 3 = 28 i 28 – 24 = 4). W tym przypadku liczba 24, górna granica operacji obejmujących pomiar godzin, jest nazywana modułem. Kiedy obliczenia obejmujące godziny na zegarze dają dużą liczbę, odejmujemy liczbę 24, aż otrzymamy liczbę całkowitą od 0 do 23, proces znany jako redukcja modułowa. Pomysł ten można rozszerzyć na moduły o różnych rozmiarach  Protokół Diffiego-Hellmana pozwala dwóm użytkownikom wymieniać klucz symetryczny na niezabezpieczony nośnik bez wcześniejszych wspólnych tajemnic. Protokół zawiera dwa publicznie znane i szeroko rozpowszechnione parametry systemowe: p, dużą liczbę całkowitą całkowitą, która wynosi 1024 bity, 45 i g, liczbę całkowitą mniejszą niż p. Dwaj użytkownicy, którzy chcą się komunikować, są nazywani Alice i Bobem ze względu na prostotę. Postępują w ten sposób. Po pierwsze, Alicja generuje losową wartość prywatną a, a Bob generuje losową wartość prywatną b. Zarówno a, jak i b są [mniej niż p]. Następnie wyprowadzają swoje wartości publiczne za pomocą parametrów p i g oraz ich wartości prywatnych. Publiczna wartość Alice to ga mod p, a publiczna wartość Boba to gb mod p. Następnie wymieniają swoje wartości publiczne. Na koniec Alice oblicza gab = (gb)a mod p, a Bob oblicza gba = (ga)b mod p. Ponieważ gab = gba = k, Alice i Bob mają teraz wspólny klucz tajny k. Protokół ten wprowadził pojęcie do kryptografii znane jako dyskretny problem z logami. “Dyskretny problem z logami jest następujący: podane g, p, i gx mod p, co to jest x? “47 Ogólnie rzecz biorąc, we wszystkich społecznościach matematycznych i kryptologicznych powszechnie przyjmuje się, że dyskretny problem z logiem jest trudny do rozwiązania, na tyle trudny, aby algorytmy mogły na nim polegać ze względów bezpieczeństwa. Algorytm przeprowadzania szyfrowania kluczem publicznym opublikował w 1977 r. Ronald Rivest z MIT, Adi Shamir z Instytutu im. Weizmanna w Izraelu i Leonard Adleman z University of Southern California. Tych trzech mężczyzn stworzyło RSA Data Security Company, która otrzymała wyłączną licencję na patent, który MIT uzyskał na ich algorytmie. Duża liczba licencjonowanych programów dla firm opartych na tym algorytmie, od AT & T do IBM i Microsoft. Algorytm RSA działa obecnie we wszystkim, od zakupów online po telefony komórkowe. Ponieważ rozwiązanie tajnego dylematu klucza, kryptografia klucza publicznego została przez wielu uznana za rewolucyjną technologię “, co stanowi przełom, który sprawia, że ​​rutynowe szyfrowanie komunikacji staje się praktyczne i potencjalnie wszechobecny “, zgodnie z FAQ Sci.Crypt, który stwierdza: W kryptosystemie klucza publicznego, EK może być łatwo wyliczony z jakiegoś klucza publicznego X, który z kolei jest liczony od K. X, więc każdy może szyfrować wiadomości. Jeśli odszyfrowanie DK nie może być łatwo wyliczone z klucza publicznego X bez znajomości klucza prywatnego K, ale łatwo ze znajomością K, to tylko osoba, która wygenerowała K może odszyfrować wiadomości. Matematyczne zasady, które to umożliwiają, wykraczają poza zakres tej części. Więcej szczegółów można znaleźć w “Często zadawanych pytaniach na temat dzisiejszej kryptografii” RSA Laboratories, który jest dystrybuowany przez RSA Data Security, firmę, która sprzedaje produkty w oparciu o Algorytm RSA. W skrócie, szyfrowanie klucza publicznego jest możliwe, ponieważ niektóre obliczenia są trudne do odwrócenia, co zostało wskazane przez Diffiego i Hellmana, którzy po raz pierwszy opublikowali pomysł szyfrowania klucza publicznego. Oto w jaki sposób RSA opisuje obliczenia, które umożliwiają (z niewielkimi wyjaśnieniami od autora):

Załóżmy, że Alicja chce wysłać prywatną wiadomość, m, do Boba. Alice tworzy zaszyfrowany tekst c, potęgując:

c = me mod n

gdzie e oraz n są kluczem publicznym Boba. Aby odszyfrować, Bob również potęguje:

m = cd mod n

gdzie d jest prywatnym kluczem Boba. Bob odzyskuje oryginalną wiadomość, m; relacja między e a d zapewnia, że ​​Bob poprawnie odzyskuje m. Ponieważ tylko Bob zna d, tylko Bob może odszyfrować.

Jest to przedstawione na rysunku, który jest zgodny z opisanym scenariuszem. Dolna część diagramu używa liczb wziętych z przykładu podanego przez Stallings. Liczby te są znacznie mniejsze niż rzeczywiste liczby używane przez RSA. Chodzi o to, że biorąc pod uwagę tekst zaszyfrowany (c) i klucz publiczny (e, n) oraz znajomość algorytmu, odczytywanie komunikatu (m) jest wciąż niepraktyczne. Dzieje się tak dlatego, że n tworzy się przez pomnożenie dwóch liczb pierwszych (zwykle reprezentowanych jako p i q), a e otrzymuje się z n połączonego z kluczem tajnym, d. Aby złamać szyfr, musisz złożyć dużą liczbę na parę liczb pierwszych. Jak duży? Ma ponad 150 cyfr (czyli cyfry, a nie bity). Ta kryptoanaliza jest bardzo trudna do wykonania w znaczącym okresie czasu, nawet w przypadku bardzo wydajnego komputera. Duże sieci komputerów zostały z powodzeniem uwzględnione

1. Wybrany klucz prywatny

Wybierz dwie liczby pierwsze, p i q p = 7 i q = 17

2. Klucz publiczny, obliczony

Oblicz n = pq 7 × 17 = 119

3. Wybrany klucz publiczny

Oblicz ø (n) = (p – 1) (q – 1) = 96

Wybierz e, tak, aby e było względnie pierwsze w ø (n) i <ø (n) e = 5

4. Klucz prywatny, obliczony

Wyznaczyć d, tak, aby de = 1 mod 96 i d <96 Ponieważ 77 x 5 = 385 = 4 x 96 + 1 d = 77

Wynik; Klucz publiczny, KU = 5,119 Klucz prywatny, KR = 77 119

100-cyfrowa liczba na dwie liczby pierwsze, ale algorytm RSA może używać liczb nawet większych, jeśli algorytmy zasilania i faktorowania zaczynają nadążać za bieżącymi implementacjami.

Standard szyfrowania danych.

Tradycyjnie główne rynki dla twórców kodu i twórców komputerów są takie same: rządy i banki. Po II wojnie światowej komputery zostały opracowane do celów wojskowych i komercyjnych. W połowie lat 60. wiodącym producentem komputerów był IBM, który mógł dostrzec, że rosnąca rola komunikacji elektronicznej w handlu stworzy ogromny rynek dla niezawodnych metod szyfrowania. Przez wiele lat matematycy i informatycy, w tym Horst Feistel w laboratorium badawczym IBM w Yorktown Heights, Nowy Jork, opracował szyfr Lucyfer, który został sprzedany Lloyds of London w 1971 roku do użytku w systemie wydawania pieniędzy.36 Amerykańska Agencja Bezpieczeństwa Narodowego (NSA) była w ścisłym kontakcie z projektem Lucifera, regularnie odwiedzając laboratorium (stała przepływ personelu między NSA, IBM i działami matematyki głównych uniwersytetów amerykańskich dążył do ścisłego monitorowania wszystkich nowych wydarzeń w tej dziedzinie). W przybliżeniu w tym samym czasie Krajowe Biuro Standardów (NBS) opracowywało standardowe specyfikacje bezpieczeństwa dla komputerów używanych przez rząd federalny. W 1973 roku NBS zaprosił firmy do zgłaszania kandydatów na algorytm szyfrowania, który ma zostać przyjęty przez rząd w celu przechowywania i przesyłania niesklasyfikowanych informacji. (Rząd przetwarza wiele informacji, które są wrażliwe, ale niewystarczająco istotne dla bezpieczeństwa narodowego, aby uzasadnić klasyfikację.) IBM przedłożył NBS zmienną swojego szyfru Lucifera, a po szerokich testach przeprowadzonych przez NSA, ten szyfr został przyjęty jako Standard szyfrowania danych (DES). Akronim w rzeczywistości odnosi się do dokumentu opublikowanego w publikacji Federalnej Normy przetwarzania informacji 46 lub FIPS PUB 46 w skrócie. Zostało to opublikowane 15 stycznia 1977 roku, a DES stał się obowiązkowy dla wszystkich “departamentów federalnych i agencji, dla każdego. . . dane niezwiązane z bezpieczeństwem międzynarodowym. “37 Mandat federalny stwierdził również, że należy zachęcać organizacje komercyjne i prywatne do korzystania z DES.38 W rezultacie DES stał się szeroko stosowany, szczególnie w branży bankowej.39 Sercem DES jest szyfrowanie danych Algorytm (DEA), opisany w publikacji American National Standards Institute, zatytułowany American National Standard for Information Systems-Data Encryption Algorithm-Modes of Operation, 1983, jako ANSI X3.106-1983.

Wytrzymałość DES

DES stał się i pozostał faktycznym standardem komercyjnego kodowania do późnych lat dziewięćdziesiątych, kiedy wątpliwości co do jego siły w stosunku do szybkiego postępu w sprzęcie komputerowym i oprogramowaniu doprowadziły do ​​poszukiwania ewentualnej wymiany. Jednak DES jest nadal szeroko stosowany, więc przed omówieniem jego wymiany konieczne jest bardziej szczegółowe omówienie jego użycia. Pierwszą rzeczą, na którą należy zwrócić uwagę, jest to, że jedyną znaną metodą rozszyfrowania danych zaszyfrowanych za pomocą DES bez znajomości klucza jest użycie brutalnej siły. Obejmuje to skomputeryzowane porównanie danych w postaci zwykłego tekstu z zaszyfrowanymi wersjami tych samych danych, przy użyciu każdego możliwego klucza do obu wersji dopasowanie danych. W przypadku DES liczba możliwych kombinacji wynosi około 70 biliardów. To bardzo duża liczba, a wypróbowanie wszystkich kombinacji w ciągu mniej niż kilku lat wymaga stosunkowo drogiego sprzętu (lub starannie zaaranżowanej aplikacji dużych ilości taniego sprzętu). Technicznie rzecz biorąc, DEA jest połączonym szyfrem podstawienia / transpozycji, szyfru produktu, który działa na blokach danych o długości 64 bitów lub 8 bajtów. Korzystanie z 56 bitów dla klucza wytwarzają przestrzeń kluczy 256 lub 2 057 994 037 927 940, liczbę w regionie wynoszącą 70 biliardów. Schemat DES jest pokazany tu

Trudność ataku na DES może zostać zwiększona dość łatwo, jeśli zastosuje się podwójne lub potrójne szyfrowanie, ale mimo to zawsze było coś z chmury nad DES. W momencie zatwierdzenia DEA, dwóch profesorów Uniwersytetu Stanforda, którzy są wybitnymi w kryptografii XX wieku, Martin Diffie i Whitfield Hellman, wskazało, że algorytm, zatwierdzony przez NBS, będzie coraz bardziej narażony na atak, ponieważ sprzęt komputerowy zwiększył moc i obniżył koszty.

Słabość DES.

Jak pisze autor George Sassoon: “Chociaż zarówno Departament Handlu Stanów Zjednoczonych, jak i Zjednoczone Królestwo, energicznie to robią, wszyscy wiedzą, że NSA wymusiła zmniejszenie długości klucza DES o połowę, aby sami mogli złamać szyfry, nawet jeśli nikt inny nie byłby w stanie tego zrobić.” Chociaż NBS odrzucił taką krytykę, a NSA kategorycznie zaprzeczyła, że ​​stoją za wszelkimi próbami osłabienia szyfru, opinia ta uzyskała pewne wsparcie ze strony NSA w 1986 r., Kiedy agencja ogłosiła, że ​​nie będzie już poświadczać DEA z tytułu niesklasyfikowanego użycia, mniej niż 10 lat po zatwierdzeniu DES. Ten ruch był spowodowany szybkim rozwojem Komputery równoległe, które osiągają niesamowite możliwości przetwarzania, wykorzystując setki lub nawet tysiące procesorów pracujących równolegle. Maszyny te oferują ogromną moc przy znacznie niższych kosztach niż tradycyjne superkomputery. Być może NSA dostrzegł nieuchronność czegoś takiego jak EFF DES Cracker, który został zbudowany w 1998 roku za mniej niż 250 000 $ i złamał szyfrowaną wiadomość DES w mniej niż trzy dni. Oryginalny szyfr Lucyfera używał bloków danych 128-bitowych i klucza 112-bitowego. Gdyby to było przestrzegane w DEA, różnica w liczbie możliwych kombinacji klawiszy byłaby oszałamiająca. Chociaż 256, bieżący keyspace, jest liczbą większą niż 7 z 16 zerami za nim, 2112 jest większe niż 5, z 33 zerami za nim. Praktyczna konsekwencja tej słabości w DEA pozostała po stronie popytu na silniejsze algorytmy i pojawiły się obiecujące nowe, takie jak Blowfish Bruce’a Schneiera. Nadal istnieją pewne pozytywne aspekty DES, które sprawiają, że jest on opłacalny dla niektórych zastosowań komercyjnych. Jak wspomniano wcześniej, słabość kryptograficzna DES może być łatwo wzmocniona podwójnym szyfrowaniem, co podwaja trudność odszyfrowania, wnosząc to zadanie w sferę superkomputerów i specjalnie zbudowanych, masowo równoległych maszyn. Fakt, że DES jest standardem od tak dawna, oznacza, że ​​DES jest teraz dostępny w wielu formach, takich jak implementacje jednoukładowe, które można wstawić do gniazd ROM i zintegrować z wszelkimi urządzeniami, takimi jak karty rozszerzeń, karty PCMCIA, i karty inteligentne.

DES i nowoczesne szyfrowanie

Chociaż wykorzystywały XOR wcześniejsze komputery, fakt, że tak dobrze pracował z kodem binarnym zapewnił, że stałby się istotnym elementem nowoczesnego zestawu narzędzi kryptografa. I tak skupienie się tej części zamienia się w nowoczesną kryptografię i dwa najpowszechniej stosowane dziś kryptosystemy. Pierwszym z nich jest Data Encryption Standard (DES), a drugim jest Rivest, Shamir, Adleman (RSA).

Rzeczywiste ograniczenia.

Jak sugeruje poprzedni przegląd ewolucji szyfrowania, znaczące postępy, które są bardzo nieliczne, często wiążą się z osobami, które je stworzyły, takimi jak Vigen`ere, Playfair i Vernam, z których żaden nie miał korzyści z komputerów. Dzisiejsze skomputeryzowane systemy szyfrowania zazwyczaj wykorzystują szereg klasycznych technik, które po połączeniu eliminują lub minimalizują niedociągnięcia jakiejkolwiek pojedynczej metody. Omówimy tu kilka technik, w tym transpozycję i wirniki, które wskazują drogę do najczęściej stosowanego schematu szyfrowania do tej pory: DES. Najpierw jednak weź pod uwagę praktyczne problemy napotkane przez Vernama, który w inny sposób był genialny. Vernam zaproponował klucz, który był długim ciągiem losowych znaków. Zostało to zakodowane na pętli taśmy papierowej, która ostatecznie się powtórzyła (taśma zawierała około 125 znaków na stopę). Długość klucza spowodowała, że ​​kryptoanaliza przechwyconych wiadomości była niezwykle trudna, ale nie niemożliwa, ponieważ ostatecznie klucz został powtórzony. Przy wystarczającej ilości zaszyfrowanego tekstu kod poddałby się analizie częstotliwości. (Pamiętaj, że w czasie wojny, a nawet ćwiczeń wojskowych, setki tysięcy słów może być zaszyfrowanych dziennie, zapewniając solidną podstawę do kryptoanalizy).

Szyfr z kluczem jednorazowym.

Zaproponowano kilka ulepszeń, aby uniknąć niepraktyczności tworzenia po prostu dłuższych i dłuższych taśm z kluczami. Inny inżynier AT & T, Lyman Morehouse, zaproponował użycie dwóch kluczowych taśm o długości około ośmiu stóp, zawierających około 1000 znaków, w celu wygenerowania ponad 999 000 kombinacji znaków. który może zostać wprowadzony do procesu szyfrowania jako klucz. Była to poprawa pod względem praktyczności i bezpieczeństwa, ale, jak zauważył major Joseph Mauborgne z Korpusu Sygnałów Armii USA, ciężki ruch wiadomości zaszyfrowany w ten sposób nadal może zostać zdekodowany. To Mauborgne zdał sobie sprawę, że użyje jedynego niezłomnego szyfru klucze, które Kahn określa jako “nieskończone i bezsensowne”. 32 Tak więc wymyślił coś, co znamy jako system jednorazowy, jedyny niezniszczalny schemat szyfrowania. Jednorazowy system jest czasem nazywany jednorazowym padem 33, ponieważ jest to sposób, w jaki został on wdrożony przez agentów wywiadu w terenie. Agent jest wystawiony pad, który wyrównuje kolumny i wiersze całkowicie losowych znaków, jak pokazano na

Pierwsza litera tekstu jawnego jest szyfrowana przy użyciu odpowiedniego zaszyfrowanego tekstu z wiersza 1, druga litera jest szyfrowana z wiersza 2 i tak dalej. Wynikiem jest tekst zaszyfrowany, który nie zawiera statystycznej zależności od zwykłego tekstu. Po zaszyfrowaniu wiadomości pad zostaje zniszczony. Odbiorca, który ma kopię pada, używa jej do odwrócenia procesu i odszyfrowania wiadomości. Jednorazowy pad zasadniczo jest polialfabetycznym szyfrem zastępczym, ale z tą samą liczbą alfabetów, co znaki w komunikacie, w ten sposób pokonując wszelkie rodzaj analizy częstotliwości. Atak brute force zostaje pokonany przez fakt, że każdy możliwy wynik jest statystycznie istotny jak każdy inny. Jak wskazuje Kahn, czterocyfrowa grupa zaszyfrowanego tekstu mogłaby równie dobrze dać pocałunek, szybkość, powolność lub jakąkolwiek inną możliwą czteroliterową kombinację. Dlaczego więc nierozerwalny jednorazowy system nie jest uniwersalny? Cóż, pozostaje ulubieńcem agentów wywiadowczych w terenie, którzy od czasu do czasu potrzebują wysyłać krótkie wiadomości. Jednak w przypadku szyfrowania komercyjnego lub militarnego na dużą skalę, nie udało się rozwiązać problemu wielkości klucza, który system Vernama ujawnił. Klucz musi być tak duży, jak całkowita objętość zaszyfrowanych informacji, i istnieje stałe zapotrzebowanie na nowe klucze. Co więcej, zarówno nadawca, jak i odbiorca muszą trzymać i bronić identycznych kopii tego ogromnego klucza.

Transpozycja, wirniki, produkty i bloki. Zupełnie inną techniką od substytucji jest transpozycja. Zamiast zastępowania znaków zaszyfrowanych tekstem jawnym, szyfr transpozycji zmienia kolejność znaków w postaci zwykłego tekstu. Najprostszy przykład jest nazywany ogrodzeniem kolejowym. Na przykład, aby zaszyfrować “sprzedaj całe portfolio teraz i kupuj złoto”, każda postać jest zapisywana na alternatywnych liniach, tak jak poniżej:

sletrprflooadugl

elnieotoinwnbyod

co skutkuje tym zaszyfrowanym tekstem:

SLETRPRFLFLADADLELNIEOTOINWNBYOD

Jak dotąd nie stanowi to poważnego wyzwania. Bardziej wymagająca jest następna transpozycja do wierszy i kolumn ponumerowanych klawiszem (w tym przypadku 37581426), tak aby pierwszy zestaw znaków tekstu zaszyfrowanego miał mniej niż 1, drugi mniejszy niż 2 itd.:

keyplain1

Tekst zaszyfrowany: EROGTFALSRLDNTWOLPOUIONDEEIBLONY

Chociaż jest to bardziej złożone, transpozycja ta nadal ulegnie kryptoanalizie, ponieważ zachowuje charakterystykę częstotliwości liter tekstu jawnego. Analityk będzie również poszukiwał dwuznaków i trigrafii podczas zabawy z kolumnami i rzędami różnej długości. (Kahn opisuje francuskie łamacze kodów podczas I wojny światowej dosłownie przecinając

tekst na paski i przesuwanie ich w górę i w dół względem siebie, aby przełamać niemieckie szyfry transpozycji). To, co sprawia, że ​​transpozycja jest trudna do odczytania, jest dodatkowym etapem szyfrowania. Na przykład, jeśli poprzedni tekst zaszyfrowany jest ponownie uruchamiany przez system, używając tego samego klucza, wydaje się, że pozór wzorca zniknął.

keyplain2

Tekst zaszyfrowany: TNILAWNESLEFTOOOLOILODYRRPEGDUB

Rozwój coraz bardziej złożonych szyfrów wielowprowadzeniowych wskazywał na pozytywne efekty wielu etapów szyfrowania, które mają również zastosowanie do szyfrów zastępczych. Najlepszymi tego przykładami są maszyny wirnikowe używane przez Niemców i Japończycy podczas II wojny światowej. Niektóre spostrzeżenia zdobyte podczas ataku na niemieckie kodeksy, takie jak praca Alana Turinga z 1940 r. Dotycząca zastosowania statystyk informacyjnych do kryptoanalizy, uznano za tak ważne, że pozostawały one klasyfikowane przez ponad 50 lat. Chociaż ostatecznie zostali pokonani przez alianckie kryptoanalityki, systemy elektromechaniczne, takie jak Enigma, były nie tylko najbardziej wyrafinowanymi systemami szyfrowania przedsystemowego, ale również ich złamanie było głównym katalizatorem rozwoju samych systemów komputerowych. Kiedy ludzie zaczęli stosować systemy komputerowe do tworzenia kodu, a nie do łamania kodu, szybko wpadli na pomysł rozcinania zwykłego tekstu na kawałki lub bloki, aby ułatwić obsługę. Termin “szyfr blokowy” jest używany do opisywania szyfrów, które szyfrują jeden blok (na przykład 8 bajtów danych) na raz, jeden blok po drugim. Kolejnym rezultatem skomputeryzowania procesu szyfrowania jest klasa szyfrów znana jako szyfry produktu. Szyfr produktu został zdefiniowany jako “szyfr blokowy, który iteruje kilka słabych operacji, takich jak podstawianie, transpozycja, modułowe dodawanie / mnożenie [takie jak XOR] i transformacja liniowa.” Matematyka szyfrów produktu wykracza poza zakres tej części, ale warto zauważyć, że “[n] obody wie, jak udowodnić matematycznie, że szyfr produktu jest całkowicie bezpieczny. . . Szyfr produktu powinien działać jako funkcja “mieszania”, która łączy w sobie tekst jawny, klucz i tekst zaszyfrowany w złożony, nieliniowy sposób. “Części szyfru produktu, które wykonują rundy podstawienia, są nazywane S-boxami. Szyfr produktu o nazwie Lucyfer ma dwa z tych S-boxów, podczas gdy DES Szyfrowanie ma osiem S-boxów. Zdolność szyfru produktu do generowania prawdziwie losowego nieliniowego tekstu zaszyfrowanego zależy od starannego zaprojektowania tych S-boxów. Przykłady współczesnych szyfrów produktów obejmują Lucyfer (opracowany przez IBM), DES (opracowany przez IBM / NSA), LOKI (Brown, Pieprzyk i Seberry) oraz FEAL (Shimizu i Miyaguchi). Klasa szyfrów Feistel działa na połowie zaszyfrowanego tekstu w każdej rundzie, a następnie zamienia połówki tekstu zaszyfrowanego po każdej rundzie. Przykładami szyfrów Feistela są Lucyfer i DES, oba są systemami komercyjnymi, będącymi przedmiotem następnej sekcji

Dodawanie XOR.

W 1917 r. Inżynier z AT & T Gilbert Vernam pracował nad projektem ochrony transmisji telegraficznych przed wrogiem. W tym czasie używano teleprogramów, opartych na wersji kodu Morse’a zwanego kodem Baudota, po francuskim wynalazcy. W kodzie Baudota każda litera alfabetu ma pięć jednostek, z których każda jest albo prądem elektrycznym, albo nieobecnością prądu, znanym jako znak lub przestrzeń. Na przykład litera a jest reprezentowana przez znak, znak, spację, spację, spację. W znaczeniu binarnym każda jednostka stanowi bit, który jest albo 0 albo 1 (pięciobitowy kod dla a byłby 11000). Ten system impulsów pozwalał urządzeniom teletropowym konwertować tekst na sygnały telegraficzne i z nich za pomocą klawiatury i dziurkowanej taśmy papierowej do wprowadzania danych (otwór stanowi znak, ponieważ umożliwia urządzeniu odczytowemu nawiązanie kontaktu elektrycznego i utworzenie impulsu, podczas gdy przestrzeń jest reprezentowana pozostawiając papier nienaruszony). Każdy, kto ma odpowiednią maszynę, mógłby przechwycić i odczytać transmisję. 32 możliwe kombinacje (25) w tym kodzie zostały przypisane do 26 liter i sześciu “przecięć”, które wykonały różne rzeczy, takie jak przesunięcie do wielkich liter lub przejście do następnej linii. Doskonałym pomysłem Vernama było użycie taśmy z losowymi postaciami w kodzie Baudota jako klucza, który można elektromechanicznie dodać do zwykłego tekstu. Kahn opisuje metodę dodawania w ten sposób: jeśli impulsy klawiszy i tekstu jawnego są znakami lub obydwiema spacjami, impuls zaszyfrowanego tekstu będzie spacją. Jeśli impuls klawisza jest spacją, a impuls tekstowy jest znakiem, lub odwrotnie (innymi słowy, jeśli oba są różne), zaszyfrowany tekst będzie oznaczeniem.31 Obecnie jest to znane jako Exclusive – lub czasami w skrócie określane jako bitowe XOR lub po prostu XOR

XOR jest szeroko stosowany w komputerowych programach szyfrujących. Zastanów się, co dzieje się podczas kodowania litery a, używając B jako klucza:

Tekst Jawny: 1 1 0 0 0 (= a)

Klucz: 1 0 0 1 1 (= B)

Tekst zaszyfrowany: 0 1 0 1 1

W pierwszej kolumnie 1 + 1 = 0, jak wskazano w Załączniku 7.8. Aby odszyfrować zaszyfrowany znak, po prostu wykonaj tę samą operację, ale dodaj zaszyfrowany tekst do klucza:

Tekst zaszyfrowany: 0 1 0 1 1

Klucz: 1 0 0 1 1 (= B)

Tekst Jawny: 1 1 0 0 0 (= a)

W momencie jego odkrycia, znaczenie tej metody tkwiło w jej zdolności do automatyzacji. Operator mógł wprowadzić tekst jawny i taśmy z kluczem do maszyny teletropowej, a następnie przesłać zaszyfrowaną wiadomość bez dalszych ludzkich danych wejściowych. Nie było wymagane przygotowanie offline. Co więcej, tak długo, jak odbiornik ma kluczową taśmę, teletropię na końcu odbiorczym automatycznie drukuje tekst jawny. To sprawiło, że system Vernama jako pierwszy zintegrował szyfrowanie z procesem komunikacji, co jest podstawową cechą systemów szyfrowania dla współczesnej komunikacji komputerowej.

 

Kryptoanaliza z początków XX wieku. Nadejście nowoczesności

Kryptografia rozpoczęła się wraz z wynalazkiem i rozwojem elektromagnetycznego systemu telegraficznego oraz wprowadzeniem kodu Morse’a. Samuel Morse wprowadził system kropek i kresek, które pozwalały na komunikację dalekosiężną w czasie rzeczywistym. Wyobraził sobie ten system jako środek bezpiecznej komunikacji. Inni będą musieli zaprojektować systemy do szyfrowania komunikacji telegraficznej. Anson Stager, opiekun Telegrafu Wojskowego USA podczas wojny secesyjnej, wymyślił 10 szyfrów dla armii Unii, które nigdy nie zostały złamane przez Konfederację. Użycie szyfrów telegraficznych i kodów kontynuowało się w dwóch wojnach światowych. W rzeczywistości jeden z najbardziej znanych wczesnych sukcesów kryptoanalizy spowodował wejście Stanów Zjednoczonych w I wojnę światową. Kiedy rozpoczęła się wojna, niemiecki transatlantycki kabel telegraficzny został przecięty przez Brytyjczyków, zmuszając wszystkie międzynarodowe komunikaty Niemiec do pokonania trasy. przez Wielką Brytanię przed wysłaniem na szwedzkie lub amerykańskie linie transatlantyckie.23 W 1917 r. “Brytyjscy kryptodzy odszyfrowali telegram od niemieckiego ministra spraw zagranicznych Arthura Zimmermanna do niemieckiego ministra w Meksyku, von Eckhardta. Obiecał on własności Meksyku nad terytorium należącym do Stanów Zjednoczonych (np. w Kalifornii), gdyby Meksyk przyłączył się do sprawy niemieckiej i zaatakował Stany Zjednoczone. Brytyjczycy poinformowali prezydenta Wilsona o swoim odkryciu, przekazując mu kompletny egzemplarz telegramu, w wyniku czego Stany Zjednoczone wypowiedziały wojnę Niemcom. Ten telegram stał się sławny w historii kryptoanalizy jako Telegram Zimmermanna. Druga wojna światowa odnotowała kilka zwycięstw aliantów nad potęgami Osi dzięki zastosowaniu zaawansowanych systemów kryptograficznych. Kilka z tych zwycięstw jest szerzej znanych i celebrytowanych niż pękanie niemieckiej maszyny szyfrującej Enigma, opisanej poniżej.  Po odszyfrowaniu telegramu Zimmermana podczas I wojny światowej i skutkom, jakie słabe szyfry wywarły na wynik tej wojny, Niemcy szukały nierozerwalnego szyfrowania i były zainteresowane wykorzystaniem automatyzacji i wykorzystaniem maszyn do zastąpienia tradycyjnych techniki papierowe i ołówkowe. Maszyna Enigma składała się z podstawowej klawiatury, wyświetlacza, który odsłoniłby literę tekstu szyfrującego, oraz mechanizmu szyfrowania takiego, że każda litera tekstu wprowadzona jako dane wejściowe za pośrednictwem klawiatury została przepisana na odpowiadającą jej literę tekstu szyfrowania. Maszyna miała konstrukcję modułową i zastosowano wiele dysków szyfrujących w celu udaremnienia prób analizy częstotliwości. Brytyjska grupa kryptoanalizy, przy pomocy grupy polskich kryptoanalityków, po raz pierwszy złamała Enigmę już na początku II wojny światowej, a niektóre z pierwszych zastosowań komputerów były do ​​zdekodowania szyfrów Enigmy przechwyconych od Niemców. Łamanie Enigmy było wielkim zwycięstwem aliantów, i aby nadal ją wykorzystywać, zachowywali to ukryli to w tajemnicy. Tak daleko, opisane schematy szyfrowania lub urządzenia mają zaszyfrowane wiadomości składające się ze słów i nic więcej. Jednak pojawienie się komputera, nawet w pierwotnej, podstawowej formie, zrewolucjonizowało kryptologię “w stopniu większym niż telegraf lub radio”. Większość postępów kryptologów od czasu Wojny Światowej dotyczyła lub wykorzystywała komputery. W ciągu ostatnich kilku dekad algorytmy kryptograficzne przeszły do ​​punktu, w którym ich ręczne obliczanie byłoby niewykonalne i  tylko komputery mogą wykonywać wymaganą matematykę. Opieranie się na komputerach poszerzyło informacje, które mogą korzystać z szyfrowania. Komputery używają unikalnego języka, który przekształca wszystkie informacje przechowywane na bity, każde o wartości 1 lub 0. “W rzeczywistości oznacza to że tekst jawny ma formę binarną i może być czymkolwiek; zdjęcie, głos, e-mail, a nawet wideo – nie ma znaczenia, ciąg bitów binarnych może reprezentować dowolne z nich. “

Polialfabetyczny szyfr zastąpieniowy

Nawet jeśli tekst jawny używa szerszego zakresu liter niż przykład, szyfry zastępcze mogą być łamane przez analizę częstotliwości. Mocną techniką jest koncentracja na częstotliwości dwuliterowych kombinacji, znanych jako digrafy, z których najpowszechniejszym językiem w języku angielskim jest “TH”. Jednym ze sposobów przeciwdziałania analizie częstotliwości jest użycie wielu zamienników dla częstszych liter. Nie można tego zrobić za pomocą prostego kodowania alfabetycznego. Jednakże, jeśli używasz liczb dla liter, możliwe jest przypisanie wielu liczby do niektórych liter, np. 13 17 19 23 dla E, które pomogłyby w rozrzedzeniu naturalnej częstotliwości tego listu. Wydaje się, że dostarczanie wielu substytucji, znanych jako homofony, proporcjonalnie do częstotliwości każdej litery, skutecznie przeciwdziała analizie częstotliwości. Jednak niektóre z podstawowych struktur tekstu jawnego wciąż istnieją, w szczególności digraphy, których kryptoanalityk może użyć do złamania kodu. W Europie w średniowieczu postępy w dziedzinie kryptografii wprowadzały państwa papieskie i włoskie miasta-państwa, aby chronić wiadomości dyplomatyczne. Następnie, w 1379 roku, Włoch Gabriele de Lavinde stworzył pierwszy europejski podręcznik kryptografia. “Ten podręcznik, teraz w archiwach Watykanu, zawiera zestaw kluczy dla 24 korespondentów i obejmuje symbole dla liter, wartości null i kilku dwuliterowych odpowiedników kodu dla słów i nazw.” 15 Nazewnictwo opisane w podręczniku Lavinde ” rządził całą Europą i Ameryką przez następne 450 lat” . Kilka innych godnych uwagi postępów pojawiło się w Europie w okresie podręcznika Lavinde. Po pierwsze, w 1470 roku Leon Battista Alberti opublikował pierwszy opis dysku szyfrującego. Następnie, w 1563 roku, Giambattista della Porta dostarczył pierwszy przykład digraficznego szyfrowania, w którym dwie litery są reprezentowane przez jeden symbol. Jedną z metod zmniejszania zakresu, w którym struktura tekstu jawnego odbija się w zaszyfrowanym tekście, jest szyfrowanie wielu liter. tekst jawny. Na przykład “AR” może być zaszyfrowane jako “CM”. Jest to teoria kryjąca się za tak zwanym szyfrem Playfair, który został wynaleziony w 1854 roku przez brytyjskiego naukowca, Sir Charlesa Wheatstone’a, ale został nazwany na cześć jego przyjaciela Barona Playfaira którzy walczyli o jej przyjęcie przez brytyjskie Ministerstwo Spraw Zagranicznych. Chociaż szyfr Playfair pozostawał w użyciu podczas obu wojen światowych, nie robi wystarczająco dużo, aby ukryć tekst jawny i nie może wytrzymać uzgodnionej analizy częstotliwości.

Szyfr Vigen`ere. Szczególnie ważna technika w ewolucji szyfrów polialfabetycznych ma swoje korzenie w XVI wieku. W 1586 Blaise de Vigen’ere opublikował kwadratowy stół do szyfrowania / odszyfrowywania, nazwany od niego jako Vigenere. Kwadrat i opisy pierwszych systemów autokwittyzowanego tekstu jawnego i szyfrowanego. Szyfr Vigen’a to tablica liter, taka jak ta pokazana w

które są używane z kluczem do zapewnienia różnych substytucji monoalfabetycznych, gdy szyfrowanie przebiega przez zwykły tekst. Zatem każda litera zaszyfrowanego tekstu ma inną relację z tekstem jawnym, tak jak poniżej:

Klucz: doomsdaydoomsdaydoomsdaydoomsday

tekst jawny: sellentireportfolionowandbuygold

szyfrogram: VSZXWQTGJIAZVGYWCMDBFPFBOJIKUKLQ

Wiadomość jest szyfrowana, patrząc na wiersz w tabeli rozpoczynający się od pierwszej litery klucza. Następnie idź wzdłuż tego rzędu, aż kolumna będzie kierowana pierwszą literą tekstu jawnego. Substytucja zaszyfrowanego tekstu jest literą na tym przecięciu w tabeli. Zatem rząd d, kolumny s, daje V. Następnie przejdź do drugiej litery i tak dalej. Uwaga że za pierwszym razem, gdy litera e jest zaszyfrowana, szyfrowana jest S, ale za drugim razem jest W. Dwa ls w sprzedaży są zakodowane odpowiednio jako Z i X, i tak dalej. Czy ten szyfr całkowicie przesłania strukturę zwykłego tekstu? Stallings zauważa: “Jeśli dwie identyczne ciągi liter w postaci zwykłego tekstu występują w odległości będącej całkowitą wielokrotnością długości słowa kluczowego, wygenerują identyczne sekwencje tekstu zaszyfrowanego.” Oznacza to, że kryptoanalityk może określić długość słowa kluczowego. Po wykonaniu tej czynności szyfr można traktować jako pewną liczbę podstawień monoalfabetycznych, których liczba jest równa długości klucza. Tabele częstotliwości są ponownie uruchamiane, a kod może zostać złamany. Odpowiedź kryptografa na tę słabość polega na użyciu dłuższego klucza, który powtarza się rzadziej. W rzeczywistości jedna technika, autokey, wymyślona przez Vigen`ere, polega na utworzeniu klucza z samego tekstu jawnego, wraz z jednym słowem kodowym, takim jak ten

Klucz: doomsdaysellentireportfolionowan

tekst jawny: sellentireportfolionowandbuygold szyfrogram: VSZXWQTGJIAZVGYWCMDBFPFBOJILUKLQ

Kryptoanaliza Brute Force.

Następną rzeczą, na którą warto zwrócić uwagę na szyfr Cezara, jest to, że używając alfabetu angielskiego istnieje 26 możliwych kluczy. Oznacza to, że ktoś przechwytujący zaszyfrowaną wiadomość mógł zamontować standardową formę ataku znaną jako kryptoanaliza brutalna. Ta metoda uruchamia możliwe klucze za pomocą algorytmu deszyfrowania do czasu znalezienia rozwiązania. Statystycznie rzecz biorąc, właściwy klucz zostaje osiągnięty po przetestowaniu tylko połowy wszystkich możliwych kluczy. W

tabela arkusza kalkulacyjnego wyszczególnia atak brute force na szyfrogram Caesara. W tym przykładzie tekst jawny pojawia się w wierszu 6, klucz nr 3. Pamiętaj, że do ataku są wymagane trzy informacje, a wszystkie trzy są odpowiednie do szyfrowania na komputerach osobistych:

1. Znajomość zastosowanego algorytmu szyfrowania

2. Liczba możliwych kluczy

3. Język tekstu jawnego

Korzystanie z komputera w biurze nieco odbiega od wysyłania wiadomości na polu bitwy (przynajmniej w dobrym dniu). W przeciwieństwie do szpiega wroga, ktoś, kto próbuje uzyskać nieautoryzowany dostęp do danych, ma już dość dobre pojęcie o tym, który algorytm jest używany. (Jest ich stosunkowo niewiele i często są bezpośrednio związane z konkretnymi aplikacjami). Zajmuje się pierwszym elementem. Podstawową przeszkodą w ataku z użyciem siły jest drugi element, liczba kluczy. W przypadku szyfru Caesara liczba możliwych kluczy jest stosunkowo niewielka, a więc praca związana z przenoszeniem że atak może zostać zakończony bardzo szybko, co jest bardzo znaczące. Czas jest często najważniejszym czynnikiem w praktycznym kryptoanalizie. Możliwość odszyfrowania wiadomości w ciągu 24 godzin jest mało przydatna, jeśli informacje dotyczą zdarzeń mierzonych w minutach, takich jak zamówienia na zakup i sprzedaż akcji lub uruchomienie nalotów. Jeśli szyfr składa się w całości z przypadkowych substytucji listowych, takich jak to:

Plaintext: abcdefghijklmnopqrstuvwxyz

Tekst zaszyfrowany: UTWFRAQOYSEDCKJVBXGZIPHLNM

Liczba możliwych kluczy (przestrzeń kluczy) wynosi teraz 26 !, czyli ~ 4,03 × 1026, co wygląda na jeszcze bardziej zniechęcające, gdy jest napisane:

403 291 461 126 606 000 000 000 000

Wyobraźmy sobie brutalny atak siłowy przy użyciu komputera, który może wykonać 1 milion odszyfrowania na mikrosekundę (znacznie więcej chrupania numerów niż przeciętny komputer osobisty może wykonać). Korzystanie z pojedynczego procesora może zająć ponad 10 milionów lat, aby wykonać brutalny atak na ten kod. Na szczęście dla łamacza kodu istnieją inne sposoby łamania szyfrów zastępczych, jak to omówiono za chwilę. Chodzi o to, że podczas gdy ataki brutalną siłą są możliwe, nie zawsze są one praktyczne. Chociaż prawdą jest, że przez centralne twierdzenie graniczne statystyki, najbardziej prawdopodobna liczba prób wymaganych do trafienia na prawidłowy klucz stanowi połowę całkowitej przestrzeni kluczy, średnia redukcja o współczynnik 2 jest znikoma w obliczu okresów obliczeniowych mierzony w latach i trudność w rozpoznawaniu jasnego tekstu w bagnie niewłaściwych odszyfrowań. Funkcjonalnie ataki typu brute force zależą od tego, który algorytm szyfrowania znajduje się za zaszyfrowanym tekstem. W praktyce zależą one od wykonalności sukcesów w odpowiednim czasie. Zależą one również od trzeciej informacji z powyższej listy: znajomość języka tekstu zwykłego. Rozwiązanie szyfru Caesar w Exhibit 7.5 ma tendencję do wyskakiwania, ponieważ jest bliższe zwykłemu angielskiemu niż jakiekolwiek inne rozwiązanie. Jednak bez znajomości tego, co stanowi tekst jawny, a brutalny atak siłowy będzie w najlepszym razie nieefektywny, aw najgorszym razie nieskuteczny. Ta część kryptoanalizy, rozpoznająca wynik pozytywny, jest mniej podatna na automatyzację niż jakakolwiek inna. Trudność jest potęgowana przez szyfrowanie czysto liczbowych wyników, gdzie poprawny tekst jawny może być niemożliwy do ustalenia bez rozległej dodatkowej wiedzy.

Monoalfabetyczny szyfr zastąpieniowy.

Zarówno szyfr cezara, jak i losowy szyfr zastępczy są przykładami szyfrów monoalfabetycznych. Oznacza to, że jedna litera zaszyfrowanego tekstu oznacza jedną literę tekstu zwykłego. Powoduje to, że takie kody podatne na atak różnią się od brutalnej siły. Przypuśćmy, że funkcjonariusz celny spróbuje odkryć, kiedy i jak nielegalna dostawa broni wejdzie do kraju. Następująca wiadomość jest przechwytywana:

YZYGJ KZORZ OYXZR RKZRK XUXRJ XRZXU YKQQQ

Osoba, która zakodowała ten tekst, wyraźnie zastąpiła nowe litery oryginalnych liter wiadomości. Dla doświadczonego łamacza kodów lub kryptoanalityka zadanie odszyfrowania tej wiadomości jest dość proste. Najpierw policz ile razy pojawia się każda litera w tekście. W ten sposób powstaje lista taka jak ta:

Tekst zaszyfrowany: R Z X Y K J U O G

Częstotliwość: 6 6 5 4 4 2 2 2 1

Zwróć uwagę, że ostatnie trzy litery są dyskontowane, ponieważ są po prostu wypełnianiem grupowania pięciu liter. Następnie odwołaj się do tabeli częstotliwości, która pokazuje względną częstotliwość, z jaką litery alfabetu występują w określonym języku lub dialekcie tego języka. Jedna taka lista jest pokazana w

 

Ta lista została stworzona dla tego przykładu i proponuje, że najczęściej używanymi literami w języku angielskim w malejącej kolejności częstotliwości są e, t, r i tak dalej. Rzeczywista kolejność to prawdopodobnie e, t, a, i, o, n, s, h, r, d, l, u, kolejność kluczy na angielskiej maszynie Linotyp z XIX wieku, chociaż dokładna kolejność częstotliwości mogą się różnić w zależności od regionu pochodzenia lub przedmiotu tekstu.

Zakładając, że oryginalna wiadomość jest w języku angielskim, łatwo można uzyskać listę, która dopasowuje litery kodów do liter w postaci zwykłego tekstu.

Tekst zaszyfrowany: R Z X Y K J U O G

Częstotliwość: 6 6 5 4 4 2 2 2 1

Prosty tekst: e t r i n o h s

Wynik to:

Tekst zaszyfrowany: YZYGJ KZORZ OYXZR RKZRK XUXRJ XRZXU YKQQQ

Plaintext: itiso nthet hirte enten rareo retra inqqq Można to odczytać jako “znajduje się na trzynastce dziesięciu rzadkich pociągów rudy”. Chociaż ten przykład był oczywiście wymyślony, by to podkreślić, wyraźnie ilustruje ważne narzędzie kryptograficzne, które może szybko odszyfrować coś, co na pierwszy rzut oka wydaje się bardzo nieprzyjemne. Szyfrowanie w poprzednim przykładzie mogło być oparte na prostym szyfrze zastępowania. Na przykład po użyciu hasła “TRYB”, po którym następuje zwykły

alfabet, bez liter w haśle dla zwykłego tekstu, zaszyfrowany tekst jest alfabetem zapisanym wstecz:

Plaintext: TRICKABDEFGHJLMNOPQSUVWXYZ

Tekst zaszyfrowany: ZYXWVUTSRQPONMLKJIHGFEDCBA

Analiza częstotliwości działa również, jeśli podstawienie jest całkowicie losowe, tak jak w przykładzie pokazanym wcześniej, którego klucz jest całkowicie losowy. Specjalistyczne narzędzia, takie jak tablice częstotliwości, które są wymagane do łamania kodów, wskazują na podstawowy kompromis: jeśli wymagany jest podstawowy poziom ochrony, łatwo jest go uzyskać, ale także łatwo go złamać, przynajmniej dla eksperta. Kwalifikacja “dla eksperta” jest ważna, ponieważ użytkownicy szyfrowania muszą zachować swoją rolę w perspektywie. Najważniejsze pytania to: Kto może zyskać dzięki odszyfrowaniu danych i jakie środki mają do dyspozycji? Nie ma sensu inwestowanie w potężny sprzęt lub oprogramowanie szyfrujące, jeśli ci próbują czytać

Twoje pliki nie są szczególnie wyrafinowane, dedykowane lub dobrze wyposażone. Na przykład osoba, która wysyła pocztówkę, wie, że może ją przeczytać każdy, kto ją zobaczy. Do tego celu można wykorzystać koperty, które nie są ostateczną poufnością, ale są szeroko stosowane i stosunkowo udane.

Podstawowa kryptografia

PODSTAWOWA KRYPTOGRAFIA. Celem kryptografii jest opracowanie systemów, które mogą szyfrować zwykły tekst w zaszyfrowanym tekście, który jest nieodróżnialny od czysto losowego zbioru danych. Oznacza to, że wszystkie możliwe odszyfrowane wersje danych, z wyjątkiem jednej, będą beznadziejnie niejednoznaczne, a żadna z nich nie będzie bardziej poprawna niż jakiekolwiek inne. Jednym z najprostszych sposobów tworzenia zaszyfrowanego tekstu jest przedstawienie każdego znaku lub słowa w zwykłym tekście za pomocą innego znaku lub słowa w zaszyfrowanym tekście, tak, że nie ma natychmiastowo widocznego związku między dwiema wersjami tego samego tekstu.

Wczesne szyfry.

Uważa się, że najwcześniejszy tekst wykazujący podstawowy atrybut kryptografii, po niewielkiej modyfikacji tekstu, wystąpił w Egipcie prawie 4000 lat temu. Skryba użył wielu nietypowych symboli, aby zmylić lub zasłonić znaczenie hieroglificznych napisów na grobie szlachcica o nazwisku Khnumhotep II. Uważa się również, że pierwszym skutecznym wojskowym użyciem kryptografii był prosty szyld transpozycyjny Spartan, który “Już w 400 rpne używano urządzenia szyfrującego, zwanego” scytale “do tajnej komunikacji między dowódcami wojskowymi.” Scytale było cylindrycznym lub stożkowym drążkiem z cienkim pasem ze skóry lub pergaminu owiniętego spiralnie. Wiadomość do ukrycia była napisana wzdłużnie bez pustych miejsc. Po rozplątaniu pergamin wydawał się nie zawierać nic prócz przypadkowych liter. Aby odczytać pergamin, odbiorca musiał mieć patyk o dokładnie takich samych wymiarach jak nadawca. Rozmieszczenie odpowiednich kodów dekodujących miało miejsce zanim dowódcy wojskowi odeszli na pole. Na przykład określona kombinacja sztyftu i paska może umożliwić tekst jawny:

atheniantroopswithionaysmarchofromereadynow

zostać podzielone na sześć rzędów ośmiu liter, które zostaną zapisane w zwiniętym ciągu aby rozebrać w ten sposób:

ateński

troopswi

rozcieńczony

aysmarch

ofromebe

teraz gotów

Wiadomość może pojawić się w scytale, jak pokazano schematycznie

Odczytanie nieopakowanego paska bez patyka spowoduje wygenerowanie tego zaszyfrowanego tekstu (pokazanego wielkimi literami):

ATTAORTRHYFEHOISREEONMODNPOAMYISNRENAWECBONIDHEW

“Pierwsze potwierdzone użycie [szyfru zastępczego] w sprawach wojskowych pochodzi od Rzymian.” W tym czasie Juliusz Cezar zakodował wszystkie swoje wiadomości, zastępując każdą literę literą trzy miejsca dalej. Na przykład litera może stać się literą d, litera b stanie się literą e, i tak dalej. Teraz nazywany Szyfrem Cezara, ten schemat jest najlepiej znany ze wszystkich algorytmów monoalchetycznych. Rozważ szyfr cezara zilustrowany w następnym porównaniu używając nowoczesnego alfabetu angielskiego, z literami alfabetu po prostu przesuniętymi o trzy miejsca.

Plaintext: abcdefghijklmnopqrstuvwxyz

Tekst zaszyfrowany: DEFGHIJKLMNOPQRSTUVWXYZABC

Aby zaszyfrować wiadomość, nadawca znajduje każdą literę wiadomości w alfabecie zwykłego tekstu i używa litery pod nim w alfabecie tekstu zaszyfrowanego. Tak więc jasny komunikat:

Czysty tekst: strzeż się przemarszów marszu

jest przekształcany w zaszyfrowaną wiadomość:

Tekst zaszyfrowany: EHZDUH WKH LGHV RI PDUFK

Ten rodzaj szyfrowania jest znany jako szyfr zastępczy. Chociaż szyfr Cezara jest stosunkowo prosty, szyfry zastępcze mogą być bardzo potężne. Większość przykładów szyfru Caesara przesuwa alfabet o trzy miejsca, jak pokazano, tak aby linia tekstu zaszyfrowanego zaczynała się od d, ale niektórzy autorzy sugerują, że Cezar mógł użyć innych liczb, więc termin “Szyfr Cezara” jest używany dla wszystkich szyfrów zgodnych z tym algorytmem (algorytm będący formułą lub receptą na rozwiązanie problemu). Ten poziom szyfrowania może wydawać się prymitywny, ale jest to ważny punkt wyjścia dla wielu następnych. Na przykład, jednym ze sposobów wizualizacji szyfru Caesara jest para pierścieni, jedna w drugiej, jak pokazano

Oba okręgi zawierają litery alfabetu. Jeśli jeden jest obrócony względem drugiego, wynikiem jest koło szyfrujące, coś dobrze przystosowanego do automatyzacji. W końcu tak się stało, najpierw mechanicznie, potem elektrycznie, a dziś cyfrowo. Automatyzacja ułatwia powtórzenie, a wiadomości zaszyfrowane za pomocą szyfru zastępczego mogą być trudniejsze do rozszyfrowania, jeśli zastosuje się wiele różnych podstawień. Tak więc koło kodu dostało miejsce w pieczęcie NSA, agencji rządowej USA, która ma największy wpływ na rozwój szyfrowania.

Bardziej tajemnicza terminologia.

Klucz lub hasło do szyfru Cezara przedstawione w ostatniej sekcji to liczba miejsc, w których alfabet został przesunięty, w tym przypadku trzy. Ponieważ klucz ten musi pozostać prywatny, aby wiadomość pozostała chroniona, musi zostać dostarczona do odbiorcy, aby wiadomość została zdekodowana lub odszyfrowana z powrotem do zwykłego tekstu. Dlatego szyfr cezara jest opisany jako algorytm klucza prywatnego, a także symetryczny algorytm szyfrowania, przy użyciu tego samego klucza prywatnego, który jest używany do szyfrowania i odszyfrowywania wiadomości. Algorytmy tego typu mogą zostać pokonane przez kogoś, kto ma klucz, zaszyfrowaną wiadomość i znajomość użytego algorytmu. Może to brzmieć jak stwierdzenie tego, co oczywiste; jednak, jak zobaczymy w dalszej części tego rozdziału, istnieją algorytmy szyfrowania, które wykorzystują klucze, które można jawnie wymieniać bez udostępniania danych zaszyfrowanych. Znajomość zastosowanego algorytmu często można uzyskać lub poddać inżynierii wstecznej analizie jego wydajności. Innym pozornie oczywistym faktem jest to, że gdy używa się klucza prywatnego, aby osiągnąć poufność, jeden problem zostaje zamieniony na inny. Problem wymiany wiadomości przy zachowaniu zawartości od niezamierzonych odbiorców zostaje zastąpiony przez problem wymiany kluczy między nadawcą a odbiorcą bez ujawniania kluczy. Ten nowy problem jest znany jako problem wymiany klucza. Problem z wymianą kluczy zostanie bardziej szczegółowo zbadany później.

Podstawowa kryptoanaliza.

“Pierwszymi ludźmi, którzy zrozumieli wyraźnie zasady kryptografii i wyjaśnienia początków kryptoanalizy, byli Arabowie.” Do piętnastego wieku odkryli technikę analizy rozkładu częstotliwości liter i pomyślnie odszyfrowali grecką wiadomość w drodze do Cesarz bizantyjski. W 1492 roku człowiek znany jako al-Kalka-shandi opisał tę technikę w encyklopedii. Opisał także kilka technik kryptograficznych, w tym szyfru zastępczego i transpozycji. Wracając do szyfru Caesara, zastanów się, jak ten kod mógł zostać złamany przy pomocy nauki kryptoanalizy. Podczas badania przez pewien czas ten konkretny kod jest dość przejrzysty. Jak tylko kilka liter zostanie poprawnie zidentyfikowanych, reszta zostanie wprowadzona. Na przykład, ponieważ “the” jest najczęściej używanym trzyliterowym słowem w języku angielskim, testowanie “XLI” względem “the” ujawnia, że ​​każda litera tekstu jawnego ma ustalony związek z zaszyfrowanym tekstem: przesunięcie trzech w prawo. Jeśli ta różnica zostanie zastosowana do reszty komunikatu, wynikiem jest fragment tekstu jawnego, który jest zrozumiały, a zatem zakłada się, że jest poprawnym rozwiązaniem problemu. Jednak nawet w tym prostym przykładzie działa szereg wyrafinowanych procesów i założeń; zasługują na większą uwagę, zanim przyjrzą się bardziej skomplikowanym kodeksom. Po pierwsze, test “the” przeciwko “XLI” zakłada, że ​​tekst jawny jest angielski i że atakujący ma szczegółową wiedzę o tym języku, na przykład częstotliwość niektórych słów. Po drugie, zakłada się, że zaszyfrowany tekst podąża za tekstem jawnym pod względem słów. Zazwyczaj tak nie jest. Tekst zaszyfrowany jest zwykle pisany blokami liter o jednakowej długości, aby je dalej ukryć, jak w:

Tekst zaszyfrowany: EHZDU HWKHL GHVRI PDUFK

Gdy odbiorca wiadomości odszyfrowuje go, wynik, choć nie jest dokładnie łatwy do odczytania, jest jednak całkowicie zrozumiały:

Plaintext: bewar ethei desof march Zwróć także uwagę na konwencję ignorowania przypadku pojedynczych liter i umieszczania całego tekstu jawnego małymi literami, podczas gdy cały tekst zaszyfrowany jest wielkimi literami.