2024年に出版された暗号周りの書籍紹介

この記事は [EAGLYS Advent Calendar 2024](https://qiita.com/advent-calendar/2024/eaglys_adcal) の1日目の記事です

**突貫で書いてしまった部分もあるので、大いに誤りを含む可能性があります。誤字・脱字レベルでも構いませんので、ご指摘ください。
また、予告なしに内容の加筆や構成の変更を行うことがありますが、読みやすくするためのものですので、ご容赦ください**

# 自己紹介

秘密計算のスタートアップで働いている社会人２年目です
普段は、秘密計算の研究や社会実装を行なっています

最近は、外部に向けた勉強会もやっています
近々、第2回が開催されますので、皆さん是非ご参加ください
[第1回 EAGLYS暗号勉強会](https://connpass.com/event/330920/)

学生時代は、耐量子計算機暗号（特に符号ベース暗号）を研究していました
今でも細々と続けています

Qiita だけでなく、X や Zenn でも活動しています、もしよろしければ
[X のアカウント](https://x.com/0917laplace)
[Zenn のアカウント](https://zenn.dev/0917laplace)


# はじめに

アドカレ恒例の書籍レビュー記事なんですが、今年は冊数が多いので、１つの記事にまとめて書くことにします

和書は全部で5冊あり、これは全て購入した上でレビューを書いています

あくまで一個人の感想なので、実際に手に取ってみてから決めるのが良いと思います

~~書籍記事は書くのが楽なので、本当はこれだけで5本ぐらい稼ぎたい・・・~~

過去記事を見たい方は↓から

2021
[書籍『耐量子計算機暗号』の紹介](https://qiita.com/0917laplace/items/7c1535c3236c259e07ea)
[書籍『データ解析におけるプライバシー保護』の紹介](https://qiita.com/0917laplace/items/babf31440efe255e9e7d)
[書籍『セキュリティエンジニアのための機械学習』の紹介](https://qiita.com/0917laplace/items/7f20ef077967b44f9760)

2022
[書籍『現代暗号技術入門』の紹介](https://qiita.com/0917laplace/items/6991992b18db787bfaa4)
[書籍『暗号から学ぶ代数学』の紹介](https://qiita.com/0917laplace/items/066663667fc4d6393d11)
[書籍『社会に最先端の数学が求められるワケ』の紹介](https://qiita.com/0917laplace/items/22794ac4d87af980218a)

# 和書

なんと今年は暗号に関する和書が5冊も出版された（珍しい？）年でした

バリバリの理論から実装まで幅広く揃っているので、きっと探している本があるかもしれませんね（他人事）

## 暗号の理論と技術 量子時代のセキュリティ理解のために（2024/05/22 出版）

國廣，安田，水木，高安，高島，米山，大原，江村: ``暗号の理論と技術 量子時代のセキュリティ理解のために''，講談社 サイエンティフィック，2024．

### 目次
1章 暗号技術の基礎
2章 現代の暗号技術を支える数学
3章 カードベース暗号
4章 格子理論を用いた暗号攻撃
5章 量子計算基礎とその暗号への応用
6章 耐量子計算機暗号
7章 形式手法による安全性検証
8章 秘密計算
9章 証明可能安全性と高機能暗号

[詳細な目次](https://www.kspub.co.jp/book/detail/5356357.html)

### レビュー

話題の幅広さ：☆☆☆☆☆

カードベース暗号, 形式手法など他の書籍では中々触れられない話題も扱っていて、すごく読みやすいと思います

元ネタになった公開講座を受けたことがあるのですが、万人におすすめ、というより、各分野の入門としておすすめという印象です

とはいいつつも、数学に抵抗がなければ、これを１冊目にしてもいいかもです

ちなみに、いくつかサンプルプログラムが含まれていますが、少し調べた感じ、どこかしらのサイトに掲載されているわけではなさそうでした

## 暗号理論入門（2024/08/30 出版）

安永: ``暗号理論入門''，森北出版，2024．

### 目次

第1章　情報を隠す
第2章　秘匿とは
第3章　計算量的な安全性
第4章　擬似ランダム
第5章　複数回の暗号化
第6章　ランダム関数のような関数
第7章　メッセージの認証
第8章　整数論にもとづく暗号
第9章　暗号文を作り変える
第10章　ハッシュ関数とランダムオラクル
第11章　計算の理論と暗号
第12章　情報理論的なテクニック
第13章　入力を隠して計算
第14章　差分プライバシ
第15章　ブロックチェーン

[目次](https://www.morikita.co.jp/books/mid/008421)

### レビュー

演習問題の豊富さ：☆☆☆☆☆

演習問題が各章に載っているので、問題を解いて理解を深めたい方向けです

しかも巻末に解答は載っています・・・とは言いつつも、安全性証明に関するものは略解なので、自分で細部まで埋めるようにした方がいいと思います

そのうち、この本での勉強会・自主ゼミがどこかで開かれそう（もうあるのかな？）ですし、そういう意味で今回の中で最も勧められます、厚すぎずでちょうどいいです

## Pythonで学ぶ暗号理論（2024/10/15 出版）

神永，吉川: ``Pythonで学ぶ暗号理論''，コロナ社，2024．

### 目次

1.　共通鍵暗号
2.　ブロック暗号の基礎
3.　現代のブロック暗号と暗号利用モード
4.　ブロック暗号に対する差分解読法・線形解読法
5.　ハッシュ関数とメッセージ認証子
6.　ハッシュ関数の衝突シミュレーション
7.　RSA暗号とRSA電子署名
8.　RSA暗号の実装アルゴリズム
9.　素数生成
10.　RSA暗号に対する攻撃
11.　平方剰余とラビン暗号
12.　楕円曲線と楕円曲線上の離散対数問題
13.　楕円曲線の暗号への応用

[詳細な目次](https://www.coronasha.co.jp/np/isbn/9784339029468/)

### レビュー

プログラムの豊富さ：☆☆☆☆☆

CTF の Crypto でよく使われる（らしい）pycryptodome ライブラリを使って、コードを説明しています

必要な事前知識こそ書かれてるものの、かなり最低限なので、ある程度の理論を理解している人向けかな・・・？という印象です
1冊目というより2冊目向きかもしれません

ちょっとぶ厚めなのかなと思っていたら、そんなことなかったです
（とはいっても少し大判でした、プログラムを載せる都合で仕方ないんですかね）

ちなみに zip 形式でサンプルプログラム（.py, .ipynb）が添付されています
https://www.coronasha.co.jp/np/resrcs/docs.html?goods_id=8353

## 現代暗号理論（2024/10/17 出版）

高木: ``現代暗号理論''，岩波数学業書，2024．

### 目次

1　現代暗号基本技術
2　RSA暗号
3　離散対数問題ベース暗号
4　耐量子計算機暗号
5　格子暗号

[詳細な目次](https://www.iwanami.co.jp/book/b652389.html)

### レビュー

見た目：☆×∞
＊岩波数学叢書なので、装丁がカッコ良すぎます

とにかくかっこいい

目次を見るとわかるように、大きく分けると、RSA暗号・離散対数問題ベース暗号・格子暗号の3つがメインになります

攻撃アルゴリズムってたくさんありすぎて、まとめるのめんどくさいんですよね・・・
なんですが、この本を読めば一発で、各テーマに様々なアルゴリズムが記載されており、安全性評価の歴史の一端を感じることができます
＊もちろん網羅しているわけではないと思うので、もっと知りたい方は論文を調べましょう

この本が読めれば（分かれば）、そのまま関連する論文を読んでも、議論を追えると思います

## 暗号解読 実践ガイド（2024/10/25 出版）

E. Dunin, K. Schmeh: ``暗号解読 実践ガイド''，マイナビBOOKS，2024．

### 目次

1章 暗号化されたメッセージを破るにはどうするか？そして、その他の入門的な質問
2章 シーザー暗号
3章 単一換字式暗号
4章 単語間に空白を入れない単一換字式暗号: パトリストクラット
5章 英語以外の言語における単一換字式暗号
6章 同音字暗号
7章 コードとノーメンクラター
8章 多換字式暗号
9章 完全縦列転置暗号
10章 不完全縦列転置式暗号
11章 回転グリル転置暗号
12章 ダイグラフ置換
13章 略語暗号
14章 辞書暗号と書籍暗号
15章 その他の暗号化方式
16章 ヒル・クライミングによる暗号解読
17章 次はどうする？

[目次](https://book.mynavi.jp/ec/products/detail/id=145965)

### レビュー

古典暗号の網羅性：☆☆☆☆☆

上記4冊とは異なり、古典暗号（シーザー暗号とか）に関する書籍です

確かに古典暗号って、シーザー暗号・単一換字式暗号ぐらいしか知らんな・・・

数式とかも出てこないので、休憩がてら読んだりするのもありかもです

付録が充実していたのも良きです

# 洋書

数えようとしたらキリがないので、一旦 Sprigner だけで・・・

Springer から出版された Cryptograhy に関する本も今年は5冊のようですね
*ちなみにどれも読めてないです・・・高いんじゃぁ・・・

https://link.springer.com/search?new-search=true&query=Cryptography&content-type=textbook&date=m12&dateFrom=&dateTo=&sortBy=newestFirst

[Understanding Cryptography](https://link.springer.com/book/10.1007/978-3-662-69007-9)
↑は第2版

[Cryptography and Embedded Systems Security](https://link.springer.com/book/10.1007/978-3-031-62205-2)

[Number Theory with Computations](https://link.springer.com/book/10.1007/978-3-031-63814-5)

[Computational Thinking](https://link.springer.com/book/10.1007/978-3-031-59922-4)

[History of Cryptography and Cryptanalysis](https://link.springer.com/book/10.1007/978-3-031-67485-3)

# まとめ

和書に関しては、

- 暗号理論にどのような分野があるか広く知りたい
→暗号の理論と技術 量子時代のセキュリティ理解のために
- 暗号に関わる演習問題を解きたい or 暗号の自主ゼミ・勉強会の本を探している
→暗号理論入門
- 暗号に関わる実装を色々知りたい or pycryptodome の演習をしたい
→Pythonで学ぶ暗号理論
- 一通りの暗号理論の知識があり、安全性証明・RSA暗号・離散対数問題ベース暗号・格子暗号を詳しくやりたい
→現代暗号理論
- ブロック暗号や公開鍵暗号などに飽きた or 古典暗号を深く知りたい
→暗号解読 実践ガイド

みたいな感じですかね？

来年はどのような書籍が出版されるのか、今から非常に楽しみです

（ちなみに弊社の書籍購入補助制度を使って購入しています）

------------------
今回の内容はここまでです。ここまでご覧になってくださった方々ありがとうございます！