Logo  

Szyfr one-time-pad   

Strona glowna Aktualnosci Algorytmy Biblioteki Oprogramowanie Moje teksty Artykuły
Seminaria Literatura Biografie Slownik Ciekawostki Linki CV



Nazwa: Szyfr one-time-pad (jednokrotny z dodatkowymi założeniami)

Historia i zastosowanie: Jest to jedyny bezwarunkowo bezpieczny szyfr, co zostało udowodnione matematycznie w 1949 przez Shannon'a. Algorytm ten zaproponowany został przez Gilberta Vernama z AT&T w 1917 roku. Jeżeli chodzi o pojęcie klucza losowego to pierwszy raz wprowadził je Joseph Mauborgne.
W literaturze można spotkać informacje, że podobno gorąca linia pomiędzy Waszyngtonem a Moskwą szyfrowana była z wykorzystaniem tego algorytmu.

Opis metody: Można wyróżnić 2 wersje tego algorytmu:
-wersja binarna (szyfr Vernama)
-wersja znakowa

W wersji binarnej szyfrujemy/deszyfrujemy korzystając z algorytmu Xor.
W wersji znakowej szyfrujemy/deszyfrujemy korzystając z algorytmu Vigenere`a.

Można zatem zadać sobie pytanie dlaczego powyższe algorytmy zapewniają słabe lub średnie bezpieczeństwo a ten zapewnia bezwarunkowe bezpieczeństwo.
Otóż cała tajemnica tkwi tutaj w założeniach nałożonych na hasło.
Sprawdzone muszą być wszystkie 3 poniższe warunki:
- hasło musi być ciągiem losowym
- hasło musi być jednorazowe
- długość hasła musi być przynajmniej tak samo długa jak długość szyfrowanego tekstu

Przy krótkich tekstach nawet sprawdzenie wszystkich możliwości nie da nam odpowiedzi, gdyż napastnik otrzyma wiele poprawnych słów i nie będzie w stanie wybrać z nich słowa właściwego.
Złamanie choćby jednego z tych warunków powoduje, że otrzymany szyfrogram może być już łatwy do odszyfrowania.
Jeżeli chodzi o 2 i 3 warunek to są one stosunkowo proste do spełnienia, chociaż trudno wyobrazić sobie każdorazowe przekazywanie hasła odbiorcy.
Największym problemem jest wygenerowanie losowego hasła. Wiele metod, które mogą wydawać się losowe (stukanie w klawiaturę, ciąg wyliczany na podstawie czasu czy stanów procesora nie jest do końca wartością losową). Istnieją jednak algorytmy generujące ciągi pseudolosowe. Ciągi pseudolosowe są to ciągi generowane na podstawie losowego zarodka, korzystając z algorytmu deterministycznego. Powstający ciąg ma cechy ciągu losowego. Istnieje wiele algorytmów generujących ciągi pseudolosowe: BBS, Bluma-Micaliego, Shamira, oparty na RSA.

Poziom bezpieczeństwa: Udowodniono bezwarunkowo poziom bezpieczeństwa.

Metody kryptoanalizy: Brak.

Wersja binarna: Algorytm XOR.
Wersja znakowa: Algorytm Vigenere`a.


Back




©