Szyfr afiniczny

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Szyfr afinicznyszyfr należący do grupy monoalfabetycznych szyfrów podstawieniowych.

Rodzina szyfrów monoalfabetycznych posiada jedną bardzo ważną cechę, a mianowicie jednej literze alfabetu jawnego odpowiada dokładnie jedna litera alfabetu tajnego. Funkcja szyfrująca wygląda następująco:

gdzie
to szyfrowana litera, jest kluczem, a to liczba liter w alfabecie (zwykle korzystamy z bo tyle liter ma język angielski)

Łatwo zauważyć, że jeśli to mamy do czynienia ze zwykłym przesunięciem.

Szyfr afiniczny ma sens tylko wtedy, gdy funkcja afiniczna jest różnowartościowa, tzn. gdy dla dowolnego y należącego do zbioru klas reszt równanie

ma co najwyżej jedno rozwiązanie ze względu na zmienną Zapiszmy nasze równanie w sposób następujący:

Zauważmy, że gdy wartości przebiegają cały zbiór to i wartości się wyczerpują, czyli wystarczy jeśli zbadamy rozwiązywalność równań

dla Równanie to ma dokładnie jedno rozwiązanie dla każdego wtedy i tylko wtedy, gdy (gdzie NWD oznacza największy wspólny dzielnik dwóch liczb).

Na przykład gdy to wartości należące do dla których są następujące:

1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.

Parametr może być dowolny toteż mamy możliwych kluczy. Jest to bardzo mała liczba kluczy, która nie daje odpowiedniego bezpieczeństwa, toteż szyfr ten nie jest w zasadzie stosowany.

Funkcja deszyfrująca dla tego szyfru wygląda tak:

gdzie jest odwrotnością w pierścieniu

Wzór wynika z wyliczeń:

Przykład działania[edytuj | edytuj kod]

Przyjmując, że K = (7, 5) należy zaszyfrować i odszyfrować słowo KOT.

Dla uproszenia korzystamy z mod 26 (alfabet angielski ma 26 znaków). Funkcja szyfrująca ma postać:

Zmieniamy litery wyrazu „kot” na wartości liczbowe:

K = 10; O = 14; T = 19;

Szyfrowanie:

Tekst zaszyfrowany odpowiada ciągowi 23, 25, 8, czyli: XZI.

Deszyfrowanie:

Funkcja deszyfrująca ma postać:

Ciąg liczb 10, 14, 19 odpowiada naszemu wyjściowemu KOT.

Zobacz też[edytuj | edytuj kod]