Szyfr Cezara c++

Szyfr Cezara – implementacje i wyjaśnienie

Szyfrowanie tekstu jest zabiegiem, który ma na celu uniemożliwić odczytanie tekstu przez osoby nieupoważnione do tego. Z założenia zaszyfrowaną wiadomość zdoła odczytać jedynie osoba, dla której wiadomość jest przeznaczona. Osoba, która oczywiście zna szyfr. Zapraszam do zapoznania się z pojęciem szyfru Cezara i implementacjami szyfru Cezara w C++, Javie oraz Pythonie.

Szyfr Cezara – metoda szyfrowania

Szyfr Cezara (znany również jako kod Cezara oraz przesunięcie cezariańskie) jak nie trudno się domyślić ma coś wspólnego z najbardziej znanym rzymskim wodzem. Wykorzystywał on bowiem ten szyfr do komunikacji z oddziałami wojskowymi.
Szyfr ten jest podręcznikowym przykładem szyfru podstawieniowego, czyli takiego, który dany znak zastępuje innym. W metodzie szyfrowania Cezara znakiem, którym zastępujemy daną literę jest trzeci następny znak w alfabecie łaciński. Występuje więc tak zwane przesunięcie. Stąd kolejna nazwa dla tego szyfru: szyfr przesuwający.

Szyfr Cezara C++

Oczywiście przesunięcie o 3 nie jest obowiązkowe. Przesuwać można o więcej liter, przy czym dla każdej litery przesunięcie powinno być o tyle samo znaków i w tym samym kierunku.
Szyfry podstawieniowe nie są obecnie używane w profesjonalnym szyfrowaniu. Są po prostu zbyt proste i na pewno nie stanowią problemu dla współczesnych hackerów. Niemniej jednak zadanie, wykorzystujące szyfr Cezara wystąpiło na maturze z informatyki w 2016 roku, więc chyba warto się z nim zapoznać.

Szyfr Cezara C++

Szyfr Cezara – implementacja

W tym programie szyfrowanie odbywa się na oryginale naszej zmiennej tekstowej, a klucz jaki obierzemy może być dowolną liczbą całkowitą. Dla zachowania poprawności wpisane małe litery są zamieniane na duże za pomocą funkcji transform.

C++

Java

Python

Jeżeli chcesz zgłębić temat kryptografii i poznać inne metody szyfrowania, zachęcam Cię do zapoznania się z tą książką:

You Might Also Like
2 komentarze
  • Avatar photo
    Szyfrowanie 2 znakowe
    says:

    Szyfr podstawieniowy może być o wiele silniejszy jeżeli zastosujemy np. szyfrowanie 2 znakowe, czyli w standardowym alfabecie będzie to już 676 kombinacji. Jak na razie jednak nie udało mi się napisać w C++ poprawnie działający program szyfrujący i deszyfrujący w systemie 2 znakowym, a zwiedziłem już sporo stron traktujących w tym temacie.

  • Avatar photo
    ERMLAB
    says:

    Dobrze wyjaśnione 😉 Nie jest to na pewno nic bardzo skomplikowanego, coś bardzo zaawansowanego, ale na pewno niejedna osoba trafi na ten artykuł, który rozwiąże wiele wątpliwości.

Dodaj komentarz

icon