Kody i szyfry
5. Szyfry i kryptografia
5.10. Szyfry idealne
Szyfr Vernama to inaczej szyfr idealny lub szyfr z kluczem jednokrotnym (ang. one pad cipher).
Idealnym z kryptograficznego punktu widzenia jest szyfr z jednokrotnym kluczem losowym generowanym w ciągu prób Bernoulliego. Szyfr z kluczem jednokrotnym charakteryzuje się bezpieczeństwem idealnym, ponieważ przy przechwyceniu szyfrogramu c o określonej długości n prawdopodobieństwo warunkowe wystąpienia danego tekstu jawnego m (długości n) pod warunkiem odebrania c nie zależy od m.
Szczególnym przypadkiem szyfru jednokrotnego jest szyfr Vernama, przekształcający ciągi zerojedynkowe na ciągi zerojedynkowe. Szyfr ten został wynaleziony w 1917 roku przez dwóch Amerykanów: Gilberta S. Vernama (pracującego dla American Telephone and Telegraph Company, w skrócie AT&T) i Josepha O. Mauborgne ( z US Army Signal Corps.)
Rys. 1. Szyfr Vernama. Szyfrowanie: ci mi ki . Deszyfrowanie: mi ci ki
Algorytm deszyfrowania jest następujący: mi ci ki . Jego poprawność wynika z łączności sumy modulo 2 i faktu, że ki ki 0.
Wadą szyfru Vernama jest to, że klucz jest tak długi, jak wiadomość jawna. Jednak w pewnych zastosowaniach użycie klucza jednokrotnego jest uzasadnione (dyplomacja, wojsko).
W praktyce często zastępuje się ciąg losowy k k1 k2 ...kt {0,1}* ciągiem pseudolosowym. Np. mamy do zaszyfrowania tekst jawny (mi) o długości N0 , generujemy pseudolosowy ciąg bitów (ki )
i szyfrujemy tekst jawny jako (ci)
, gdzie ci ki ai dla każdego i i1 i=1,2,..., N0 .
Szyfr Vernama jest szyfrem strumieniowym. Można go uogólnić z przypadku binarnego na dowolny alfabet skończony zastępując sumę modulo 2 sumą modulo n.