Szyfr mnożnikowy

Podczas korzystania z techniki szyfrowania Cezara szyfrowanie i odszyfrowywanie symboli polega na zamianie wartości na liczby za pomocą prostej podstawowej procedury dodawania lub odejmowania.

Jeśli mnożenie jest używane do konwersji na zaszyfrowany tekst, nazywa się to a wrap-aroundsytuacja. Rozważ litery i powiązane cyfry, które mają być użyte, jak pokazano poniżej -

Liczby będą używane w procedurze mnożenia, a powiązany klucz to 7. Podstawowa formuła używana w takim scenariuszu do generowania szyfru multiplikatywnego jest następująca:

(Alphabet Number * key)mod(total number of alphabets)

Liczba pobrana przez wyjście jest odwzorowywana w tabeli wspomnianej powyżej, a odpowiednia litera jest traktowana jako zaszyfrowana litera.

Podstawowa funkcja modulacji szyfru multiplikatywnego w Pythonie jest następująca:

def unshift(key, ch):
   offset = ord(ch) - ASC_A
   return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)

Note- Zaletą szyfru multiplikatywnego jest to, że może on działać z bardzo dużymi klawiszami, takimi jak 8,953,851. Komputerowi zajęłoby dość dużo czasu, aby brutalnie wykorzystać większość dziewięciu milionów kluczy.