[Powered by Google Translate] [Vigenère Cipher] [Nate Hardison - Harvard University] [To jest CS50. - CS50.TV] Poznajcie Alice. Alicja ma zakochanej w Boba. Na szczęście dla Alice, Bob też ma oczy dla niej. Niestety ich początkujący romans, nie tylko rodzice Alicji pochwalam Boba, Ale Alice najlepszym przyjacielem, Evelyn, ma tajny podobasz Bob i egoistycznie chce zachować je od siebie za wszelką cenę. Aby wysyłać grypsy do siebie, że rodzice Alicji nie może zrozumieć, Alicja i Bob są za pomocą szyfru Cezara, która działa poprzez przesunięcie alfabetu przez pewną liczbę listów jako sposób, aby wygenerować nowy alfabet. Każda litera w oryginalnym alfabetu następnie podstawione przez odpowiednie znaki w nowych alfabetu przesunięty. Ulubiona liczba Alicji jest 3, co Bob wie, więc ona używa 3 jako jej klucz. Kiedy przesuwa alfabetu angielskiego przez 3 liter, Staje się D, B staje E, C to F, i tak dalej. Kiedy dojdzie do końca alfabetu - do liter X, Y, i Z - ona tylko otacza z powrotem do początku alfabetu i substytuty X z A, Y, z B i Z z C. Więc kiedy Alice idzie do zaszyfrowania jej tajną wiadomość do Boba, mianowicie "Spotkajmy się w parku o jedenastej przed południem" ona po prostu sprawia, że ​​odpowiednie podstawienia. M staje się P, E staje się H, i tak dalej, aż ją niezaszyfrowane zwykły SMS jest włączony do zaszyfrowanego tekstu szyfr: "Phhw ph dw WKH sdun dw hohyhq dp" na pewno nie jest najbardziej romantyczny brzmiące, ale Alice uważa, że ​​będzie to robić. Alice daje wiadomość Evelyn dostarczyć do domu Boba. Ale Evelyn zamiast bierze z powrotem do jej pokoju i próbuje złamać kod. Jednym z pierwszych rzeczy jest Evelyn ogłoszeń litery H występuje 7 razy w komunikacie, wiele razy więcej niż w jakimkolwiek innym piśmie. Wiedząc, że litera E jest najczęściej w języku angielskim, występuje prawie 13% czasu, Zgaduje Evelyn, że H zostało zastąpione przez E w celu jak tajne wiadomości i stara się za pomocą klucza 3 do odszyfrowania. W ciągu kilku minut, Evelyn domyśla się planów Alicji i złośliwie nazywa Alice rodziców. Gdyby Alicja i Bob podjęte CS50, oni wiedzą o tym Analiza częstotliwości ataku na szyfr Cezara, co pozwala mu być podzielone dość szybko. Będą również wiedzieć, że szyfr jest łatwo podlegają ataku brute-force, której Evelyn mogłaby próbowałem wszystkich możliwych 25 klawiszy, lub przesunięcia alfabetu angielskiego, w celu odczytania wiadomości. Dlaczego 25 klawiszy, a nie 26? Cóż, spróbować przeniesienie żadnego listu o 26 pozycji, a zobaczysz dlaczego. Zresztą, brute-force attack wziąłby Evelyn nieco dłużej ale nie na tyle długo, aby powstrzymać ją od udaremnianiem Alicja i Bob planów, zwłaszcza gdy Evelyn ma pomocy komputera które można zgrać przez wszystkie 25 przypadków, w jednej chwili. Tak, ten problem również boryka innych, którzy korzystali z Cezara szyfru, i dlatego ludzie zaczęli eksperymentować z bardziej skomplikowanych szyfrów podmiany że użycie wielu wartości przesunięcia, a nie tylko jednego. Jeden z najbardziej znanych z nich nazywany jest szyfrem Vigenère. Jak dostajemy wiele wartości Shift? Cóż, zamiast numeru jako klucza, używamy słowo klucz. Użyjemy każdej litery w kluczu do generowania numeru, a efekt jest, że będziemy mieć wiele Caesar szyfr stylu klawiszy do przesuwania listy. Zobaczmy, jak to działa poprzez szyfrowanie wiadomości Alicji do Boba: Spotkajmy się w parku o jedenastej przed południem Osobiście myślę bekon jest pyszny, użyjmy więc, że jako klucz. Jeśli weźmiemy wiadomość w postaci niezaszyfrowanej, zwykły tekst, widzimy, że jest to 25 liter. Bacon ma tylko 5 liter, więc trzeba powtarzać mu 5 razy aby go dopasować do długości zwykłego tekstu. Boczek boczek boczek boczek boczek. Krótki bok tak, jeżeli liczba liter w postaci zwykłego tekstu nie czysto przez podzielenie ilości liter w kluczu po prostu zakończyć ostateczną powtórzenia nasz klucz wcześnie, używając tylko liter nam potrzebne, aby wszystko dopasować. Teraz idziemy o znalezienie wartości odsunięcia. Mamy zamiar to zrobić przy użyciu pozycji każdej litery nasz klucz - Bacon - w A do Z alfabetu. Ponieważ jesteśmy informatycy, chcemy rozpocząć odliczanie do zera, zamiast 1, więc mamy zamiar powiedzieć, że pozycja pierwszego listu z boczkiem - B - jest w pozycji 1 w zerowej indeksowany do alfabet Z, 2 nie, i położenie nie jest zerem, 1. Za pomocą tego algorytmu, możemy znaleźć wartości odsunięcia dla każdego listu. Aby zaszyfrować zwykły tekst i wygenerować tekst zaszyfrowany, po prostu przesunąć każdą literę w postaci zwykłego tekstu przez określoną kwotę, tak jak my z szyfrem Cezara, owijanie od Z powrotem w razie potrzeby. M zostanie przesunięty o 1 miejsce się N. Pierwszy e nie przesunięciu, ale drugie przejście przez 2 E G miejsc i T od 14 miejsc do H. Jeśli będziemy pracować poprzez zwykły tekst, możemy skończyć z, "Negh ZF AV huf pcfx bt gzrwep uncji" Ponownie, nie bardzo romantyczny brzmiące ale zdecydowanie zagadkowych. Jeśli Alicja i Bob wiedział o Vigenère szyfru, byłyby one bezpieczne od wścibskich oczu Evelyn? Co o tym myślisz? Czy chcesz się zalogować na swoje konto bankowe, jeśli twój bank postanowił wykorzystać Vigenère szyfr do szyfrowania komunikacji przy użyciu hasła jako klucza? Gdybym była tobą, ja nie. I podczas gdy Evelyn może być zajęty na tyle długo, Alice i Bob, aby ich spotkać-up, to nie warto dla Alice i Bob przypadkowi to. Vigenère szyfr jest stosunkowo łatwo złamać, jeśli znasz długość klucza bo wtedy można traktować zaszyfrowanego tekstu szyfr jako produkt kilku przeplatających szyfry Cezara. Znalezienie długość klucza nie jest strasznie trudne, albo. Jeśli oryginalny zwykły tekst wiadomości jest wystarczająco długo, że niektóre słowa występują wiele razy, ostatecznie zobaczysz powtórzenia pojawiają się w zaszyfrowanym tekście szyfrów, jak w tym przykładzie, gdzie widzisz MONCY wyświetlane dwukrotnie. Dodatkowo można przeprowadzić ataku brute-force na szyfr. To robi się znacznie dłużej niż ataku brute-force na szyfr Cezara, , które mogą być wykonane z prawie natychmiast komputera ponieważ zamiast 25 przypadkach, aby sprawdzić, że masz 26 ⁿ - 1 możliwości, gdzie n jest długość klucza nieznanego. Jest tak, ponieważ każda litera w klucz może być dowolny z 26 liter A do Z, a osobą niską będzie próbował użyć klucza, którego nie można znaleźć w słowniku, co oznacza, że ​​trzeba by przetestować wszystkie dziwnych kombinacji liter, jak ZXXXFF, i to nie tylko kilkaset tysięcy słów w słowniku. Minus 1 wchodzi do matematyki, bo nie będzie chciał użyć klucza z tylko to, ponieważ z naszego alfabetu zerowej indeksowany, które daje ten sam efekt jak za pomocą szyfru Cezara z kluczem zera. Tak czy inaczej, 26 ⁿ - 1 robi się duży dość szybko, ale kiedy na pewno nie chcesz spróbować złamania szyfru przez strony w ten sposób, jest to z pewnością wykonalne z komputerem. Na szczęście dla Alice i Bob, i dla bankowości internetowej, kryptolodzy opracowali bardziej bezpieczne sposoby na szyfrowanie grypsy od wścibskich oczu. Jednak to temat na inny czas. Nazywam się Nate Hardison. To CS50.