【Python】シーザ暗号の実装例

Pythonでシーザー暗号を実装する方法についてソースコード付きでまとめました。

シーザ暗号の実装例

シーザー暗号(Caesar Cipher)とは、世界初の暗号化手法で有名なシーザー(カエサル)が用いたものだそうです。 その方法は極めて単純な方法で、決められた数だけ文字をずらします。 例えば、「SAO」を1文字ずつずらせば「TBP」となります。 復号化(暗号した文章を元に戻す)は、逆向きに1文字ずつずらします。(元のSAOになります)

(シーザー暗号では、ずらす文字数が鍵(パスワード)となります)

今回は、これをPython3のchr・ord関数で実装してみます。

関連ページ
原理 【シーザー暗号】原理・アルゴリズム・例題
参考 【Python】chr・ord関数で「文字」「アスキーコード(ascii)」の相互変換
【ASCII】アスキーコードの一覧表

サンプルコード

サンプルプログラムのソースコードです。

# シーザー暗号で暗号化
def encrypt(plaintext, key):
    ciphertext = ""

    for ch in list(plaintext):
        if 'A' 

上記の例だとキーが「1」なので平文を1文字ずらしたものが暗号文となります。 (キーが「a」ならアスキーコードは97なので、97字分ずらす)

関連記事
1 【Python】データの暗号化・サンプル例
2 Python入門 基本文法
記事の監修者
西住技研

プログラミング言語「Python」を研究、仕事、趣味でデータ分析や作業自動化などに活用してきたノウハウを情報発信しています。
筆者の詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする
暗号化

コメント