Główna zawartość
Bezpieczeństwo w internecie
Kurs: Bezpieczeństwo w internecie > Rozdział 1
Lekcja 10: Techniki szyfrowania danych- Czym jest kryptografia?
- Szyfr Cezara
- Szyfrowanie i klucze publiczne
- Kryptografia klucza publicznego. Co to jest?
- Potrzeba szyfrowania
- Szyfrowanie, odszyfrowywanie i łamanie
- Techniki szyfrowania symetrycznego
- Szyfrowanie klucza publicznego
- Techniki szyfrowania danych
© 2023 Khan AcademyWarunki użytkowaniapolitykę prywatnościInformacja o plikach cookie
Techniki szyfrowania symetrycznego
Szyfrowanie symetryczne to dowolna technika, w której ten sam klucz jest używany do szyfrowania i odszyfrowywania danych. Szyfr Cezara jest jedną z najprostszych technik szyfrowania symetrycznego i oczywiście jedną z najprostszych do złamania.
Od tego czasu kryptolodzy wynaleźli wiele bardziej symetrycznych technik szyfrowania, w tym te, które są obecnie używane do szyfrowania danych, takie jak hasła.
Szyfr Vigenère’a
Francuscy kryptolodzy wynaleźli Szyfr Vigenère'a w połowie 1500 roku. Szyfr uważano za szczególnie mocny, a autor Lewis Caroll nazwał go nawet "niełamliwym" w 1868 roku. Był on rzeczywiście dużo lepszy niż szyfr Cezara, ale jak się przekonamy, na pewno można go złamać.
Szyfrowanie
Szyfr Vigenère'a używa całego słowa jako klucza przesunięcia, w przeciwieństwie do pojedynczego przesunięcia szyfru Cezara.
Wyobraźmy sobie, że chcemy zaszyfrować frazę
VERSAILLES
i użyć klucza przesunięcia CHEESE
.Po pierwsze, musimy powtórzyć klucz przesunięcia, aby wyrównać z każdą literą frazy:
Oryginalny tekst | V | E | R | S | A | I | L | L | E | S |
---|---|---|---|---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E | C | H | E | E |
Teraz zastępujemy każdą literę tekstu oryginalnego zgodnie z tabelą Vigenère'a:
Dla pierwszej litery "V" wybieramy wiersz, który zaczyna się od "V". Następnie, ponieważ odpowiednią literą klucza przesunięcia jest "C", przechodzimy do kolumny z nagłówkiem "C". Litera na przecięciu wiersza "V" i kolumny "C" to "X". Tak więc szyfrujemy "V" jako "X".
Oryginalny tekst | V | E | R | S | A | I | L | L | E | S |
---|---|---|---|---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E | C | H | E | E |
Zaszyfrowany tekst | X | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Litera na przecięciu wiersza "E" i kolumny "H" to "L", więc szyfrujemy "E" jako "L".
Oryginalny tekst | V | E | R | S | A | I | L | L | E | S |
---|---|---|---|---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E | C | H | E | E |
Zaszyfrowany tekst | X | L | ? | ? | ? | ? | ? | ? | ? | ? |
Jeśli będziemy kontynuować, otrzymamy zaszyfrowany tekst "XLVWSMNSIW".
Oryginalny tekst | V | E | R | S | A | I | L | L | E | S |
---|---|---|---|---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E | C | H | E | E |
Zaszyfrowany tekst | X | L | V | W | S | M | N | S | I | W |
Odszyfrowywanie
Wyobraź sobie, że otrzymujemy zaszyfrowaną wiadomość „NVYZJI” od naszego sojusznika i wiemy, że użyli szyfru Vigenère z kluczem przesunięcia „CHEESE”.
Po raz kolejny, zaszyfrowaną wiadomość uzupełniamy kluczem przesunięcia:
Zaszyfrowany tekst | N | V | Y | Z | J | I |
---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E |
Teraz możemy wykonać odwrotne podstawianie według tabeli:
Rozpoczynamy od wybrania wiersza dla pierwszej litery w kluczu przesunięcia "C". Następnie skanujemy ten wiersz, aż znajdziemy pierwszą zaszyfrowaną literę "N". Gdy znajdziemy "N", szukamy nagłówka tej kolumny, "L". Stąd rozszyfrowana litera "N" to "L".
Zaszyfrowany tekst | N | V | Y | Z | J | I |
---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E |
Oryginalny tekst | L | ? | ? | ? | ? | ? |
Dla następnej litery wybieramy wiersz "H", znajdujemy "V" w wierszu i patrzymy w górę, aby zobaczyć, że jesteśmy w kolumnie "O".
Zaszyfrowany tekst | N | V | Y | Z | J | I |
---|---|---|---|---|---|---|
Klucz przesunięcia | C | H | E | E | S | E |
Oryginalny tekst | L | O | ? | ? | ? | ? |
Jeśli zrobimy to dla każdego klucza przesunięcia i zaszyfrowanej litery, odszyfrujemy całe wyrażenie jako "LOUVRE".
Złamanie szyfru
Szyfr Vigenère'a jest typem szyfru polialfabetycznego i jest to kod trudniejszy do złamania niż szyfr Cezara ze względu na użycie całego słowa przesunięcia.
Jeśli przechwytujący nie wiedział, czym jest klucz przesunięć i chciał wykorzystać atak brute force do odszyfrowania, musiałby wypróbować wszystkie możliwe słowa przesunięć na świecie, a może nawet wymyślone słowa! Dla zwykłego śmiertelnika może to zająć całe życie. To o wiele więcej pracy niż szukanie szyfrów Cezara atakiem brute frocem, gdzie po prostu musieliśmy sprawdzić 26 różnych przesunięć.
A co z atakiem statystycznym? Czy wiadomości zaszyfrowane szyfrem Vigenere mają specjalny wzór w rozmieszczeniu liter?
Wypróbuj sam! Zaszyfruj wiadomość poniżej, a zobaczysz analizę częstotliwości oryginalnej wiadomości i zaszyfrowanej wiadomości.
Zwróć uwagę, że analiza częstotliwości oryginalnej wiadomości jest dokładnie taka, jakiej oczekujemy od wiadomości w języku angielskim: „E” jest najpopularniejszą literą, a częstotliwość liter jest bardzo zróżnicowana.
Częstotliwości zaszyfrowanej wiadomości są bardziej do siebie podobne. Nie możemy zidentyfikować oczywistego "E", ponieważ litera "E" jest szyfrowana na różne litery w różnych miejscach wiadomości.
W XIX wieku ludzie w końcu wymyślili różne sposoby wykorzystania analizy częstotliwości do złamania szyfru. Na przykład w długiej wiadomości krótkie słowo, takie jak „THE”, może zostać przetłumaczone na te same trzy zaszyfrowane litery wiele razy (tylko nie za każdym razem), co ujawnia możliwe długości klucza przesunięcia.
Teraz, gdy mamy do dyspozycji potężne komputery, szyfr Vigenère'a jest stosunkowo łatwy do rozszyfrowania, ponieważ komputer może szybko przetestować miliony słów i łatwo znaleźć wycieki informacji w ataku statystycznym.
Nowoczesne szyfry
W dobie komputerów szyfry nie mogą być trudne do złamania przez człowieka; muszą być trudne do złamania przez komputer, który potrafi wykonać tryliony obliczeń na sekundę.
Na szczęście kryptolodzy opracowali techniki szyfrowania, które są bezpieczne w świecie cyfrowym i co roku je udoskonalają.
Jednym z najczęstszych standardów szyfrowania jest AES-128, szyfr blokowy zatwierdzony przez rząd federalny i często wykorzystywany do bezpiecznego przesyłania plików.
Co czyni go tak bezpiecznym?
Jednym z powodów jest to, że każdy klucz ma zawsze 128 bitów. Oznacza to, że jest możliwych kluczy. To wynosi tyle:
Wow! Ale czekaj, to nie wszystko: szyfr AES wymaga zastosowania sekwencji 10 operacji matematycznych dla każdego bitu klucza. Pomnóż tę liczbę powyżej razy 10 i jest to liczba obliczeń, którą musiałby wykonać komputer.
Najszybszy komputer może obliczyć około operacji na sekundę. To wynosi tyle:
Najszybszy komputer nadal będzie potrzebował 500 trylionów lat, aby wypróbować każdy możliwy 128-bitowy klucz!
A co z analizą częstotliwości? To nie zadziała. Szyfr AES nie ujawnia żadnych informacji o tekście oryginalnym, dzięki wieloetapowej sekwencji operacji na blokach bitów.
Szyfr AES i inne nowoczesne szyfratory mogą nie być wiecznie bezpieczne. Naukowcy zajmujący się bezpieczeństwem poświęcają swój czas na próby znalezienia sprytnych sposobów złamania szyfru i prezentowania wyników na blogach i konferencjach.
Badania nad kryptografią są prowadzone w sposób jawny, z nadzieją, że opinia publiczna dowie się o naruszeniu bezpieczeństwa, zanim cyberprzestępca je odkryje.
🙋🏽🙋🏻♀️🙋🏿♂️Masz pytania związane z tym zagadnieniem? Możesz zadać swoje pytanie poniżej!
Chcesz dołączyć do dyskusji?
Na razie brak głosów w dyskusji