シーザー暗号とは、2000 年前にジュリアス・シーザーが使用した暗号化方式を指し、最も単純で最も広く知られている暗号化方式です。これは置換暗号化の手法であり、平文内のすべての文字がアルファベットの固定数値だけ後方 (または前方) にオフセットされ、暗号文に置き換えられます。歴史的には、暗号化ホイールを使用して平文を暗号文に暗号化するのが一般的でした。
クリプトルーレット
導入
シーザー暗号化は一般的なヒープ暗号化方式であり、他のより複雑な暗号化アルゴリズムの暗号化ステップでもあります。その暗号化と復号化は次のとおりです。
達成
以下に、Python で Caesar 暗号化を実装するためのソース コードが提供されています。
#caesarCipher.py
import pyperclip
message = "this is secret message"
key = 13 # 加解密key
mode = "encrypt" # 模式,支持encrypt(加密)、decrypt(解密)
LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
translated = ""
message = message.upper()
for symbol in message:
if symbol in LETTERS:
num = LETTERS.find(symbol)
if mode = "encrypt":
num = num + key
elif mode == "decrypt":
num = num - key
if num >= len(LETTERS):
num = num - len(LETTERS);
elif num < 0:
num = num + len(LETTERS);
else:
translated = translated + symbol
print(translated) #输出加密或解密结果
ここでは実装が提供されていますが、ツールとして使用する場合は別モジュールにパッケージ化し、main関数で渡される値を用いて判断・実行することで暗号化または復号化の機能を実現する必要があります。