「暗号技術のすべて」を読んだ。
結論からいうと、ウェブエンジニアを目指す自分には不要な本だったし、そもそも内容がムズかしくて途中で読むことを諦めてしまった。
書評
本の内容は
- 暗号
- 古典暗号
- 共通鍵暗号
- 公開鍵暗号
- ハッシュ関数
- メッセージ認証
- デジタル署名
などについて実際に数式を駆使しまくって
- 「Aという暗号化アルゴリズムがあります」
- 「これはこういう理屈なので安全です」
- 「しかしこういう理屈なので危険性もあります」
- 「そういうわけでこれを改善するために作られた暗号化アルゴリズムがBです」
などをひたすら説明するという内容の本。
残念ながら、私が求めていたのは
- 「暗号化はざっくりこういう仕組みです。」
- 「ハッシュはざっくりこういう仕組みです。」
- 「メッセージ認証はざっくりこういう仕組みです。」
みたいな感じで、暗号化などについて簡潔に書かれた本だったのですが
この本はアルゴリズムの理屈などをつらつら説明しているだけで、プログラミングに役立つ実用的な知識についてはほとんど語られていません。(一番最後のほうで少しだけbashでの暗号化の方法が書かれていましたが・・)
前半の「古典暗号」の部分までは「へぇ~、昔はこういう風に暗号化してたんだなぁ」と読み物として面白かったんですが、後半にいくに連れて数式が増えてきて(というか数式だらけ)、かなり読むのが苦痛になってきました。
というか内容が難しいのは全然いいんですよ。
それを理解することで何かの役立つならね。
でも、(おそらくですが)これを理解できたとしても私にメリットはほとんど無いんですよね。
だってプログラマって
- 公開鍵、共通鍵、ハッシュ、メッセージ認証、デジタル署名についてのざっくりした理解
- 「こういうなライブラリをこういう風に使えば暗号化できるよ」な使い方
さえの2つさえ分かれば全然仕事できちゃうじゃないですか。
んで上の2つってネットでググれば割とすぐに理解できることじゃないですか。
暗号化自体の仕組みがブラックボックスでも暗号自体はライブラリとかを使えば簡単に実装できるし。
そしてさらに言うと、出てくる数式が難しくて、わたしの頭では理解できませんでした。
自分は高専卒で、センター試験なども受けていない「中学までの学力はそこそこだけど高校からの学力はうんこ」という落ちこぼれなんですが、なかなかに読み進めるのがしんどかったです。
というか、途中から「読むのしんどすぎるし、読んでも得るものないっぽいしこれ読む意味ねえな」と思って、パラパラ~と最後まで流し読みしてしまいました・・・。
自分に役立つことなら、時間をかけてでも理解しようと頑張ったかもしれませんが「理解できたところで多分役に立たないだろうな」と分かっているものなので、どうしても読む気力がわきませんでした。単純に読み物としても面白くないですし・・・。
まとめ
まぁそんなわけで、以下のような人には神本なのかもしれませんが
- セキュリティを専門とするエンジニアで「暗号化のアルゴリズムを理解することが仕事に必要なのだ!」みたいな人
- 暗号などを研究する人
自分のような「ざっくり暗号とかハッシュとかについて体系的に学べればいいなー」という人には向いていない本でした。
というかまぁ個人的には
一般的なエンジニアには「この暗号アルゴリズムはなぜ安全なのか?」なんて理屈よりも、「どの暗号アルゴリズムが安全でどの暗号アルゴリズムが危険だ」とか「今後はこの暗号が主流になっていく」みたいな情報を”常にアンテナを張って追いかけていく事”のほうが遥かに大事
と思うので、この本を読む意味ってあんまりないんじゃね?と思います。
ただ誤解のないように言っておきたいのですが、本の内容自体は素晴らしいと思っています。暗号のアルゴリズムだけでなく暗号化の歴史などについても深く言及されていて、”暗号化”について深く知るには本当に素晴らしい本だと思います。
ただ、「私の目的に合わなかった」というだけの話です。
まぁ本のタイトルも「暗号化のすべて」などと銘打ってて、「ざっくり暗号化について学べるよ!」なんて一言も書いていないので、勘違いした私が100%悪いんですけどね。
おわり
コメント