現代暗号入門 いかにして秘密は守られるのか (ブルーバックス)

【最新 – 暗号技術について理解を深めるためのおすすめ本 – 基礎知識から応用技術まで】も確認する

現代暗号の進化とその仕組みについて分かりやすく解説

現代の暗号技術には、純粋数学者が追究した緻密で膨大な研究成果が惜しみなく投入されています。本書では、開発者と攻撃者の熾烈な争いを追いながら、実際に使われている暗号技術を解説します。また、現代的な暗号の基本要素である「共通鍵暗号」「ハッシュ関数」「公開鍵暗号」にくわえ、類書ではほとんど解説のない、ハードウェアの面からの暗号解読についても紹介しています。

神永 正博 (著)
出版社 : 講談社 (2017/10/18) 、出典:出版社HP

まえがき

もともと暗号は、軍事的な通信を秘匿するために作られた。長い間、我々の生活とは無縁なものだったが、今や暗号なしに生活するのは難しい。インターネットショッピング、携帯電話、Wi-Fi、ICカードはもちろん、ビットコインを始めとする暗号通貨も、電子署名とハッシュ関数という暗号技術でできている。
これほど暗号に依存しているにもかかわらず、技術の根本を理解し、最新技術に通じている者は驚くほど少ない。

暗号は数学技術の塊だ。だが、いわゆる純粋数学者が好むような格調高い領域ではなく、なんでもありの雑多な世界である。
この世界には、多種多様な蛮族が棲んでいる。出自もさまざまだ。数学出身者、電気工学を勉強していてたまたま暗号をやることになった者、名うてのハッカー、技術オタクのサラリーマン、政府諜報機関の役人、そして犯罪者。イーロン・マスクの誘いを断ったジョージ・フランシス・ホッツのような生きのいいハッカーもいる。暗号無政府主義者(クリプトアナキスト)を名乗るルイス・アイヴァン・クエンデは、スタンペリー社のスタートアップに携わり、ブロックチェーンテクノロジーで世界を変えようと目論む野心家だ。
暗号の開発者(ディフェンダー)と攻撃者(アタッカー)の応酬は、スポーツやゲームを思わせる。ディフェンダーが電子署名の処理を高速化するため、秘密鍵の一部を短くすれば、アタッカーは連分数で迎え撃つ。十分なランダム性を持たない乱数を、つい使ってしまったディフェンダー。アタッカーはそのわずかな隙も見逃さず、秘密素数を露わにする。またあるときは、ICカードの消費電力を統計処理にかけ、鍵を暴き出してみせる——。
なぜこんなことが可能なのか。例えば、連分数のような技術は数学から持ち込まれた。ランダム性の不足を見抜くには、ソフトウェアの知識が必要だ。消費電力の解析は電気の分野から。ICチップに格納された暗号の鍵を盗むため、マイクロサージェリーなる手術が行われることもある。これにはデバイスの加工技術が必要だ。
暗号業界は、様々なバックグラウンドを持った連中が発展させてきた。数学が100メートル走だとするなら、暗号はいわばトライアスロン。複合競技なのだ。

ある数学者が言っていた。
「この間の国際会議では驚いたよ。新しい暗号を発表したら、ピラニアみたいに暗号学者が食いついてきて、次から次へと暗号の欠点を探し出してきてね」と。
暗号が発表された途端、その場で他の学者たちがプログラムを書き、解読し始める。即座に解かれた暗号すらある。それが暗号業界だ。

この業界はとにかく進歩が速い。いわば暗号戦争ともいうべき世界的競争は加速するばかりである。
本書の最大の特徴は、実際に使われている現代的な暗号技術の概略が書かれていることだ。リアルな脅威に対応するため、執筆中にも数十ヵ所のデータを差し換えた。

現代的な暗号の基本要素は、共通鍵暗号、ハッシュ関数、公開鍵暗号である。これらを組み合わせて、様々なシステムを構築する仕組みになっている。本書では、それぞれの部品の役割とそれらの利用法が、様々な実例を通じて明らかになっている。
難解なテーマであり、登場する数式も独特なものが多いが、数式が全て理解できなくても現代暗号のエッセンスはつかめるはずだ。高校2年生レベル以上の数学知識(微積分はほぼ不要)があれば、十分に理解できるだろう。また必要なら、豊富な脚注と巻末注によって詳細を知ることもできる。暗号の初心者はもちろん、腕に覚えのある読者にも役立ててもらいたい。

暗号は面白い。頭脳で勝負する野蛮人のゲームを楽しんでいただけたら幸いである。

本書をまとめるにあたり、林優一氏(奈良先端科学技術大学院大学)、吉川英機氏(東北学院大学)の査読を受け、有益なコメントをいただいた。記して感謝したい。なお残る誤りは、全て筆者の責任である。

本書の見取り図は右のようになっている。第5章のサイドチャネルアタックは、暗号全てと関わるものである。

 

神永 正博 (著)
出版社 : 講談社 (2017/10/18) 、出典:出版社HP

目次

まえがき

第1章 共通鍵暗号
暗号の歴史は、情報を隠す側と見破る側の熾烈な競争の歴史でもある。最もシンプルな「シーザー暗号」から、高度な数学によって構成された現代の暗号まで、それらが破られてきた過程をたどりながら、それぞれの暗号の仕組みを学んでいこう。

ジュリアス・シーザーの暗号から
偏りを攻撃せよ
システムを構成する三種の神器
ある意味、最強—バーナム暗号—
シンプルだから速い—ストリーム暗号—
RC4、破られる
秘密主義は危険だ
ブロック暗号の基礎
米国標準ブロック暗号DES
差分解読法は想定されていた
あのDESを倒した—線形解読法—
美しいAES
暗号化しても元データが見える
IC乗車券、携帯電話SIMは何をしているか

第2章 ハッシュ関数
暗号の使い方は通信内容を秘匿するだけではない。この章では、暗号が、通信内容が第三者によって改竄されていないかを確認する手段になることや、ウェブサービスのパスワード認証にも用いられていることを解説する。

切り刻んで混ぜる法
マークル・ダンガード構成法
鍵付きハッシュ関数を破る
バースデーパラドックス
パスワード認証

第3章 公開鍵暗号——RSA暗号
これまでの章で扱った暗号は、暗号化の鍵(閉める鍵)と解読の鍵(開ける鍵)が同じものだった。しかし、1976年に登場した公開鍵暗号は、閉める鍵と開ける鍵が異なるという驚くべきものだった。本章では、代表的な公開鍵暗号のひとつRSA暗号を解説する。

公開鍵という思想
RSA暗号
素数は弾切れになるか
素数をどうやって見つけるか
ハイブリッド暗号方式
郵便チェスの応用—中間者攻撃—
電子署名とその証明
危険なNのサイズ
フランスの地下鉄を欺く
SSL
マイナンバーの何がどう安全なのか
公開鍵が使いまわされている?
復元可能なメッセージ
ブロードキャスト攻撃
極めて強力—連分数攻撃—

第4章 公開鍵暗号——楕円曲線暗号
RSA暗号はたくさんの素数を用意しなければならないという難点があった。そこで登場した技術のひとつが、離散対数問題という数学に基づいた「楕円曲線暗号」だ。じつは暗号通貨とも呼ばれる「ビットコイン」もこの技術を用いている。

より高速に
足し算をするには
有限体で考える
楕円曲線上の離散対数問題を応用する
楕円曲線署名(ECDSA)
痛恨のミス
ビットコイン
計算量という概念
一方向性関数は存在するか?

第5章 サイドチャネルアタック
暗号は、数学的な理論だけでなく、それを動かすハードウェアも重要な構成要素となる。本章では、ICチップの消費電力から暗号解読の手掛かりを得る方法や、そのような攻撃をどのように防ぐのかについて詳しく見ていく。

裏口を開ける
ICチップの仕組み
逆解析とマイクロ手術
時そば的フォールトアタック
高速化の代償
DFAからICチップを守る
巨大すぎて見えない敵
DPA—差分電力解析—
素朴な対策が効かない!
鉄壁の防衛が最強の攻撃になる

巻末注
参考文献
画像クレジット
索引

神永 正博 (著)
出版社 : 講談社 (2017/10/18) 、出典:出版社HP