公開鍵ファイル暗号化ソフト 「公開鍵暗GO」
「公開鍵暗GO」
「公開鍵暗GO」は使いやすさを第一に設計した公開鍵暗号化ソフトです。
Windows XP SP3
上で開発しています。開発言語は、GUI部分はactivebasicで、暗号化部分のdllは、Dev-C++で動くMingwです。開発にあ
たって、たくさんのホームページを参考にさせて頂きました。これらのソフトを作られた方や、ホームページを作られた方に感謝します。
「公開鍵暗GO」はWindows XP と Windows Vista で動作を確認しています。
公開鍵暗GOver.1.02本体 koukaiang102.cab
公開鍵暗GO 主な改版履歴
●ver.1.02
2010/07/11
・暗号化の途中で暗号化に失敗したとき、途中まで暗号化したファイルを削除するようにした。
・内部の圧縮ライブラリのzlibを1.2.5にバージョンアップした。
● ver.1.01
2008/8/2
・暗号化、復号化速度を改善した。
● ver.1.0
2008/6/8
・正式公開版としてリリース
公開鍵暗GOの暗号化の方法 …… Mersenne素数を用いたElGamal方式の公開鍵暗号
以
下のPDFファイルにあるように、M系列乱数と同等な、Mersenne素数を用いた既約多項式の剰余類を使う、ElGamal暗号です。この方法は、理
論やアルゴリズムが単純なので、開発してみようと思いました。暗号化の方法と、その主要部分をコード化したものを掲載します。公開鍵暗号に詳しい方に御教
授頂ければ幸いですので、お気づきの点がござい
ましたら、ぜひ御一報下さい。
乗算に時間がかかりますが、2乗の計算と、剰余の計算部分が極めて高速です。私のコード
では、athlon64
3700+
2.2Ghzで、鍵長が1279ビットのときに、小さいデータの暗号化には約5/1000秒、復号化には約4/1000秒かかります。これより、処理速度
は約300kbit/secと、非常に高速に実装できました。また、乱数を特殊なものにして、さらに高速化することを考えてみました。RSA暗号よりかな
り高速ではないかと思っています。
また、SHA-256,SHA-384,SHA-512のコードを書きました。実行ファイルのアイコンにファイルをドラッグ&ドロップすれ
ば、ハッシュ値が表示されま
す。ネット上にあった幾つかのコードを参考にさせて頂きました。コードを公開して下さった方々に感謝します。ハッシュの仕様はNational
Institute of Standards and Technology
(NIST)で公開しているものであり、コードは自由に使ったり、参考にして頂いて構わないものとします。興味のある方は、NIST の fips180-2.pdf
と照らし合わせて、コードを読んでみて下さい。
さらに、SHA-256を用いてデジタル署名のコードを書いてみました。
「公開鍵暗GO」のコードは、整理がついていないので、とても他人に見
せられるような代物ではありません。そういう訳で、細かい処理をすべて削除し、単純な、コマンドラインでの暗号、復号をするコードだけを掲載しました。
Linuxにも簡単に移植できるはずです。
コマンドラインの公開鍵暗号暗号ソフト ang.zip