Awesome Crypto Papers
Crypto Papersを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
- データセキュリティと暗号技術の入門
- 個別のトピック
- Hashing - 現代およびクラシックハッシュにおける重要な要素
- Secret key cryptography - すべての対称暗号に関する内容
- Cryptanalysis - 暗号システムへの攻撃
- Public key cryptography: General and DLP - RSA、DHおよびその他のクラシック技術
- Public key cryptography: Elliptic-curve crypto - ECC、実用的な暗号システムに焦点を当てる内容
- Zero Knowledge Proofs - 知識の証明およびその他の非開示暗号システム
- Math - 暗号文脈における有用な数学的資料
- Post-quantum cryptography - 量子時代における暗号
- 書籍
- 講義と教育コース
- オンライン暗号チャレンジ
リスト
データセキュリティと暗号技術の入門
基礎:非エンジニア向け暗号技術
- Nuts and Bolts of Encryption: A Primer for Policymakers。
- Keys under Doormats - あるいは暗号がバックドアを設けられないべきである、世界中の暗号研究者による全員の委員会による論説
短い入門
- An Overview of Cryptography - ガリー・C・ケスラーによる
- Using Encryption for Authentication in Large Networks - ニードハム、シュレーダー:これは暗号ベースの認証が開始される場所
- Communication Theory of Secrecy Systems - クラウド・シャノンによる暗号の基本論文
暗号技術全般
- Another Look at “Provable Security” - ネール・コブリッツらによる形式主義およびセキュリティ証明の直感的な背景に関する調査
- The security impact of a new cryptographic library - ダニエル・J・ベルストーン、タンジャ・ランゲ、ペーター・シュヴァブによるNaClに関する導入論文。暗号の実装およびセキュリティシステムにおける大きな構成要素としての使用に関する重要な側面を論じている
個別のトピック
ハッシュ
- FIPS 198-1: HMACs - キーハッシュメッセージ認証コード(HMAC)に関するFIPS文書
- FIPS 202: SHA3 - SHA-3標準:置換ベースハッシュおよび拡張出力関数
- Birthday problem - の背後にある数学の最もシンプルな説明 birthday attack
- On the Security of HMAC and NMAC Based on HAVAL, MD4, MD5, SHA-0 and SHA-1 - ジンスン・キムらによる異なるlegacy HMACスキームのセキュリティ分析
- On the Security of Randomized CBC-MAC Beyond the Birthday Paradox Limit - E. ジャルムズらによるランダム化CBC-MACのセキュリティ分析および、バースデイパラドックスに耐え、確実に完全セキュリティを達成する新しい構成法
秘密鍵暗号
- FIPS 197 - AES FIPS文書
- List of proposed operation modes of AES - NISTが維持しています。
- Recomendation for Block Cipher modes of operation: Methods and Techniques。
- Stick figure guide to AES - 上記の内容が少し難しかったか、あるいは良い笑いを求めていらっしゃる場合です。
- Cache timing attacks on AES - Daniel J. Bernsteinによる、暗号実装に対する優れた実用的な攻撃の設計例。
- Cache Attacks and Countermeasures: the Case of AES - Dag Arne Osvik、Adi ShamirおよびEran TromerによるAESに対するサイドチャネル攻撃、別の視点。
- Salsa20 family of stream ciphers - Daniel J. BernsteinによるSalsa20暗号の安全性に関する概説。
- New Features of Latin Dances: Analysis of Salsa, ChaCha, and Rumba - Jean-Philippe AumassonらによるSalsa2-0暗号ファミリーの分析。
- ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS) - Adam LangleyらによるChaCha暗号スイートファミリーのIETF草案。
- AES submission document on Rijndael - Joan DaemenとVincent RijmenによるRijndaelの原提案。
- Ongoing Research Areas in Symmetric Cryptography - ECRYPT暗号学ネットワークによる、秘密鍵暗号とハッシュ関数の研究概要。
- The Galois/Counter Mode of Operation (GCM) - David A. McGrewおよびJohn ViegaによるGCMを導入した元論文。
- The Security and Performance of the Galois/Counter Mode (GCM) of Operation - David A. McGrewおよびJohn ViegaによるGCMの設計、分析および安全性、特にAES GCMモードについて。
- GCM Security Bounds Reconsidered - Yuichi Niwa、Keisuke Ohashi、Kazuhiko Minematsu、Tetsu IwataによるAES GCMにおけるノンス生成の分析およびアルゴリズム(高いカウンターコンフリクト確率を考慮)。
- Proxy-Mediated Searchable Encryption in SQL Databases Using Blind Indexes - Eugene Pilyankevich、Dmytro Kornieiev、Artem Storozhukによる既存の検索可能暗号方式の概要と、AES-GCM、ブラインドインデックス、Bloomフィルターを用いる方式の分析。
- DES is not a group - DESの置換(各DES鍵に対する暗号化および復号)の集合が関数合成の下で閉じていないという、古いが価値のある数学的証明。これは、複数回のDES暗号化が単一のDES暗号化と同等ではないことを意味し、DESの置換集合によって生成される部分群のサイズは10^2499以上であり、DESに対する潜在的な攻撃が小さな部分群を活用するという可能性は極めて小さいことを示している。
暗号解析
- Differential Cryptanalysis of Salsa20/8 - Yukiyasu Tsunooらによるストリーム暗号の暗号解析の素晴らしい例。
- Slide Attacks on a Class of Hash Functions - M. Gorskiらによるハッシュ関数へのスライド攻撃(ブロック暗号の典型的な暗号解析手法)の適用。
- Self-Study Course in Block Cipher Cryptanalysis - Bruce Schneierによる、ブロック暗号の暗号解析に関する既存文献を学生が学習できるように整理した試み。
- Statistical Cryptanalysis of Block Ciphers - Pascal Junodによる。
- Cryptanalysis of block ciphers and protocols - Elad Pinhas Barkanによる。
- Too much crypto - Jean-Philippe Aumassonによる対称暗号プリミティブの回数に関する分析および、少ない回数で実行すべき提案。
- How to Break MD5 and Other Hash Functions - Xiaoyun WangとHongbo Yuによる、MD5、MD4などのハッシュ関数に対するモジュラー差分衝突攻撃を扱った2005年の論文。
- New attacks on Keccak-224 and Keccak-256 - Itai Dinur、Orr Dunkelman、Adi Shamirによる、差分技法と代数的技法を組み合わせたSHA-3への衝突攻撃を扱う2012年の論文。
- A Single-Key Attack on the Full GOST Block Cipher - ゴストブロック暗号に対する攻撃(「反射・ミッド・イン・ザ・ミドル攻撃」)で、2^225回の計算と2^32の既知平文を用いて鍵を回復できる、磯部孝則による。
- Intro to Linear & Differential Cryptanalysis - 初心者向けに線形および微分暗号解析の技術を説明・実証する論文。
- MEGA: Malleable Encryption Goes Awry - MEGAデータストレージに対する攻撃の概念実証版。実用性と悪用可能性を示す。公式サイト。
公開鍵暗号:全般とDLP
- New Directions in Cryptography - ディフィーとヘルマンによる、公開鍵暗号および鍵交換/合意プロトコルを導入した論文。
- RFC 2631: Diffie-Hellman Key Agreement - ディフィー・ヘルマン手法について、より工学的な視点で説明するもの。
- A Method for Obtaining Digital Signatures and Public-Key Cryptosystems - RSAアルゴリズムを導入した元論文。
- RSA Algorithm - RSAのすべてのビットについての教育的な説明。
- Secure Communications Over Insecure Channels - R. メルクルによる論文。『新しい暗号の方向性』より前に書かれたが、後に発表されたもの。ディフィー・ヘルマン鍵交換はそのメルクルシステムの実装である。
- On the Security of Public Key Protocols - ドレーヴ・ヤオモデルは、インタラクティブ暗号プロトコルの性質を証明するために用いられる形式モデル。
- How to Share a Secret - 秘密を共有するための安全な方法。
- Twenty Years of Attacks on the RSA Cryptosystem - RSAおよびその内部構造に対する攻撃に関する優れた調査、ダン・ボーンによる。
- Remote timing attacks are practical - 実際の暗号実装に対する攻撃の例、D. ボーン、D. ブルミーによる。
- The Equivalence Between the DHP and DLP for Elliptic Curves Used in Practical Applications, Revisited - K. ベンタハールによる。
- SoK: Password-Authenticated Key Exchange – Theory, Practice, Standardization and Real-World Lessons - PAKEアルゴリズムの歴史および分類。
- RSA, DH and DSA in the Wild - 非対称暗号の実装ミスがもたらした攻撃のコレクション。
公開鍵暗号:楕円曲線暗号
- Elliptic Curve cryptography: A gentle introduction。
- Explain me like I’m 5: How digital signatures actually work - EdDSAを簡潔かつ美しく説明するもの。
- Elliptic Curve Cryptography: finite fields and discrete logarithms。
- Detailed Elliptic Curve cryptography tutorial。
- Elliptic Curve Cryptography: ECDH and ECDSA。
- Elliptic Curve Cryptography: breaking security and a comparison with RSA。
- Elliptic Curve Cryptography: the serpentine course of a paradigm shift - 楕円曲線暗号(ECC)の開発および採用に関する歴史的調査。
- Let’s construct an elliptic curve: Introducing Crackpot2065 - ECCをゼロから構築するための優れた例。
- Explicit-Formulas Database - 楕円曲線の表現形態についての多くの文献
- Curve25519: new Diffie-Hellman speed records - Curve25519に関する論文
- Software implementation of the NIST elliptic curves over prime fields - M. Brown 他による楕円曲線暗号の実装例
- High-speed high-security signatures - Daniel J. Bernstein 他による ed25519 曲線における EdDSA署名に関する論文
- Recommendations for Discrete Logarithm-Based Cryptography: Elliptic Curve Domain Parameters (NIST SP 800-186) - NISTが公表した楕円曲線を安全に実装するためのガイド。数学上の簡略化、最適化、誤ったアルゴリズム実装によるセキュリティリスクも扱う。(2023年2月)
- Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies - ECDSAのnonceにおけるバイアスを分析・活用して秘密鍵を計算する方法
- Minerva: The curse of ECDSA nonces - ECDSA署名から秘密鍵を回復するためのタイミングやビット長の漏洩を活用する方法
- LadderLeak: Breaking ECDSA With Less Than One Bit Of Nonce Leakage - 160ビットの曲線ECDSAを、1ビット未満の漏洩で攻撃する方法
ゼロ知識証明
- Proofs of knowledge - 知識の証明と計算能力の証明に関する研究、M. Bellare と O. Goldreich による論文
- How to construct zero-knowledge proof systems for NP - ゴールドリッヒ、ミカリ、ウィグデルスによる古典的な論文
- Proofs that yield nothing but their validity and a Methodology of Cryptographic protocol design - 上記の論文に類するもの、ゴールドリッヒ、ミカリ、ウィグデルスによるもの
- A Survey of Noninteractive Zero Knowledge Proof System and Its Applications。
- How to Prove a Theorem So No One Else Can Claim It - マヌエル・ブルムによる論文
- Information Theoretic Reductions among Disclosure Problems - ブラスアウなどによる論文
- Knowledge complexity of interactive proof systems - ゴールドワッサー、ミカリ、ラックオフによる論文。ゼロ知識証明における「知識」の計算複雑性を定義するもの
- A Survey of Zero-Knowledge Proofs with Applications to Cryptography - 元のZKPプロトコルに関する素晴らしい導入
- Zero Knowledge Protocols and Small Systems - ゼロ知識プロトコルに関する良い導入
- Multi-Theorem Preprocessing NIZKs from Lattices - Sam Kim と David J. Wu による、格子ベースの事前処理モデルを用いた非相互ゼロ知識(NIZK)証明の構成
鍵管理
- Recommendation for Key Management – Part 1: General - 鍵管理の目的と手順に関する方法論的に非常に関連のある文書
- Selecting Cryptographic Key Sizes - 1999年の古典的な論文。対称暗号システム、RSA、ECCにおける鍵サイズの決定ガイドラインを示す、Arjen K. Lenstra と Eric R. Verheul によるもの
数学
- PRIMES is in P - 入力数が素数か合成数かを決定する、絶対的に決定的かつ多項式時間のアルゴリズム
耐量子計算機暗号
- Kyber and Dilithium - NISTが2024年8月に標準化した、耐量子の格子ベース鍵カプセル化方式Kyber(ML-KEM)と署名方式Dilithium(ML-DSA)を解説する講義。
- Post-quantum cryptography - dealing with the fallout of physics success - 後量子コンピュータによる攻撃に対抗する暗号システムを構築するために使える数学的タスクの概観。
- Post-quantum cryptography - 後量子暗号についての導入。
- Post-quantum RSA - ダニエル・ベルンシュタインが後量子時代においてRSAを守る方法を示した洞察。
- MAYO: Practical Post-Quantum Signatures from Oil-and-Vinegar Maps - 1997年にパタリンによって提唱されたオイルとワイン署名スキームは、最も古く、最もよく理解されている多変量二次署名スキームの一つである。性能と署名サイズにおいて優れている。本論文は、後量子時代におけるこのアルゴリズムの活用を強化することについて述べている。 Official website。
書籍
少し範囲外に見えるかもしれませんが、オンラインで全文を無料で読める書籍だけを掲載しています。連続した論文として読むこともできます。
- A Graduate Course in Applied Cryptography - Dan BonehとVictor Shoupによる、暗号学、暗号解析、関連セキュリティのバランスの取れた入門コース。
- Analysis and design of cryptographic hash functions, MAC algorithms and block ciphers - バート・ヴァン・ロマペイによる、さまざまな暗号およびハッシュ関数の設計と暗号解析に関する概観。
- CrypTool book - 主に数学的に焦点を当てた暗号プロトコルの学習、使用、実験に関する情報。
- Handbook of Applied Cryptography - アルフレッド・J・メネゼス、パウル・C・ヴァン・オルシュト、スコット・A・ヴァンストーンによる。古典的な暗号学と暗号についての優れた導入。
- The joy of Cryptography - マイク・ロスルエクによる。非常に基本的な内容をよく解説している。ECCは含まれていない。
- A Computational Introduction to Number Theory and Algebra - ビクトル・シュープによる、暗号学で普遍的に使われる数学についての優れた入門書。
講義と教育コース
- Understanding cryptography: A textbook for Students and Practitioners - テキストブック、素晴らしい講義、問題演習を含む。
- Crypto101 - Crypto 101は、すべての年齢とスキルレベルのプログラマー向けに無料で提供される暗号学の導入コース。
- A Course in Cryptography - ラファエル・パスとアヒ・シェラトによる講義ノート。
- Lecture Notes on Cryptography - シャフィ・ゴールドワーザー(MIT)、M. ベラレによる有名な暗号学講義セット。
- Introduction to Cryptography by Christof Paar - クリストフ・パール(ドイツのボーチム大学)による英語のビデオコース。
- Cryptography I - スタンフォード大学のDan Boneh教授によるコース。Cryptography IIはまだ開発中。
オンライン暗号チャレンジ
厳密には論文ではありませんが、暗号チャレンジは優れた教材です。
-
MTC3 - 難易度の異なる200以上の暗号課題、管理されたフォーラム、殿堂を備えるコンテスト。
ライセンス
法律で認められる範囲において、著者は本作品に関するすべての著作権および関連する権利を放棄しています。