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入門 基本文法 |

コメント