, jeśli masz więcej niż kilka kart bankowych, klucze do drzwi wejściowych lub innych małych haseł numerycznych do zapamiętania, ostatecznie musi być kłopotliwe. Najgorsze, dla mnie, jest kartą bankową na konto biznesowe, którego używam raz na niebieskim księżycu. Prawdopodobnie używałem go osiem razy w ciągu pięciu lat, a potem dali mi nową kartę z nową szpilką. Westchnienie.

Szybki, jaki jest mój szpilka?
Jak normalna osoba radziłaby sobie z proliferacji szpilki? Zapiszeli liczby na kartce papieru i trzymali go w swoim portfelu. Wszyscy wiemy, jak to się kończy, prawda? Zaginiony portfel i wiele pustych kont bankowych. Jak haker go obsłuży? Napisz każdy numer na samej karcie, ale zaszyfrowany, naturalnie, z jedynym nieczystym schematem szyfrowania jest tam: jednorazowa podkładka (OTP).

OTP jest dziwną kaczką wśród metod szyfrowania. Oni mają być rozszyfrowane w twojej głowie, ale tak długo, jak tajemniczy klucz pozostaje bezpieczny, są solidnymi solidnymi. Jeśli kiedykolwiek próbowałeś kodować pola S i wszystkie dodawanie, przesuwanie i mieszanie, które trwa normalną metodę szyfrowania, OTPS są odświeżająco proste. Wolno jest “Długi” klucz, ale OTP jest absolutnie idealny do szyfrowania sworzni.

Pierwsza część tego artykułu wydaje się być przyjaznym “życiem” pablum, że dostaniesz gdzie indziej, ale nie rozpaczaj, to także wstęp do tylnych drzwi wprowadzających do OTP. Druga połowa nurkuje w jednorazowym wkładzie z niektórym głębokim intuicją Crypto, trochę przyjazną matematyką i miejmy nadzieję, że przekonujący argument, który napisał swoje zaszyfrowane szpilki, jest właściwa rzecz do zrobienia. Po drodze wymieniam trzy rzeczy, które możesz zrobić źle podczas implementacji OTP. (I żaden z nich nie zaszkodzi ci!) Ale w końcu rozwiązanie szyfrowania sworznia pędzi jedną z trzech i pozostanie jednak dźwięk. Ciekawy jeszcze? Czytaj.

Rozwiązanie PIN.

Najpierw rozwiązanie problemu z kartami bankowymi: Napisz kod PIN zaszyfrowany w tajemnicy, którą tylko wiesz. Zamiast zapamiętać czterocyfrowy numer dla każdej nowej karty, wystarczy potrzebować jednej czterocyfrowej liczby na zawsze. Kluczem jest wybór schematu szyfrowania, który jest wystarczająco łatwy do cofnięcia, aby nie wyglądał zbyt dziwnie, gdy zostaniesz poproszony, gdy zostaniesz poproszony o wpisanie pinka w oknie kasjera Banku. Jest to klasyczne użycie OTP – szyfrowanie, które można cofnąć w głowie.

Najpierw, losowo wybierz tajną czterocyfrową liczbę. Następnie odejmij tę liczbę z PIN i napisz wynik na swojej karcie. Aby uzyskać szpilkę, stojąc przed kasjerem banku, po prostu spójrz na kartę i dodaj tajną liczbę z powrotem. Teller pomyśli, że napisałeś swój sworzeń na karcie. czuć się swobodnie czuć się zadowolony, ponieważ użyłeś nieznowego schematu szyfrowania.

Zamiast normalnego dodawania i odejmowania, z przenoszeniem i pożyczaniem przez cyfry, będziesz chciał użyć Modulo-10 matematyki – dodawanie lub odejmowanie dziesięciu z wyniku w dowolnym momencie dostaje się poza zakresem 0-9. Porozmawiamy o tym, dlaczego poniżej, ale na razie tutaj jest przykładem pracy.

Załóżmy, że pin jest 1234 – musi się tak się zdarzyć, prawda? – a moja losowa tajemnica ma naturalnie 1337. Szyfrujmy. Odejmowanie 1 od 1 daje zero, więc piszę to w dół. Odejmowanie 3 od 2 daje -1, w którym znajduje się arytmetyka Modulo-10. W tym przypadku -1 włącza się do 9, dodając dziesięć. 3 – 3 = 0 i 4 – 7 = 7, MOD-10. Moja karta ma teraz 0907 napisanych na nim.

Teraz odszyfitujmy. Patrząc na kartę, widzę 0 i dodaj 1. 9 + 3 = 12, więc będziemy musieli odjąć dziesięć do zdobycia 2. (to powód, aby wybrać dodatek do etapu deszyfrowania, łatwo jest tylko po prostu Upuść dowolny czołowy 1s.) 0 + 3 = 3 i 7 + 7 = 14 -> 4 <. Wpisz 1234, a pieniądze są moje! Po otrzymaniu dodawania tajnego numeru do dowolnej innej liczby, cyfra Mod-10, będziesz zaskoczony, jak szybko będzie działać. Wypróbuj go i sprawdź, czy dobrze się w nim stajesz w ciągu dziesięciu minut. Jednorazowe podkładki Jednorazowa wkładka jest zarówno najprostszym schematem szyfrowania symetrycznym, jak i całkowicie niezniszczalnym. Ma trzy kluczowe funkcje, z których dwa zostały wykazane powyżej, a którekolwiek z nich źle może być katastrofalne. Najważniejszą cechą OTP jest to, że hasło musi być losowe i taka sama jak tekst, który szyfruje - stąd czterocyfrowy sekret do szpilki. W OTP wszystko kręci się wokół tajemnicy, która jest również pięta Achillesowa. Dla czterocyfrowego numeru, utrzymywanie czterocyfrowego tajemnicy nie jest problemem. Ale wyobraź sobie, że chcesz wysłać gigabajty zaszyfrowanych zdjęć wakacji do znajomego. To wiele kluczowych materiałów do utrzymywania ręki i tajemnicy. Oryginalny przez [Matt_Crypto], publiczne domainsecond, metoda łączenia wiadomości z tajemnicą musi być podobna do arytmetyki modulo, w tym zestawie zaszyfrowanych znaków i zestawu znaków tekstowych - PIN w naszym przykładzie - musisz mapować Jeden na jednego. Mod-10 zapewnia to łatwo: oba znajdują się w zakresie 0-9. Może znasz za pomocą operatora XOR na danych binarnych, co jest tym samym, co albo Additina lub odejmowanie, mod-2. (0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, i 1 + 1 = 2 -> 0. QED.) Możesz także użyć liter i owinąć alfabetu wokół “z” jak Caesar Cipher lub ROT13, który jest tylko odwzorowanie alfabetu w liczby i robiąc MATH MOD-26.

Po trzecie, a może to jest korony pierwszego, nie powinieneś ponownie wykorzystać sekret w jednorazowym podkładce. Myśliłbyś, że to było oczywiste, ponieważ jest to nawet w imieniu metody szyfrowania, ale trudno jest w praktyce. W rzeczywistości mój schemat szyfrowania pin przełamuje tę zasadę, używając tego samego tajemnicy w wielu klawiszach. Wkrótce dostaniemy się do tego.

Pamięć idealne szyfrowanie

Dlaczego OTP jest niezniszczalny? Łamanie większości schematów szyfrowania często sprowadza się do prawdopodobieństwa i statystyki. Na przykład, jeśli szyfrujesz tekst z wybiorem Cezara powyżej, każda litera w języku zwykłym jest odwzorowana na inną pojedynczą literę za każdym razem, gdy występuje w CipHertext. Jeśli wiesz, że oryginalny tekst jest w języku angielskim, gdzie najczęściej używany litery jest “E”, to dobry zakład, że jeśli “Q” jest najczęstszym listem w Ciphertext, oznacza “E”. Oznacza to, że znajdujemy statystyczne podobieństwa między zwykłym tekstem a Ciphertekstem i używają ich do wykonania mostu między nimi.

Korzystanie z tajnego klucza, który jest tak długi jak zwykły tekst, a losowo wybrany, łamie wszelkie stosunki statystyczne z szyfrtekstem. Biorąc pod uwagę specyficzną skrzynkę napisaną na mojej karcie, każdy kod PIN od 0000 do 9999 jest możliwy, a jeśli klucz został wybrany losowo, jest równie prawdopodobny. Nie ma informacji o zwykły tekstu w CipHerttece – to zasadniczo dowód Claude Shannona (absolutnie klasyczny pdf) w skrócie. I dlatego OTP jest niezniszczalny.

Diana jednorazowa pad [US NSA], publiczna domento jest w rzeczywistości kluczem do zrozumienia pola kryptografii: jest próba zwiększenia informacji o zwykłym tlenku podczas procesu szyfrowania, dzięki czemu jednak używany jest krótszy klucz, nie pozostają statystycznie istotne ślady zwykłego tekstu. To pragnienie krótkich kluczy nie jest tylko kwestią wygody: wyobraź sobie, że ty i Hackaday musiałeś wcześniej wymienić 500 KIB o losowych danych, aby pobrać ten artykuł i przeczytać go. Wyobraź sobie długość hasła WiFi, które musiałbyś zapisać dla gości! Jest to sens, w którym OTP jest trywialny i nieciekawy – może być niezniszczalny, ale tajemnice są po prostu zbyt długie dla większości aplikacji. Prawdziwy Crypto polega na znalezieniu algorytmów, które przełamują relację statystyczną z minimalnym kluczem materiałem.

Mając to na uwadze, możesz spić wdrożenie OTP, używając krótkiego lub nie-losowego hasła. Wyobraź sobie za pomocą 1 jako hasła i powtarzanie go w razie potrzeby; Nasz cyphertekst przeczytałby 2345, a szpilka zostanie odgadnięta na drugiej próbie. Chcesz również użyć losowego hasła; Zbieranie 0000, ponieważ sprawia, że ​​matematyka jest łatwa, jest jedyną rzeczą gorszą niż powyższa. (Chociaż, ściśle mówiąc, ponownie przerzucę, jeśli dostałem 0000, 1111, 9999, 1234, 4321 lub podobne.) W każdym razie nie używaj urodzin. Stara liczba telefonów przyjaciół dzieci może być dopuszczalna.

Rola arytmetyki Modulo jest nieco bardziej subtelna. Jakakolwiek funkcja jest używana, zestaw możliwych znaków w zwykły tekst ma na celu odwzorowanie jednego do jednego z CipHertekstem. Czemu? Wyobraź sobie, że użyłeś prostego dodawania zamiast dodawania mod-10. Aby uzyskać ostatnią cyfrę naszego szpilki Ciphertext, użyliśmy 4 – 7 = -3 -> 7 i odszyfrowane 7 + 7 = 14 -> 4. Gdybyśmy napisaliśmy -3 zamiast tego, atakujący wiedziałby, że nasza ostatnia cyfra mogła “T Bądź większy niż 6, ponieważ dodanie 9, maksymalna wartość, daje tylko 6. wyciekaliśmy informacje, mając większą ustawę w CipHertext niż w zwykły tekstu.

I to pozostawia ostatniego sposobu na bałagan: Ponownie za pomocą “jednorazowego” padu. Oczywiste, prawda? Zło.

Maszyna Lorenz, domena publiczna
Z jednej strony ponowne użycie jest określoną odpowiedzialnością. Ponownie za pomocą hasła w bardzo podobnym schemacie szyfrowania złamał “Tunny”, ważny kod podczas II wojny światowej. Wysłano 4000 znaków zaszyfrowanych znaków, ale nie otrzymano prawidłowo. Nadawca ponownie wysłał wiadomość, z taką samą sekretą, ale dokonał małych zmian w tekście, używając różnych skrótów i tak dalej. To dało sojusznik na tyle, aby przełamać tuńczykę i odwrotną maszynę, która ją zaszyfrowała. koniec gry.

Oto matematyka, która sprawiła, że ​​Tunny odszyfrowuje pracę i powinno przekonać Cię niemal nigdy nie ponownego używania klucza. Jeśli kodowaliśmy wiadomości A i B z tajnym kluczem C, a ktoś podsłuchuje zarówno, mogą je po prostu modować, aby uzyskać (mod C) Mod (B MOD C) = (A Mod b) Mod C MOD C = A Mod b, gdzie mod jest bitowy lub operator modulo mądry numer, do którego jesteśmy teraz przyzwyczajeni. Ponieważ biorąc binarne modulo jest własnym odwrotnością, wynikiem jest coś, co jest związane z obydwoma płotkami i niezależnym od tajnego klucza.

Stąd, porównując inteligentne domysły dla A i B i porównując je z wynikiem MOD B może przerwać kod. Jeśli więc jesteś pewien, że w obu tekstach pojawia się “atak” (typy Crypto zawsze szyfrują “atak na świcie”),Następnie możesz spróbować modować “Atak” w różnych pozycjach, dopóki nie otrzymasz dopasowania z modem B.

Niespodzianka zakończona

Ale oto ostateczny zwrot! Możemy uciec z ponownym wykorzystaniem tajnego klucza na wszystkich naszych kartach bankowych, nawet pomimo powyższej matematyki. Czemu? ponieważ same szpilki są losowe. W przeciwieństwie do komunikatów o języku naturalnym wysłanym podczas wojennego, mod b jest równie losowy jak mod C, jeśli zarówno A, jak i B są losowymi kołkami.

Tak więc haker pamięta pinki: przez uczenie się o jednorazowej klawiatorze, jak go złamać, i jak to jest jednak przydatne, jeśli wiadomość musi chronić, jest krótka. A jak, dla poszczególnych wiadomości, możesz nawet złamać zasady.

Leave a Reply

Your email address will not be published. Required fields are marked *