Wpisany przez Krzysztof Maćkowiak,
18 sierpnia 2005 00:11
Nazwa: Szyfr One-time pad
Historia i zastosowanie: Jest to jedyny bezwarunkowo bezpieczny szyfr, co zostało udowodnione matematycznie. 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:
W wersji znakowej szyfrujemy/deszyfrujemy korzystając z algorytmu Vigenere`a.
Można zatem zadać sobie pytanie dlaczego tamte 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:
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 sobie hasła. 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. Przykładowym algorytmem generującym ciągi pseudolosowe jest algorytm BBS.
Poziom bezpieczeństwa: Udowodniono bezwarunkowo poziom bezpieczeństwa
Metody kryptoanalizy: brak
Zobacz też: Algorytm XOR
Historia i zastosowanie: Jest to jedyny bezwarunkowo bezpieczny szyfr, co zostało udowodnione matematycznie. 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
- wersja znakowa
W wersji znakowej szyfrujemy/deszyfrujemy korzystając z algorytmu Vigenere`a.
Można zatem zadać sobie pytanie dlaczego tamte 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
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 sobie hasła. 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. Przykładowym algorytmem generującym ciągi pseudolosowe jest algorytm BBS.
Poziom bezpieczeństwa: Udowodniono bezwarunkowo poziom bezpieczeństwa
Metody kryptoanalizy: brak
Zobacz też: Algorytm XOR
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Poprawiony: 21 czerwca 2011 19:01