Szyfr z kluczem jednorazowym

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Szyfr z kluczem jednorazowym (one-time pad) - szyfr zaproponowany w 1917 roku przez Gilberta Vernama, którego, przy poprawnym wykorzystaniu, nie można złamać. Szyfr z kluczem jednorazowym jest dużym zbiorem o niepowtarzalnych i przypadkowych sekwencjach znaków. W pierwotnej postaci była to jednorazowa taśma perforowana do dalekopisu. Nadawca używa każdej litery z tego zbioru do zaszyfrowania jednego znaku tekstu jawnego. Szyfrowanie to dodanie modulo 26 jednego znaku tekstu jawnego i znaku jednorazowego klucza.

Stosowanie[edytuj | edytuj kod]

Każdy klucz używany jest tylko raz, do zaszyfrowania tylko jednej wiadomości. Klucz tworzony jest w sposób losowy, przeciwnik nie ma informacji, która może ułatwić złamanie szyfru. Po zaszyfrowaniu wiadomości nadawca niszczy strony lub taśmę perforowaną z wykorzystanym zbiorem znaków. Odbiorca dysponuje identycznym zbiorem i używa tych samych znaków zbioru do odszyfrowania każdego znaku szyfrogramu. Podobnie jak nadawca po odszyfrowaniu wiadomości niszczy zbiór znaków stanowiących klucz. Przy nadawaniu nowej wiadomości trzeba zastosować nowy zbiór znaków i nowe znaki klucza.

Szyfrowanie z kluczem jednorazowym może być rozszerzone na dane binarne. Zamiast zestawu znaków są stosowane klucze binarne.

Metoda generacji i użycia klucza kryptograficznego wymaga by:

  1. Klucz użyty do szyfrowania wiadomości był dłuższy lub równy szyfrowanej wiadomości.
  2. Klucz musi być wygenerowany w sposób całkowicie losowy (nie może istnieć sposób na odtworzenie klucza na podstawie znajomości działania generatorów liczb pseudolosowych).
  3. Klucz nie może być użyty do zaszyfrowania więcej niż jednej wiadomości.

Zalety[edytuj | edytuj kod]

Wykorzystanie tej metody w np. szyfrowaniu XOR, bądź w szyfrze polialfabetycznym zapewnia całkowite bezpieczeństwo wiadomości, ponieważ dla każdej pary M i C (wiadomość i tekst zaszyfrowany) istnieje pasujący do nich klucz (Key), czyli znając jedynie C, możemy dopasować do niego dowolną M o tej samej długości i na ich podstawie wyliczyć pasujący K. Dzięki temu złamanie szyfru nie jest możliwe nawet poprzez testowanie wszystkich możliwych kluczy (atak brute force).

Problem złamania OTP jest podobny do problemu związanego z rozwiązaniem równania: M + K = C w którym znane jest jedynie C. Zakładając, że przeciwnik nie ma dostępu do jednorazowego zestawu znaków stosowanego do szyfrowania wiadomości, można powiedzieć, że jest to idealnie bezpieczny algorytm utajniania. Dowolny szyfrogram może być szyfrogramem dowolnego tekstu jawnego o tej samej długości.

Wady[edytuj | edytuj kod]

Praktyczną wadą algorytmu jest długość klucza, która nie może być mniejsza od długości wiadomości, jaką nadawca zamierza przesłać. Rutynowe stosowanie szyfrów z kluczem jednorazowym wymagałoby od nadawcy i odbiorcy wcześniejszego uzgodnienia ogromnego klucza (bądź ogromnego zbioru kluczy). Problem stanowi zarówno całkowicie losowe wygenerowanie klucza, jak i jego bezpieczne przekazanie drugiej stronie.

Z tego powodu algorytm z kluczem jednorazowym znajduje zastosowanie przede wszystkim w szyfrowaniu wyjątkowo tajnych informacji w kanałach o małej przepustowości. Gorąca linia między prezydentami Rosji i Stanów Zjednoczonych jest zabezpieczona właśnie za pomocą takiego szyfru[1].

Przypisy

  1. Simon Singh, "Księga Szyfrów", Wydawnictwo Albatros, Warszawa 2001.

Bibliografia[edytuj | edytuj kod]

  • Bruce Schneier, Kryptografia dla praktyków, WNT, Warszawa, 2002.