暗号理論
暗号方式を応用した場合の用語 暗号 (cipher) サイファ化 (encipherment) デサイファ化 (decipherment) 暗号化アルゴリズム (enciphering algorithm) 復号アルゴリズム (deciphering algorithm) 暗号化鍵 (enciphering key) 復号鍵 (deciphering key) 暗号文 (cipher text) 署名 (signature) 署名 (sign) 検証(verify) 署名鍵(signature key) 検証鍵(verification key) メッセージ / 文書 署名データ / 署名 ハッシュ関数 (hash function) / メッセージダイジェスト (message digest) メッセージ / プレイメージ (pre-image) ハッシュ値 / フィンガープリント / ハッシュ
暗号方式の主な用途 秘匿通信 (secret communication) 認証 (authentication) / ディジタル署名 (digital signature)
注1) 「暗号アルゴリズム (cryptographic algorithm) は、暗号方式 (cipher) のことである」という定義もあるが、ここでは、暗号アルゴリズムとは、暗号方式 (cryptosystem) を定義する一つの要素であり、暗号方式には、暗号 (cipher) を始めとする幾つかの暗号プリミティブがあるという解釈で分類している。
現代暗号での暗号解読は、敵の暗号文を解読するという行為ではなく、公開された暗号法を分析し、平文や鍵を求める(数学の問題を解くのと同様な)アルゴリズムを見つけたり、隠れた問題を指摘するという研究となった。ここでの暗号法と暗号解読法の関わりは、大まかに次のように進展している。
S-1 ある暗号研究者が提案した暗号を別の暗号研究者が分析して解読方法を見つけ、さらに改良された暗号が提案されたり、さらに解読方法も改良されたりした。ここでは、暗号の問題点を見つけるために暗号解読が必要とされ、暗号法の発表と同様にそれらの解読に関する発表が行われた。
S-2 既存の暗号解読法に対して安全であることを主張&証明する暗号が提案され、さらに、それ以外の暗号解読法の発見が望まれた。実際に安全と思われていた暗号に暗号解読法が発表されたりした。
S-3 理想的な暗号を定義し、実際の暗号が理想的暗号と計算量的識別不能であることの証明を行うことが目的となった(暗号文が乱数と区別できない、あるいは、暗号関数が擬似ランダム置換族と区別できないような暗号方式等)。
S-3のような安全性証明可能な暗号方式が完成すると、暗号の安全性は根拠となる問題(素因数分解アルゴリズムの改良や量子コンピュータの実現等)や暗号以外(平文や鍵、装置の運用等)の問題に帰着されて、計算量的な制約やモデルの仮定、証明の不備などを除くと暗号解読は不可能であることを意味する。ここでは暗号解読法はもはや不要なのかは分からないが、少なくとも設計&解読の繰り返しで強い暗号を作る時代ではなくなることを意味すると考えられる。
信頼性の低い暗号 アルゴリズムが既知となった古典暗号 計算量的安全性の低い現代暗号 鍵の全数探索よりも効率的な解読法が存在する現代暗号 安全性の証明に不備がある現代暗号(第2期)
暗号プロトコルは、暗号化に関係するプロトコル(暗号化プロトコル)などから成る。または、より広い情報セキュリティ一般に関係するセキュリティプロトコルなど。
認証 相手認証 / 相互認証 / 片側認証 / ユーザ認証 Diffie-Hellman認証 / Schnorr認証 メッセージ認証 / メッセージ認証子 DES-MAC / HMAC / 鍵付きハッシュ関数 チャレンジ・レスポンス 公開鍵証明書 (→ PKI)
鍵共有 Diffie-Hellman鍵共有
ビットコミットメント
マルチパーティ計算 / 共同計算 コイン投げ メンタルポーカー ビザンチン将軍問題 紛失通信 / 忘却通信路 / (en:oblivious transfer)
ゼロ知識証明 / ゼロ知識対話証明 (ZKIP) (en:Zero-knowledge proof)
暗号プロトコル応用 時刻証明 / タイムスタンプ 電子投票 電子入札 電子マネー 電子公証
依頼計算 server-aid computation
同時交換 fair exchange
ミックスネット mix net
秘密分散 (en:Secret sharing) 検証可能秘密分散 (en:verifiable secret sharing)
閾値暗号 (threshold cryptosystem)
汎用的結合可能性 (universal composability) UCコミットメント UCゼロ知識証明