暗号技術入門を読んだ
暗号化周りの知識が全くなくて、SSL/TLSやその他、周辺技術をを扱うにあたって非常に困った。言語ごとにライブラリがあるにはあるが、詳細はOpenSSLのドキュメントを読んだください。とか書いてあったりして、そもそもの知識がなければ何をどうすればいいかはわからなすぎた。実際、知らない人が使うものではないのだと思う。 というわけで、早急に知識が必要。だけど数学的なことはわからない。そこでこの本を読むことにした。
- 作者: 結城浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/08/26
- メディア: 単行本
- この商品を含むブログ (18件) を見る
本書は数学的なことを控えめにし、暗号技術の概要をうまく説明してくれる本になっていた。ざっくりいうと以下の感じ
- 暗号の歴史
- 共通鍵暗号
- AESとか
- ブロック暗号のモード
- CBCとか
- 公開鍵暗号
- RSAとか
- ハイブリッド暗号
- 一方向ハッシュ関数
- SHA256とか
- メッセージ認証コード
- HMAC
- デジタル署名
- 証明書
- 乱数
- SSL/TLS
まぁ目次とほぼ同じなんだけど、単語を見ると大体聞いたことがあるのではないかと思う。何かしらのプログラムを書くときになんとなく使ってきたのではないだろうか。最後にSSL/TLSがでてくるがこの技術はそこまで説明した暗号技術をすべてといっていいほど使用している。その為、最初からしっかりと読み進めることで理解ができるようになっている。
これを読むまでは公開鍵暗号を至るところで自分で使用しておいて、その中身として何をしているかを理解していなかった。詳細な数学のことは読んでもわからないが、なぜこのアルゴリズムが解読困難なのか、なぜ公開鍵、秘密鍵に別れているのか、なぜ、秘密鍵で暗号化したものを公開鍵で復号化できるのか。がわかるようになる。 あとは乱数とか。乱数にも種類があり、弱い擬似乱数、強い疑似乱数、真の乱数という3つに本書では分類している。昔、公開鍵のペアをWindowsのアプリで作るときにマウスをぐりぐりしていたことがある。それが何をしていたのかがわかった。真の乱数というのは再現不可能であることが必要でマウスのぐりぐりなどは再現ができない。それを乱数の元にしていたということだった。
この本は今後SSL/TLS化が必須になってくる時代でエンジニアとして生きるのであれば一度は読んでおいてもいいのではないかと思った。またSSL/TLSのプロトコルについて詳細に知りたい場合はReal World HTTPも併せて読むといい。
- 作者: 結城浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/08/26
- メディア: 単行本
- この商品を含むブログ (18件) を見る
Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術
- 作者: 渋川よしき
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/06/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る