Szyfrogram to zaszyfrowany tekst przekształcony z tekstu jawnego za pomocą algorytmu szyfrującego. Szyfrogram nie może być odczytany, dopóki nie zostanie przekształcony w tekst jawny (odszyfrowany) za pomocą klucza. Szyfr deszyfrujący jest algorytmem, który przekształca szyfrogram z powrotem w plaintext.
Termin szyfr jest czasami używany jako synonim szyfrogramu. Jednak odnosi się on raczej do metody szyfrowania niż do wyniku.
Typy szyfrów
Istnieją różne typy szyfrów, w tym:
- Szyfry substytucyjne. Zastąpić bity, znaki, lub bloki znaków w plaintext z alternatywnych bitów, znaków lub bloków znaków do produkcji szyfrogramu. Szyfr substytucyjny może być monoalfabetyczny lub polialfabetyczny:
- Pojedynczy alfabet jest używany do zaszyfrowania całego tekstu jawnego. Na przykład, jeśli litera A jest zaszyfrowana jako litera K, będzie to takie samo dla całej wiadomości.
- Bardziej złożona substytucja wykorzystująca alfabet mieszany do zaszyfrowania każdego bitu, znaku lub bloku znaków w wiadomości plaintext. Na przykład, litera A może być zakodowana jako litera K przez część wiadomości, ale później może być zakodowana jako litera W.
- Szyfry transpozycyjne. W przeciwieństwie do szyfrów substytucyjnych, które zastępują litery innymi literami, szyfry transpozycyjne zachowują te same litery, ale zmieniają ich kolejność zgodnie z określonym algorytmem. Na przykład, w prostym kolumnowym szyfrze transpozycyjnym, wiadomość może być odczytana poziomo, ale zostanie zapisana pionowo, aby uzyskać szyfrogram.
- Szyfry poligraficzne. Zastępując jedną literę dla innej litery, poligraficzne szyfr wykonuje substytucje z dwóch lub więcej grup liter. To maskuje rozkład częstotliwości liter, co sprawia, że ataki analizy częstotliwości znacznie trudniejsze.
- Szyfry permutacyjne. W tym szyfrze, pozycje zajmowane przez tekst jawny są przesunięte do regularnego systemu tak, że szyfrogram stanowi permutację tekstu jawnego.
- Kryptografia klucza prywatnego. W tym szyfrze nadawca i odbiorca muszą mieć wstępnie udostępniony klucz. Klucz współdzielony jest utrzymywany w tajemnicy przed wszystkimi innymi stronami i jest używany do szyfrowania, jak również do deszyfrowania. Ta kryptografia jest również znany jako „algorytm klucza symetrycznego.”
- Kryptografia z kluczem publicznym. W tym szyfrze, dwa różne klucze – klucz publiczny i klucz prywatny – są używane do szyfrowania i odszyfrowywania. Nadawca używa klucza publicznego do wykonania szyfrowania, ale klucz prywatny jest utrzymywany w tajemnicy przed odbiorcą. Jest to również znane jako „asymetryczny algorytm klucza.”
Usługi szyfrogramu
Symetryczne szyfry, które są zwykle używane do zabezpieczenia komunikacji online, są włączone do wielu różnych protokołów sieciowych, aby być używane do szyfrowania wymiany. Na przykład, Transport Layer Security używa szyfrów do szyfrowania danych warstwy aplikacji.
Wirtualne sieci prywatne łączące pracowników zdalnych lub zdalne oddziały w sieci korporacyjne używają protokołów z szyframi symetrycznymi do ochrony komunikacji danych. Szyfry symetryczne chronią prywatność danych w większości sieci Wi-Fi, bankowości internetowej, usługach handlu elektronicznego i telefonii komórkowej.
Inne protokoły, w tym bezpieczna powłoka, OpenPGP i Secure/Multipurpose Internet Mail Extensions używają kryptografii asymetrycznej do szyfrowania i uwierzytelniania punktów końcowych, ale także do bezpiecznej wymiany kluczy symetrycznych w celu zaszyfrowania danych sesji. Ze względu na wydajność, protokoły często polegają na szyfrach do szyfrowania danych sesji.
Ataki szyfrogramowe
Znany atak szyfrogramowy, lub atak tylko na szyfrogram (COA), jest metodą ataku używaną w kryptoanalizie, gdy atakujący ma dostęp do określonego zestawu szyfrogramów. Jednak w tej metodzie atakujący nie ma dostępu do odpowiadającego mu czystego tekstu, tj. danych, które są przesyłane lub przechowywane w postaci niezaszyfrowanej. Metoda COA kończy się sukcesem, gdy z danego zestawu szyfrogramów można określić odpowiadający im tekst jawny. Czasami klucz, który jest używany do szyfrowania szyfrogramu może być określony na podstawie tego ataku.
W wybranym ataku szyfrogramu (CCA), atakujący może zmusić ofiarę (która zna tajny klucz) do odszyfrowania dowolnego szyfrogramu i odesłania wyniku. Analizując wybrany szyfrogram i odpowiadający mu otrzymany tekst jawny, atakujący próbuje odgadnąć, jakiego tajnego klucza użyła ofiara. Celem CCA jest zdobycie informacji zmniejszających bezpieczeństwo schematu szyfrowania.
Atak powiązany z kluczem to każda forma kryptoanalizy, w której atakujący może obserwować działanie szyfru pod kilkoma różnymi kluczami, których wartości atakujący początkowo nie zna. Istnieje jednak pewna matematyczna zależność łącząca klucze, którą atakujący zna.
Przykład szyfrogramu
Jednym z najwcześniejszych i najprostszych szyfrów jest szyfr Cezara, który wykorzystuje algorytm klucza symetrycznego. Klucz działa jako wspólny sekret między dwoma (lub więcej) stronami, które mogą być używane do wysyłania tajnych informacji, których nikt nie może odczytać bez kopii klucza.
Szyfr Cezara jest szyfrem substytucyjnym, w którym każda litera w tekście jawnym jest „przesunięta” o pewną liczbę miejsc w dół alfabetu. Na przykład, z przesunięciem o 1, A będzie B, B zostanie zastąpiony przez C, itd. Metoda została nazwana na cześć Juliusza Cezara, który podobno używał jej do komunikacji ze swoimi generałami.
Tutaj znajduje się przykład kroków szyfrowania i deszyfrowania związanych z szyfrem Cezara. Tekst do zaszyfrowania to „bronić wschodniej ściany zamku”, z przesunięciem (kluczem) 1.
- Plaintext: bronić wschodniej ściany zamku
- Ciphertext: efgfoe uif fbtu xbmm pg uif dbtumf
.