Cryptography-with-python-multiplicative-cipher
提供:Dev Guides
乗法暗号
Caesar暗号技術を使用している間、シンボルの暗号化と復号化には、単純な基本的な加算または減算の手順で値を数値に変換することが含まれます。
乗算を使用して暗号テキストに変換する場合、「ラップアラウンド」状況と呼ばれます。 以下に示すように使用される文字と関連する数字を考慮してください-
数値は乗算手順に使用され、関連するキーは7です。 乗法暗号を生成するためにそのようなシナリオで使用される基本的な式は次のとおりです-
(Alphabet Number *key)mod(total number of alphabets)
出力を介してフェッチされた番号は、上記の表にマッピングされ、対応する文字が暗号化された文字と見なされます。
Pythonの乗法暗号の基本的な変調関数は次のとおりです-
def unshift(key, ch):
offset = ord(ch) - ASC_A
return chr(((key[0]* (offset + key[1])) % WIDTH) + ASC_A)
注-乗法暗号の利点は、8,953,851のような非常に大きなキーで動作できることです。 コンピューターが900万個のキーの大部分をブルートフォースするのに非常に長い時間がかかります。