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.