If you're seeing this message, it means we're having trouble loading external resources on our website.

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

Szyfr przesuwający

Arytmetyka modularna i szyfr przesuwający

Szyfr Cezara jest rodzajem szyfru przesuwającego. Szyfry przesuwające działają używając operatora modulo do szyfrowania oraz odszyfrowywania wiadomości. Szyfr przesuwający ma klucz K który jest liczbą całkowitą z zakresu od 0 do 25. Przekażemy go jedynie tym osobom, którym chcemy udostępnić naszą wiadomość.

Jak szyfrować:

Dla każdej litery w wiadomości  M :
1. Przekonwertuj literę na liczbę, która jej odpowiada według kolejności w alfabecie, zaczynając od 0, i podstaw ją pod X we wzorze poniżej.
(A=0, B=1, C=2, ..., Y=24, Z=25)
2. Wylicz według wzoru Y = (X + K) modulo 26
3. Zamień liczbę Y w literę, która odpowiada swojej kolejności w alfabecie zaczynając od 0.
(A=0, B=1, C=2, ...,Y=24, Z=25)
Na przykład: uzgadniamy z naszym przyjacielem, że prześlemy wiadomość używając szyfru przesuwającego z kluczem K=19
. Kodujemy wiadomość "KHAN" następująco:
Po zastosowaniu szyfru przesuwającego z kluczem K=19, nasza wiadomość "KHAN" w postaci zaszyfrowanej wygląda następująco "DATG"
Wiadomość "DATG" możemy śmiało przekazać koledze.

Jak odszyfrować:

Dla każdej litery z szyfru C wykonujemy poniższe działanie:
1. Zamień literę w na liczbę, równą jej miejsca w alfabecie, zacznij liczyć od 0
(A=0, B=1, C=2, ..., Y=24, Z=25)
2. Policz według wzoru X = (Y - K) modulo 26
3. Zamień liczbę X w literę, która odpowiada swojej kolejności w alfabecie zaczynając od 0.
(A=0, B=1, C=2, ...., Y-24, Z=25)
Nasz przyjaciel rozszyfruje teraz wiadomość za pomocą uzgodnionego klucza K=19. W taki sposób:
Zatem, stosując szyfr przesuwający z kluczem K=19, nasz przyjaciel dekoduje zaszyfrowany tekst "DATG", odczytując wiadomość "KHAN".

Dlaczego szyfr przesuwający nie jest bezpieczny?

Szyfr powinien uniemożliwić atakującemu, który posiada kopię zaszyfrowanego tekstu, lecz nie posiada klucza, odczytanie wiadomości. Ponieważ dysponujemy jedynie 26 możliwymi kluczami, ktoś mógłby z łatwością sprawdzać wszystkie 26 kluczy, jeden po drugim, by za którymś razem odczytać wiadomość. Ten rodzaj ataku nazywamy atakiem brute force.

Chcesz dołączyć do dyskusji?

  • Awatar leaf green style dla użytkownika dejmienosw
    Czy wynik -16 modulo 26 nie powinno być -16? Przy wyniku ujemnym powinno się chyba jeszcze dodać 26... chyba...
    (0 głosów)
    Awatar Default Khan Academy avatar dla użytkownika
    • Awatar aqualine seed style dla użytkownika Grzegorz Fatyga
      W działaniach mod w wyniku podaje się tylko resztę z dzielenia, w przypadku takiego działania jak (-16) mod 26 = 10 jest to trochę mylące. Rozpisując to na "cały wynik" otrzymujesz coś takiego: (-16) mod 26 = (-1) + reszta 10. Przeprowadzając działanie odwrotnie otrzymujesz: (-1) * 26 = (-26) + 10 = (-16).
      (7 głosów)
Rozumiesz angielski? Kliknij tutaj, aby zobaczyć więcej dyskusji na angielskiej wersji strony Khan Academy.