Powrót do Kryptografia

Szyfr Playfair

Zaczniemy nasz tekst od szyfru Playfair, gdyż jego innowacyjność dała początek szyfrom dwukwadratowym i czterokwadratowym. Wymyślony w roku 1854 przez Charlesa Wheatstone’a szyfra należy do rodziny szyfrów podstawieniowych poligramowych, polega na zastąpieniu par liter tekstu jawnego inną parą generowaną przez określony złożony system. System ten bazuje na słowie kluczu i tablicy o wymiarach 5×5. Jeśli za klucz przyjmiemy słowo SEJF, litery alfabetu łacińskiego zapisujemy w tablicy, zaczynając od słowa klucza, obie strony muszą wcześniej ustalić, w jakiej konfiguracji będzie wpisywany klucz i reszta liter. Jak łatwo się domyślić liter w alfabecie łacińskim jest 26 a kwadrat 5×5 generuje 25 pól, toteż litery „I” i „J” możemy potraktować wspólnie lub pominąć literę rzadko występującą w obiegu, taką jak X lub V.

Jeśli litery w kluczu powtarzają się to następna litera, zostaje pominięta (DOROTA–>DORTA). Tekst jawny dzielony jest na diagramy (pary liter), które powinny składać się z dwóch różnych od siebie liter, w razie konieczności można dodać mało używaną literę jako separator, również, jeśli liter w jawnej wiadomości jest nieparzysta, ilość należy do ostatniej litery dodać mało występującą literę. Tekst „tajny szyfr” podzielimy na:

ta-jn-ys-zy-fr

Słowo „message” podzielimy na:

me-sx-sa-ge

dodajemy mało używaną literę „x” aby odseparować powtarzające się litery.

Słowo „szyfr” podzielimy następująco:

sz-yf-rx

W pełnym zdaniu pozbywamy się spacji i znaków interpunkcyjnych:

tekst „To jest tajna wiadomość!” przekształcimy na „tojesttajnawiadomosc” i podzielimy:

to-je-st-ta-jn-aw-ia-do-mo-sc

Szyfrując tekst, kierujemy się następującymi warunkami:

  1. Jeśli obie litery są w tym samym wierszu, zastępujemy je występującymi po nich (cyklicznie) literami.
  2. Jeśli obie litery są w tej samej kolumnie, zastępujemy je literami, które są pod nimi.
  3. Jeśli litery, znajdują się na pozycji x,y i a,b to zastępujemy je literami znajdującymi się na pozycji x,b i a,y

Przykład:

Gdy znamy już zasady szyfru Playfair, zrobimy sobie program, który będzie szyfrował tekst przy użyciu tego sposobu. Będzie to bardzo prosta aplikacja.

Nasz ukryty tekst przy użyciu klucza „SZYFR” to XAGFVAUYLFCIGC

Po odszyfrowaniu:

Kod aplikacji dostępny tutaj:

projekt: Playfair

sama aplikacja: PlayFair_aplikacja

Wiemy już, czym jest szyfr PlayFair, ale czy jego stosowanie ma sens w obecnych czasach? Nie można przy jego użyciu szyfrować cyfr i ma wiele ograniczeń co do ilości liter. Każde rozszerzenie tego szyfru wiąże się z koniecznością powiększania wielkości naszej tabeli. Jeśli przyjmiemy, że w języku polskim jest 32 litery wtedy najbliższy kwadrat, który możemy wygenerować, będzie złożony z sześciu wierszy i kolumn a i tak będziemy musieli dodać znaki które nie są literami. Przekształcenie tego programu wyglądało by jak:

Przykład użycia:

Można pójść dalej, jeśli w języku poskim jest 32 litery i podzielimy je na małe i duże otrzymamy okrągłą liczbę 64 = 8 * 8

Permalink do tego artykułu: https://visualmonsters.cba.pl/kryptografia/szyfr-playfair/