Szyfrowanie ma długą historię sięgającą czasów, gdy starożytni Grecy i Rzymianie wysyłali tajne wiadomości, zastępując tajnym kluczem litery tylko możliwe do odczytania. Dołącz do nas na krótką lekcję historii i dowiedz się więcej o tym, jak działa szyfrowanie.
W dzisiejszym wydaniu HTG Explains przedstawimy krótką historię szyfrowania, sposób jego działania oraz kilka przykładów różnych typów szyfrowania - zapoznaj się również z poprzednim wydaniem, w którym wyjaśniliśmy dlaczego tak wielu maniaków nienawidzi Internet Explorera .
Zdjęcie autorstwa xkcd oczywiście.
Wczesne dni szyfrowania
Starożytni Grecy używali narzędzia zwanego a
Scytale
aby pomóc w szybszym szyfrowaniu wiadomości za pomocą pliku
szyfr transpozycyjny
—Po prostu owijali pasek pergaminu wokół cylindra, zapisywali wiadomość, a wtedy, kiedy się rozwijali, nie miałoby to sensu.
Oczywiście ta metoda szyfrowania może zostać dość łatwo złamana, ale jest to jeden z pierwszych przykładów szyfrowania faktycznie używanego w prawdziwym świecie.
Juliusz Cezar stosował w swoim czasie nieco podobną metodę, przesuwając każdą literę alfabetu w prawo lub w lewo o kilka pozycji - technikę szyfrowania znaną jako Szyfr Cezara . Na przykład, używając poniższego przykładowego szyfru, napiszesz „GEEK” jako „JHHN”.
Zwykły: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Szyfr: DEFGHIJKLMNOPQRSTUVWXYZABC
Ponieważ tylko zamierzony odbiorca wiadomości znał szyfr, następnej osobie byłoby trudno odszyfrować wiadomość, co wyglądałoby na bełkot, ale osoba, która miała szyfr, mogłaby z łatwością ją rozszyfrować i przeczytać.
Inne proste szyfry szyfrujące, takie jak Polybius Square używany a szyfr polialfabetyczny który wymienił każdą literę z odpowiednimi pozycjami numerycznymi na górze i po bokach, aby określić, gdzie znajduje się litera.
Korzystając z tabeli takiej jak powyższa, literę „G” zapisałbyś jako „23” lub „GEEK” jako „23 31 31 43”.
Maszyna Enigmy
Podczas II wojny światowej Niemcy korzystał z maszyny Enigma przekazywać zaszyfrowane transmisje w tę iz powrotem, co zajęło wiele lat, zanim Polacy byli w stanie złamać wiadomości i dać rozwiązanie siłom aliantów, które odegrały kluczową rolę w ich zwycięstwie.
Historia współczesnego szyfrowania
Spójrzmy prawdzie w oczy: nowoczesne techniki szyfrowania mogą być niezwykle nudnym tematem, więc zamiast wyjaśniać je słowami, przygotowaliśmy komiks opowiadający o historii szyfrowania, zainspirowany dziełem Jeffa Mosera przewodnik stick figure do AES . Uwaga: najwyraźniej nie możemy przekazać wszystkiego na temat historii szyfrowania w komiksie.
W tamtych czasach ludzie nie mieli dobrej metody szyfrowania do zabezpieczenia komunikacji elektronicznej.
Lucyfer to imię nadane kilku najwcześniejszym cywilom szyfry blokowe , opracowany przez Horst Feistel i jego koledzy z IBM.
Data Encryption Standard (DES) to szyfr blokowy (forma współdzielonego tajnego szyfrowania), który został wybrany przez National Bureau of Standards jako urzędnik Federalny standard przetwarzania informacji (FIPS) dla Stanów Zjednoczonych w 1976 r., Który następnie był szeroko stosowany na całym świecie.
Obawy dotyczące bezpieczeństwa i stosunkowo powolne działanie DES w oprogramowaniu zmotywowały badaczy do zaproponowania różnorodnych alternatywnych projektów szyfrów blokowych, które zaczęły pojawiać się pod koniec lat 80. i na początku lat 90. RC5 , Rozdymka , POMYSŁ , NewDES , BEZPIECZNIEJSZY , CAST5 i FEAL
Algorytm szyfrowania Rijndael został przyjęty przez rząd Stanów Zjednoczonych jako standardowe szyfrowanie z kluczem symetrycznym lub Advanced Encryption Standard (AES). AES został ogłoszony przez National Institute of Standards and Technology (NIST) jako US FIPS PUB 197 (FIPS 197) w dniu 26 listopada 2001 r. Po 5-letnim procesie standaryzacji, w którym piętnaście konkurencyjnych projektów zostało zaprezentowanych i ocenionych, zanim Rijndael został wybrany jako najbardziej odpowiedni algorytm szyfrowania.
Wydajność algorytmu szyfrowania
Istnieje wiele algorytmów szyfrowania i wszystkie nadają się do różnych celów - dwie główne cechy, które identyfikują i odróżniają jeden algorytm szyfrowania od drugiego, to jego zdolność do zabezpieczania chronionych danych przed atakami oraz szybkość i skuteczność w tym.
Jako dobry przykład różnicy szybkości między różnymi typami szyfrowania, możesz użyć narzędzia do testów porównawczych wbudowanego w kreator tworzenia wolumenu TrueCrypt - jak widać, AES jest zdecydowanie najszybszym typem silnego szyfrowania.
Istnieją zarówno wolniejsze, jak i szybsze metody szyfrowania i wszystkie nadają się do różnych celów. Jeśli po prostu od czasu do czasu próbujesz odszyfrować niewielki fragment danych, możesz pozwolić sobie na użycie najsilniejszego możliwego szyfrowania, a nawet zaszyfrowanie go dwukrotnie za pomocą różnych typów szyfrowania. Jeśli potrzebujesz szybkości, prawdopodobnie wolałbyś skorzystać z AES.
Więcej informacji na temat testów porównawczych różnych typów szyfrowania można znaleźć w raporcie z witryny Washington University of St. Louis , gdzie przeprowadzili mnóstwo testów różnych procedur i wyjaśnili to wszystko w bardzo naukowym artykule.
Rodzaje nowoczesnego szyfrowania
Cały fantazyjny algorytm szyfrowania, o którym mówiliśmy wcześniej, jest głównie używany do dwóch różnych typów szyfrowania:
- Algorytmy klucza symetrycznego używaj powiązanych lub identycznych kluczy szyfrowania zarówno do szyfrowania, jak i deszyfrowania.
- Asymetryczne algorytmy klucza używaj różnych kluczy do szyfrowania i odszyfrowywania - jest to zwykle określane jako kryptografia klucza publicznego.
Szyfrowanie klucza symetrycznego
Aby wyjaśnić tę koncepcję, użyjemy metafory usługi pocztowej opisanej w Wikipedia aby zrozumieć, jak działają algorytmy klucza symetrycznego.
Alice umieszcza swoją tajną wiadomość w pudełku i zamyka je za pomocą kłódki, do której ma klucz. Następnie wysyła pudełko do Boba zwykłą pocztą. Kiedy Bob otrzymuje pudełko, używa identycznej kopii klucza Alicji (który w jakiś sposób uzyskał wcześniej, może dzięki spotkaniu twarzą w twarz), aby otworzyć pudełko i przeczytać wiadomość. Bob może następnie użyć tej samej kłódki, aby wysłać swoją tajną odpowiedź.
Algorytmy z kluczem symetrycznym można podzielić na szyfry strumieniowe i szyfry blokowe - szyfry strumieniowe szyfrują bity wiadomości pojedynczo, a szyfry blokowe pobierają pewną liczbę bitów, często w blokach po 64 bity na raz, i szyfrują je jako pojedynczą jednostkę. Możesz wybierać spośród wielu różnych algorytmów - wśród nich są bardziej popularne i szanowane algorytmy symetryczne Dwie ryby , Wąż , AES ( Rijndael ), Rozdymka , CAST5 , RC4 , TDES , i POMYSŁ .
Szyfrowanie asymetryczne
W asymetrycznym systemie kluczy Bob i Alicja mają oddzielne kłódki zamiast pojedynczej kłódki z wieloma kluczami z symetrycznego przykładu. Uwaga: jest to oczywiście znacznie uproszczony przykład tego, jak to naprawdę działa, co jest znacznie bardziej skomplikowane, ale otrzymasz ogólny pomysł.
Najpierw Alice prosi Boba o przesłanie jej otwartej kłódki zwykłą pocztą, zachowując klucz dla siebie. Kiedy Alicja go otrzyma, używa go do zablokowania skrzynki zawierającej jej wiadomość i wysyła zablokowane pudełko do Boba. Bob może następnie otworzyć skrzynkę swoim kluczem i przeczytać wiadomość od Alicji. Aby odpowiedzieć, Bob musi podobnie otworzyć kłódkę Alicji, aby zamknąć pudełko przed odesłaniem go do niej.
Krytyczną zaletą asymetrycznego systemu kluczy jest to, że Bob i Alicja nigdy nie muszą przesyłać sobie nawzajem kopii swoich kluczy. Uniemożliwia to osobie trzeciej (na przykład skorumpowanym pracownikiem poczty) skopiowanie klucza podczas jego przesyłania, umożliwiając tej stronie trzeciej szpiegowanie wszystkich przyszłych wiadomości przesyłanych między Alicją a Bobem. Ponadto, jeśli Bob był nieostrożny i pozwolił komuś innemu kopiować jego klucz, wiadomości Alicji do Boba zostałyby przejęte, ale wiadomości Alicji do innych osób pozostałyby tajne, ponieważ inne osoby zapewniałyby Alicji różne kłódki.
Szyfrowanie asymetryczne wykorzystuje różne klucze do szyfrowania i deszyfrowania. Odbiorca wiadomości tworzy klucz prywatny i klucz publiczny. Klucz publiczny jest rozprowadzany wśród nadawców wiadomości i używają oni klucza publicznego do szyfrowania wiadomości. Odbiorca używa swojego klucza prywatnego do wszystkich zaszyfrowanych wiadomości, które zostały zaszyfrowane przy użyciu klucza publicznego odbiorcy.
Szyfrowanie w ten sposób ma jedną zasadniczą zaletę w porównaniu z szyfrowaniem symetrycznym. Nigdy nie musimy wysyłać niczego tajnego (np. Naszego klucza szyfrowania lub hasła) przez niezabezpieczony kanał. Twój klucz publiczny jest udostępniany światu - nie jest tajny i nie musi nim być. Twój klucz prywatny może pozostać wygodny i przytulny na Twoim komputerze osobistym, na którym go wygenerowałeś - nigdy nie musi być nigdzie wysyłany e-mailem ani czytany przez osoby atakujące.
Jak szyfrowanie zabezpiecza komunikację w sieci
Od wielu lat SSL ( Warstwa bezpiecznych gniazd ) zabezpiecza transakcje internetowe za pomocą szyfrowania między przeglądarką a serwerem sieciowym, chroniąc Cię przed wszystkimi osobami, które mogą szpiegować w sieci w środku.
Sam SSL jest koncepcyjnie dość prosty. Rozpoczyna się, gdy przeglądarka żąda bezpiecznej strony (zwykle https: //)
Serwer sieciowy wysyła swój klucz publiczny wraz z certyfikatem.
Przeglądarka sprawdza, czy certyfikat został wystawiony przez zaufaną stronę (zwykle zaufany główny urząd certyfikacji), czy jest on nadal ważny i czy jest on powiązany z witryną, z którą się skontaktowano.
Następnie przeglądarka używa klucza publicznego do zaszyfrowania losowego symetrycznego klucza szyfrowania i wysyła go do serwera z wymaganym zaszyfrowanym adresem URL, a także innymi zaszyfrowanymi danymi http.
Serwer sieciowy odszyfrowuje symetryczny klucz szyfrowania za pomocą swojego klucza prywatnego i używa klucza symetrycznego przeglądarki do odszyfrowania adresu URL i danych http.
Serwer sieciowy odsyła żądany dokument HTML i dane http zaszyfrowane za pomocą klucza symetrycznego przeglądarki. Przeglądarka odszyfrowuje dane http i dokument html za pomocą klucza symetrycznego i wyświetla informacje.
A teraz możesz bezpiecznie kup ten przedmiot w serwisie eBay naprawdę nie potrzebujesz.
Nauczyłeś się czegoś?
Jeśli dotarłeś tak daleko, jesteśmy na końcu naszej długiej podróży do zrozumienia szyfrowania i trochę tego, jak to działa - zaczynając od wczesnych dni szyfrowania z Grekami i Rzymianami, powstaniem Lucyfera i wreszcie jak SSL wykorzystuje szyfrowanie asymetryczne i symetryczne, aby pomóc Ci kupić tego puszystego różowego króliczka w serwisie eBay.
W How-To Geek jesteśmy wielkimi fanami szyfrowania i omówiliśmy wiele różnych sposobów wykonywania takich rzeczy, jak:
- Pierwsze kroki z TrueCrypt (w celu zabezpieczenia danych)
- Dodaj automatyczne szyfrowanie witryn do przeglądarki Firefox
- BitLocker To Go szyfruje przenośne dyski Flash w systemie Windows 7
- Jak zabezpieczyć komputer z systemem Linux, szyfrując dysk twardy
- Dodaj opcje szyfrowania / odszyfrowywania do menu prawego przycisku myszy w systemie Windows 7 / Vista
- Pierwsze kroki z TrueCrypt Drive Encryption w systemie Mac OS X
Oczywiście szyfrowanie jest zbyt skomplikowanym tematem, aby naprawdę wszystko wyjaśnić. Czy przegapiliśmy coś ważnego? W komentarzach możesz podzielić się wiedzą z innymi czytelnikami.