ちょっとソフトを作ってみようかと思ったが必要な知識が足りていない。とりあえず暗号技術入門を読んでみた。
今まで、何となく知っていたり(One-Time Padとかはスパイ小説ではおなじみだ)、なんとなく利用していたりしていた。これで少しは体系だって頭に入ったと思う。
暗号技術の道具箱
- 対象暗号
- 情報処理の参考書では共通鍵暗号とか秘密鍵暗号と出ている。
- 公開鍵暗号
- 代表的なアルゴリズムとしてRSAがある。
- 一方向ハッシュ関数
- MD5とかSHA-1とか。フィンガープリント(オープンソースのダウンロードページについている)としてファイルの改ざんチェックに使用出来る。
- メッセージ認証コード
- メッセージの改ざんチェック。IPsecやSSL/TLSで使われている。手法としてHMACというのがある。MD5など一方向ハッシュ関数を使用する手法。
- デジタル署名
- サインや印鑑のかわり。否認(うそ)や改ざん防止に使用する。機密性を保つためのモノではない。
- 疑似乱数生成機(PRNG: pseudo random number generator)
- 鍵の生成等に必要。無作為性、予測不可能性、再現不可能性という3つの性質があるかで疑似乱数の強弱がわかれる。
PGP(Pretty Good Privacy)
GnuPGPで暗号技術を実際に利用出来る。これはOpenPGP(RFC2440)の仕様にそったフリーソフト。
思っていたよりも色々なことができるソフトだと知った。