読書メモ:暗号の理論と技術 量子時代のセキュリティ理解のために
近年では、これまでに「暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書」や「ゼロ知識証「暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書」や「ゼロ知識証明入門」を通して最近の暗号技術を確認し、暗号理論と関連する数学である群論も「群論への第一歩 集合、写像から準同型定理まで」を通じて学びました。また、数学的な難易度から理解に苦しみながらも「暗号理論と楕円曲線ー数学的土壌の上に花開く暗号技術ー」で楕円曲線公開鍵暗号のコアとなる理論を学びました。
そして今回はさらに「暗号の理論と技術 量子時代のセキュリティ理解のために」を購入し、暗号理論と技術の知識を深めよう思いました。この本には、今まで学んできたトピックに加え、格子暗号、形式的手法、秘密計算など、これまで本格的に学ぶ機会がなかったトピックも含まれているためです。この書籍も「暗号理論と楕円曲線ー数学的土壌の上に花開く暗号技術ー」と同様に高度な数学的内容を含みますが、手厚い解説で理論だけでなく実装方法も盛り込み、工学的な観点で書かれているため、技術者や研究者のみならず、暗号理論に興味のある情報工学や応用数学の学生も対象としているように感じました。
すべてを理解するには暗号理論や量子コンピュータの原理を熟知していなければ難しい内容でしたが、私のような非専門家でも十分に理解できるトピックも含まれていました。以下は、学んだ内容を各章ごとにまとめたものです。
第1章 暗号技術の基礎
最初の章は、主に基本的な暗号の概念の解説が中心ですが、数学的な内容も含まれます。すでに「暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書」や「群論への第一歩 集合、写像から準同型定理まで」を読んでいれば理解しやすい内容です。暗号技術の基礎を数学的に理解する助けとなり、これ以降の章の理解の基礎となります。
第2章 現代の暗号技術を支える数学
この章は個人的に最もお気に入りです。抽象代数学の「群・環・体」の基礎を理解していれば、RSA暗号や公開鍵暗号を数学的に理解できるように丁寧に解説されています。さらに、SageMathという数学用プログラミング言語を使い、RSA暗号や公開鍵暗号、デジタル署名アルゴリズムを実装して理解を深められるよう工夫されています。数学的に難しい部分を、実装を通して理解できるアハ体験が得られました。正直写経が動作した時に、暗号学者や数学者たちへの畏怖の念を感じずにはいられませんでした。
ただ、後半に進むと格子暗号の実装が登場し、高度で理解が難しく、完全な写経だけにとどまりました。格子暗号は量子コンピュータで利用が見込まれる暗号であり、そのため数学的にも非常に難解でした。
第3章 カードベース暗号
シンプルながら面白い秘密計算技術です。カードベース暗号は、トランプをシャッフルして情報を隠しながら秘密計算を行う技術です。この章は高度な数学を使用せずに解説しているため、基本的な集合論と疑似コードを読めればほぼ理解可能です。最後にはナンプレを使ったゼロ知識証明プロトコルも登場し、ゼロ知識証明の難しい概念を身近なパズルゲームで理解できます。
第4章 格子理論を用いた暗号攻撃
ここから再び高度な数学が登場し、RSA暗号に対する格子理論を用いた攻撃方法が解説されています。Coppersmithの手法や部分鍵導出攻撃など、数学的に高度な攻撃方法に驚かされますが、自分の数学的理解を超えてしまう部分も多くありました。とはいえ、特定の条件下で暗号を解読できる可能性を知り、特定条件下での暗号技術の脆弱性を再認識させられる章です。
第5章 量子計算基礎とその暗号への応用
量子コンピュータの進化により、現在の楕円曲線暗号はShorのアルゴリズムによって解読可能になるとされています。この章では、量子コンピュータの動作原理とShorのアルゴリズムを量子ゲートを用いて解説していますが、数学的にも高度で、私自身は途中でついていけなくなりました。しかし、量子コンピュータの理論やアルゴリズムに興味がある人には非常に役立つ内容です。
第6章 耐量子計算暗号
この章も数学的に高度なトピックが続きます。実用的な量子コンピュータが登場すると、公開鍵暗号などが解読可能になり、過去の暗号化データも危険に晒されます。そのため、格子暗号が実用的な対策として注目され、NISTでの標準化に向けた技術選定も進行中です。ここではCRYSTALS-KYBER暗号化やFALCON署名について触れられていますが、理解するには非常に高い認知力が求められます。格子暗号ではありませんが、技術選定の冗長化のため、イーサリアムでも利用されるマークル署名が技術選定候補に残っています。より効率的なSPHINCS+というステートレスのマークル署名についても紹介され、特にブロックチェーン技術を学んだ方には有益なトピックです。
第7章 形式手法による安全性検証
形式手法によりバグのないシステムを作れるという考えは多くの人に知られていますが、実際にどのように用いるかは意外と知られていません。この章では、ProVerifというツールを使って暗号プロトコルを形式化し、その使い方を学べます。ただし、内容は難解で、使い方を覚えるだけでも手一杯かもしれません。後半の「確率関係ホーア論理」では、理解が追い付かなくなりましたが、この章で形式手法の具体的な使い方を知るだけでも新たな視点が得られると感じました。
第8章 秘密計算
この章は、暗号化したまま計算する技術や、複数人が秘匿情報を用いて計算するマルチパーティ計算(MPC)を扱います。具体的には、BGW型MPCなどのプロトコルが登場し、動作を含めて確認しないと完全に理解することは難しいと感じましたが、注目の情報技術の最前線に触れられる貴重な章です。
第9章 証明可能安全性と高機能暗号
暗号方式の安全性を評価する証明可能安全性について解説され、コンセプトの理解には苦労しましたが、暗号方式の選定により安全性を高めるには、深い技術的知識が必要だと再認識させられました。また、ゼロ知識証明やグループ署名、IDベース暗号(公開鍵文字列を自由に設定できる)といった興味深い高機能暗号のトピックも簡潔に紹介されており、自分でのさらなる調査が必要だと感じました。
まとめると、この書籍は非常に多岐にわたる暗号技術の知識を深められる素晴らしい書籍です。難しい内容も多く含まれていますが、それが新たな学びの起点となります。高度な暗号理論と技術に興味を持つ方にぜひお勧めしたい一冊です。
コメント投稿フォーム
コメントが1件あります。

[…] 最近、『暗号の理論と技術 量子時代のセキュリティ理解のために』や『暗号理論と楕円曲線 ー 数学的土壌の上に花開く暗号技術 ー』を読んで、大学レベルの数学の理解に課題を感じて […]