読者です 読者をやめる 読者になる 読者になる

凡庸なる人のブログ

凡庸な自分が思ったことや何かしらの感想、コンピュータ系などの調べごとを書くブログです。  【結論】ってのは私個人の結論です。記事全体は個人的な調査結果や感想です。

python で DES暗号 を自作する

DES暗号は安全ではない暗号として知られていますが、そのアルゴリズムを見ると結構な面白味があります。

 

アルゴリズムの概要は、文字列(平文)を2進数に変換した後で転置やシフト、排他的論理和演算を繰り返し行うものです。

 

基本的にDESなどの暗号アルゴリズムは公開されているので、少し検索をかければすぐに出てきます。

 

今回はpythonを使ってこのDES暗号を自作していきたいと思います。

 

アルゴリズムの全体の手順は後日投稿するかもしれません。

 

 

DES暗号を自作するに当たって一番最初の壁は

平文を2進数に変換することでした。

はい。上の一行で私自身のプログラミングに対する能力のレベルが知れてしまいますよね。まぁ、知らないだけなら知ればいいだけです。

 

取り敢えずググる

するとord関数がありました。ていうか文字列のASCII値(10進数)を返すコードを公開している人がいました。下がそのブログ。

cortyuming.hateblo.jp

こちらのブログを参考にして(ていうかASCII値のくだりは同じ)、2進数に変換するコードを作成。下のコードが文字列を2進数に変換するコードです。ていうか 文字列→2進数 の関数って絶対にあるよな・・・でも見つけられないんですよ。

 

gist.github.com

 んでコマンドプロンプトでの実行結果が下。

f:id:wannabeahacker:20151017015004p:plain

今のところ以上です。