Fascination N−D−File 暗号理論

戻る


情報理論(電気・電子系教科書シリーズ)


情報理論のエッセンス


宇宙を復号する
―量子情報理論が解読する、宇宙という驚くべき暗号 (単行本)

暗号理論(あんごうりろん)とは、暗号(Cryptography)と暗号解読(Cryptanalysis)を扱う理論の事を指す。

暗号は、Cryptography, Cipher, Code と対応する言葉であり、

  1. 秘密の表記そのもの、またはその表記法を指すことがある。
  2. 暗号方式(Cryptosystem)の構成法や性能・安全性などに関する研究を指すことがある。
  3. 暗号や電子署名といった守秘(Confidentiality)や完全性(Integrity)を実現する、暗号アルゴリズムや暗号プロトコルを研究する学問を指すこともある。

などの意味がある。暗号理論では主に2〜3を扱い、1は主に暗号にて扱う。必要に応じて「暗号(cryptography)」「暗号(cipher)」のように書き分けることにする。暗号アルゴリズムは、狭義には暗号方式のアルゴリズムを指すが広義には暗号や電子署名などのアルゴリズムを指すことがある。

暗号理論では、主として、アルゴリズムやプロトコルによりセキュリティ機能を実現する研究(情報セキュリティ)がなされており、OSやネットワークの特徴を生かしてセキュリティ機能を実現する研究(コンピュータセキュリティやネットワークセキュリティ)と区別される。

暗号理論には、情報理論、符号理論、計算複雑性理論といった計算機科学、数論や代数幾何、離散数学と言った数学、時には力学系などの物理学の知見が用いられることもある。

概要

用語

暗号理論で使われる用語。

  • 暗号理論 - 暗号や暗号解読を扱う理論。本ページの記事名。
  • 暗号技術(cryptographic techniques) - 暗号に関する技術。暗号プリミティブや暗号プロトコルを駆使して、機密(confidentiality)・完全性(integrity)・認証(authentication)・否認防止(Non-repudiation)などのセキュリティ機能を実現することを目的とする。鍵管理などの暗号を利用する為に必要な技術も含む。
  • 暗号学(cryptology) - 暗号と暗号解読を合わせたもの
    • 暗号[法](cryptography) - 暗号方式(とその応用)の構成法や性能、安全性などに関する研究。暗号術ということもある。
    • 暗号解読[法](cryptanalysis) - 暗号方式(とその応用)の解読法に関する研究。暗号分析、暗号解析ということもある。
  • 暗号学者(cryptologist) -
    • 暗号研究者(cryptographer) - 暗号を専門的に研究する人。まれに平文を暗号文に変換する作業に従事する人(暗号師)を指すことがある。
    • 暗号解読者(cryptanalyst) - 復号鍵を用いずに、暗号文を平文に戻すことを試みる人。まれに暗号文を復号する作業に従事する人を指すことがあるが、復号と解読は区別するべきである。
  • 暗号プロトコル(cryptographic protocol) -
  • 暗号プリミティブ(cryprographic primitive) - 暗号方式を、元々の目的であった秘匿だけではなく、署名・認証などの基本的ツールに適応したもののこと。cipher, signature, hash などがある。別の用法として、主に公開鍵暗号方式で、要となるトラップドア関数と、パディング等の周辺部分に分けて、前者を暗号プリミティブと称することがある(後者は暗号スキームという)。
  • 暗号方式 / 暗号システム / 暗号系(cryptographic scheme, cryptographic system, cryptosystem) - 暗号化鍵(encryption key)を用いて、平文(plaintext)を暗号文(cryptogram)に変換する(暗号化(encryption))アルゴリズムと、復号鍵(decryption key)を用いて、暗号文を平文に変換する(復号(decryption))アルゴリズム、鍵、平文、暗号文などからなるシステムのことである。
    • 暗号アルゴリズム(cryptographic algorithm) / 暗号関数
      • 暗号化(encryption)
      • 復号(decryption)
      • 鍵生成 (key generation)
    • 暗号データ
      • 暗号鍵 / 鍵(key)
        • 暗号化鍵(encryption key)
        • 復号鍵 / 復号化鍵(decryption key)
      • メッセージ(message)
        • 平文(plain text) / 明文(clear text)
        • 暗号文(cryptogram)
  • 暗号方式の実現手段に関する用語
    • 対称鍵暗号方式 - 暗号化鍵(encryption key)と復号鍵(decryption key)が同じ、あるいは片方の鍵から他方の鍵を容易に求めることができることを特徴とする暗号方式。
      • 秘密鍵(secret key) / 共通鍵(common key) / 共有鍵(shared key)
    • 非対称鍵暗号方式 - 暗号化鍵から復号鍵を求めることが難しいことを特徴とする暗号方式。
      • 鍵ペア(key pair) - 公開鍵と秘密鍵のこと。
        • 公開鍵(public key) - 暗号化鍵(encryption key)のこと。
        • 秘密鍵 / 私有鍵 / 私用鍵 / プライベート鍵(private key) - 復号鍵(decryption key)のこと。個人鍵と訳すこともある。過去にはprivate keyの意味でsecret keyと記述することもあった。
      • 公開鍵演算(public-key operation) - 公開鍵を用いた演算。暗号(cipher)の場合は暗号化(encipherment)であり、署名(signature)の場合は、検証(verify)になる。
      • 秘密鍵演算(private-key operaion) - 秘密鍵を用いた演算。暗号(cipher)の場合は復号(decipherment)であり、署名(signature)の場合は、署名(sign)になる。
  • 暗号方式を応用した場合の用語
    • 暗号 (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)
      • ハッシュ値 / フィンガープリント / ハッシュ
    • 擬似乱数
      • シード(seed)
  • 暗号方式の主な用途
    • 秘匿通信(secret communication)
    • 認証(authentication) / デジタル署名(digital signature)

注1) 「暗号アルゴリズム(cryptographic algorithm)は、暗号方式(cipher)のことである」という定義もあるが、ここでは、暗号アルゴリズムとは、暗号方式(cryptosystem)を定義する一つの要素であり、暗号方式には、暗号(cipher)を始めとする幾つかの暗号プリミティブがあるという解釈で分類している。

展開

暗号自身は古代エジプトの時代から存在したが、その理論的研究は1949年のシャノン(Shannon)の研究に始まる。 シャノン以前には、9世紀にキンディ(Al-Kindi)、15〜16世紀に アルベルティ(Alberti)、トリテミウス(Trithemius)、ポルタ(Porta)が執筆した暗号の書籍が残されているが多くは秘密であった。

シャノンは、攻撃者が無限の計算能力を持っているという仮定の元で、平文に関する情報量がどの程度攻撃者に漏れるかを研究し(情報理論的安全性)、この意味で安全な暗号方式はワンタイムパッドな暗号方式だけである事を示した。

暗号法や暗号解読法は、利用できる道具によって大きく影響を受ける。特に1940年代前後から始まった電子計算機によって、暗号解読可能な範囲が飛躍的に広がり、また、電子回路によって暗号がより効率的に実装できるようになった。

このような計算機の発展を背景にして、1970年代の後半に誕生したDESとRSAが現代暗号の代表である。共に、アルゴリズムが公開されていて、暗号鍵が秘密であることが安全性の前提となっている(計算量的安全性)。

これ以前にも、暗号アルゴリズムと暗号鍵が分離されていて、暗号アルゴリズム(暗号器)が漏洩しても、暗号鍵がないと暗号文を復号できないことをねらった暗号も存在したが、解読の手間(計算量)の点で、DES以前と以後では一線を引くことができよう。 何よりも、従来、秘匿することが前提であったアルゴリズムの詳細を公開し、誰でも暗号の安全性を検討できる点が現代暗号の特徴である。 それ以前のシーザー暗号からエニグマまでをまとめて古典暗号という。 紙と鉛筆と多少の道具のみを使用していた暗号とエニグマなどの機械式暗号を区別して、後者を近代暗号とすることもある。また1949年の暗号理論を現代暗号の始まりと考える人もいる。

1990年代後半から、計算量理論的アプローチによる、暗号アルゴリズムの安全性証明の手法やモデル化の研究がなされ、計算量的に困難と仮定されている問題(IFPやDLP)と等価であることを証明可能な暗号アルゴリズムが提案された。あるいは既知の暗号解読法では解読できないことを証明できる暗号アルゴリズムが提案された。これらを「現代暗号の第2期」ということがある(証明可能安全性)。安全性証明は、Rabin暗号やゼロ知識対話証明のように90年以前から研究があり、それらの成果の集積である。

2000年代前半には、ゼロ知識対話証明やマルチパーティ計算などの暗号プロトコルの安全性証明を統一的に扱うフレームワークの研究が進んだ。(stub)

  • 古典暗号
    • 筆記と道具ベース
    • 秘匿による安全性 security through obscurity - アルゴリズムは非公開
  • 近代暗号
    • 機械式暗号
  • 現代暗号
    • 電子計算機ベース
    • 情報理論的安全性 information theoretic security
    • 計算量的安全性 computational security
      • 経験則による安全性 - アルゴリズムは公開、安全性の根拠は非公開または未知
      • 証明可能な安全性 provable security
  • 物理暗号
    • 物理的理論に基づく暗号

解読

換字や転置を組み合わせた単純な古典暗号は、頻度分析で解読可能であることが9世紀頃には知られていて、15世紀から16世紀にかけて、より複雑な多表式暗号がいくつか提案されていた。しかし、多表式暗号は手作業で行うには暗号化・復号の作業が煩雑であった為、あまり使用されず、換字や転置とコード式と組み合わせるなどして複雑さを増した暗号法が長い間使われていた。

それらの方式は、沢山の暗号文を時間をかけて分析・推定することでいつ解読されるか分からないもので、実際に解読された例もいくつか知られている。 入手した暗号文を分析して、(平文の)言語の統計的性質を手がかりとして、使用された暗号法(の逆変換)を推測して平文を求めるという、パズルを解くような暗号解読が行われた。 19世紀には100以上の暗号法が既知のものとなっていたようである(17世紀に使用されたルイ14世の大暗号も19世紀になって解読された)。 ここでは、言語に関する知識やセンス(アルファベットの出現頻度やアナグラムを解くセンス)が中心であった。

機械式暗号の登場(20世紀)は、速くて強い暗号が必要とされたことが背景にある。(stub)

機械式暗号の解読には、多数の組合せから解を見つけることが必要になり、カンやヒラメキだけでは解読できなくなった。暗号解読は、暗号機を入手して分析することの他に、いかに容易な解読方法を見つけるかということが問題になった。ここでは言語学ではなく数学が中心となる。

現代暗号では、暗号法の推測や逆変換の困難さではなく、暗号化・復号のアルゴリズムは既知として、暗号鍵の推測が困難であるような暗号方式の実現を目標とする。

現代暗号での暗号解読は、敵の暗号文を解読するという行為ではなく、公開された暗号法を分析し、平文や鍵を求める(数学の問題を解くのと同様な)アルゴリズムを見つけたり、隠れた問題を指摘するという研究となった。ここでの暗号法と暗号解読法の関わりは、大まかに次のように進展している。

S-1 ある暗号研究者が提案した暗号を別の暗号研究者が分析して解読方法を見つけ、さらに改良された暗号が提案されたり、さらに解読方法も改良されたりした。ここでは、暗号の問題点を見つけるために暗号解読が必要とされ、暗号法の発表と同様にそれらの解読に関する発表が行われた。
S-2 既存の暗号解読法に対して安全であることを主張&証明する暗号が提案され、さらに、それ以外の暗号解読法の発見が望まれた。実際に安全と思われていた暗号に暗号解読法が発表されたりした。
S-3 理想的な暗号を定義し、実際の暗号が理想的暗号と計算量的識別不能であることの証明を行うことが目的となった(暗号文が乱数と区別できない、あるいは、暗号関数が擬似ランダム置換族と区別できないような暗号方式等)。

S-3のような安全性証明可能な暗号方式が完成すると、暗号の安全性は根拠となる問題(素因数分解アルゴリズムの改良や量子コンピュータの実現等)や暗号以外(平文や鍵、装置の運用等)の問題に帰着されて、計算量的な制約やモデルの仮定、証明の不備などを除くと暗号解読は不可能であることを意味する。ここでは暗号解読法はもはや不要なのかは分からないが、少なくとも設計&解読の繰り返しで強い暗号を作る時代では無くなることを意味すると考えられる。

  • 信頼性の低い暗号
    • アルゴリズムが既知となった古典暗号
    • 計算量的安全性の低い現代暗号
    • 鍵の全数探索よりも効率的な解読法が存在する現代暗号
    • 安全性の証明に不備がある現代暗号(第2期)

拡張

1976年に提案された公開鍵暗号は、従来、秘匿用途であった暗号を認証(署名)に用いることを可能にした。秘匿と認証以外にも、様々な特殊な機能(メカニズム)の暗号が研究されている。 (stub)

研究対象

暗号プリミティブ

主に現代暗号で公開鍵暗号の発明によって、暗号方式は、暗号(cipher)だけではなく、署名や認証にも応用可能になった。それらはセキュリティ機能を実現するための基本的ツールとなっている。

暗号(cipher)

最古の文字といわれるヒエログリフでも暗号と推測される文字が見つかっていて、長い歴史を持つ。ここでは歴史的なものの含めて主な暗号を分類・一覧する。

  • 筆記・道具ベースの暗号
    • 換字式暗号
      • 単表式換字暗号 / 単アルファベット換字式暗号(monoalphabetic cipher)
        • 単一換字式暗号 / 単文字換字暗号 / 単純換字暗号(Simple Substitution Cipher)
          • アトバシュ / albam
          • ポリュビオスの暗号表(換字表)/ 忍びいろは / 字変四八
          • シフト暗号(Shift cipher)
            • シーザー暗号 / ROT13
            • 鍵付きシーザー暗号
          • アフィン暗号
          • ピッグ・ペン or フリーメーソンの暗号
          • 同音異綴暗号 / ホモフォニック換字式暗号(Homophonic substitution cipher)
            • ブック暗号
        • 綴字換字暗号 / 多重音字換字暗号(polygraphic substitution cipher)
          • ノーメンクラタ(Nomenclator)
            • (ルイ14世の)大暗号
          • プレイフェア暗号
          • ヒル暗号
          • ドッペルカステン
      • 多表式換字暗号 / 多アルファベット換字式暗号
        • 正方形の[換字]表(トリテミスの多表)
        • ヴィジュネル暗号(ビジネル暗号ということもある)
        • ボーフォート暗号(Beaufort cipher)
        • 連続鍵暗号 / 進行鍵暗号 /
      • 自己鍵暗号 / 自動鍵暗号
    • 転置式暗号 / 転字式
      • 図形転置暗号
        • スキュタレー
        • レールフェンス暗号
      • 回転グリル型暗号
      • 鍵式転置暗号
    • 分置式暗号 / 挿入式暗号 / 隠字式(acrostic,折句)
      • カルダングリル(カルダーノグリル、Cardano grille)
    • 混合式暗号
      • ADFGVX暗号 / VIC暗号
    • 暗号円盤
      • ホィール暗号機(wheel)、シリンダー(cylinder)
      • M-94、ストリップ多表暗号M-138A
  • 機械式暗号(ロータマシン等)
    • (円盤式)
      • クリハ暗号機/ 九一式暗号機
    • (ロータ式)
      • ヒーバン暗号機
      • エニグマ暗号機
      • パープル暗号機(九七式欧文印字機)
      • ハゲリン暗号機(Hagelin) / M-209
      • シガバ(en:SIGABA or ECM MarkII)
      • タイペックス or タイプX(Type X)
    • (テープ式)
      • バーナム暗号(ヴァーナム暗号ということもある)
  • 計算機ベースの暗号
    • 共通鍵暗号
      • ブロック暗号
        • 64bitブロック
          • DES / トリプルDES / CIPHERUNICORN-E / FEAL / MISTY1 / Blowfish / CAST-128 / IDEA / KASUMI / GOST / RC2 / TEA / MULTI2
        • 128bitブロック
          • Lucifer / AES / Camellia / CIPHERUNICORN-A / RC6 / MARS / CAST-256 / Twofish / MISTY2 / MAGENTA / SEED / LOKI97 / Serpent
        • 256bitブロック
          • SHACAL-2
        • other block size
          • RC5 (variable)
      • ストリーム暗号 / 逐次暗号
        • / ワンタイムパッド one time pad
        • RC4 / MULTI-SO1 / FISH / WAKE / A5/1 / A5/2 / SORFR / SNOW
    • 公開鍵暗号
      • (素因数分解問題)
        • RSA暗号 / RSA-OAEP / RSA-KEM / Rabin暗号 / ACE / HIME(R)
        • EPOC
      • (離散対数問題)
        • ElGamal暗号 /
        • 楕円曲線暗号 / PSEC-KEM / ECIES
      • (ナップサック問題) / ナップサック暗号
        • Merkle-Hellmanナップサック暗号 / Chor-Rivestナップサック暗号
      • (ラティス問題) / ラティス暗号
        • NTRU暗号
      • (多次[元]多変数、多変数多項式問題)
  • その他
    • 物理暗号
      • 量子暗号 / 量子鍵配送 / 量子秘匿通信
      • 視覚復号型暗号
    • カオス暗号

デジタル署名(digital signature)

電子署名を実現する一番有力な方法がデジタル署名である。公開鍵暗号として有名なRSAは、デジタル署名を実現できる方法として最初に公開された方法でもある。RSA以前には、DiffieとHellmanによるDH鍵共有法が知られていて、DH法で共有した鍵をワンタイムパッドに用いることで暗号は可能であったが、署名や認証を実現する方法は公開されていなかった。

  • 通常の署名
    • 添付型署名
      • (素因数分解問題)
        • RSA署名 / RSA-PSS / ACE Sign
        • ESIGN
      • (離散対数問題)
        • ElGamal署名 / Schnorr署名 / DSA
      • (行列分解問題)
        • FLASH / SFLASH
      • (格子問題)
        • NSS / NTRU-SIGN
      • (楕円離散対数問題)
        • / EC-DSA
    • メッセージリカバリ署名
      • RSA-PSS-R
  • 特殊機能な署名
    • ブラインド署名 blind signature
    • 否認不可署名 undeniable signature
    • フェイルストップ署名 fail-stop signature
    • 多重署名
    • リング署名
    • グループ署名
    • 代理署名
    • 検証者指定可能署名 designated verifier signature
    • オブリビアス署名

ハッシュ関数(hash function)

(stub)

  • 一方向性ハッシュ関数
    • MD2 / MD4 / MD5 /
    • SHA
      • SHA-1 /
      • SHA-2 / SHA-256 / SHA-512

擬似乱数(pseudorandom)

(stub)

  • 暗号学的に安全な擬似乱数
    • Micali-Schnorr
    • Blum-Blum-Shub

暗号プロトコル

(stub)

  • 認証
    • 相手認証 / 相互認証 / 片側認証 / ユーザ認証
      • Diffie-Hellman認証 / Schnorr認証
    • メッセージ認証 / メッセージ認証子
      • DES-MAC / HMAC / 鍵付きハッシュ関数
    • チャレンジ・レスポンス
    • 公開鍵証明書 (→ PKI)
  • 鍵共有
    • Diffie-Hellman鍵共有
  • ビットコミットメント
  • マルチパーティ計算 / 共同計算
    • コイン投げ
    • メンタルポーカー
    • ビザンチン将軍問題
    • 紛失通信 / 忘却通信路
  • ゼロ知識証明 / ゼロ知識対話証明(ZKIP)
  • 暗号プロトコル応用
    • 時刻証明 / タイムスタンプ
    • 電子投票
    • 電子入札
    • 電子現金(電子マネーとも)
    • 電子公証
  • 依頼計算 server-aid compuation
  • 同時交換 fair exchange
  • ミックスネット mix net
  • 秘密分散
    • 秘密分散
  • 閾値暗号 threshold cryptosystem
  • 汎用的結合可能性 Universal Composability
    • UCコミットメント
    • UCゼロ知識証明

研究内容

暗号の構成要素・構成法

ブロック暗号は、データスクランブル部と、鍵スケジュール部の2つを主な要素とし、データスクランブル部は、ラウンドの繰り返し構造になっているものが多い(Product cipherという)。

公開鍵暗号の要はトラップドア関数であり、安全なトラップドア関数の存在を仮定して、安全な公開鍵暗号方式を構成する方法が研究されている。 トラップドア関数は、まだ数個しか発見されてなく、新しいトラップドア関数の発見もテーマの一つである。 (stub)

ブロック暗号の構成

  • Product cihper
  • Feistel構造 / フェイステル・ネットワーク Feistel Network
  • SPN構造(Substitution-Permutation Network)
  • F関数 / Sボックス S-box
  • 鍵拡大 / キースケジュール / ラウンド鍵

ストリーム暗号の構成

  • 鍵系列
  • 線形フィードバックシフトレジスタ

公開鍵暗号の構成

  • 一方向性関数 one way function
  • トラップドア関数 / 落し戸付き一方向性関数
  • ハードコアビット
  • RSAモジュラス (N=P* Q)
  • ESIGNモジュラス (N=P* P* Q)
  • Fiat-Shamirヒューリスティック

その他

  • 鍵 (暗号)
  • 暗号利用モード
  • ハイブリッド暗号 / KEM / DEM
  • 多重暗号

(stub)

暗号の性能・効率

暗号化・復号に必要な演算量や、ハード・ソフト実装時の処理速度などについて、実測値の測定、暗号方式間の比較や実装方法の効率化などが研究されている。

また、安全性の指標ともなる様々な特性値や、その求め方(上限や下限、近似計算)も研究されている。暗号にとって重要な特性値には、暗号解読によって発見されたものがある。 (stub)

共通鍵暗号は、公開鍵暗号で代用できる場合があるため、スピードや鍵サイズ、実装コストなどで公開鍵暗号よりもメリットがあることが求められる。

ストリーム暗号は、ブロック暗号の一つの利用モードとして実現できるため、ストリーム暗号の存在理由として、スピードが速いこと等が求められる。擬似乱数も同じ。 (stub)

  • データ量
  • ラウンド数
  • ビット演算量
  • 有効鍵
  • 線形・差分特性
  • ビットバランス性
  • (stub)

暗号の安全性

暗号アルゴリズムが安全であるか?を直接に示すことは、P対NP問題と同じくらい難しいことだと考えられている。 そこで、安全性の目標攻撃条件をモデル化することで暗号を攻撃する問題を定義し、それが誰もが難しいと想定している問題(安全性の根拠となる問題)と等価であることを示す証明を行うことで、安全性の証明とすることがある。 その際、攻撃条件だけではなく攻撃アルゴリズムも限定して「その範囲」で安全である(目標が達成されている)ということもある。 証明の際にさらに仮定やモデルを導入することもある(問題が等価であることの定義など)。 また、現代暗号では、計算量的安全性(解読に要する計算量が膨大であること、例:指数時間要する)があることを安全性の前提としているものが多い。 このことは計算機の進歩や時間の経過により安全性が低下していくことを意味する。 また、量子計算機のように現在の計算機とは異なる計算能力を持つ計算機が実現した場合にも、影響を受ける。 そのため、長期間保存する文書の安全性には情報理論的安全性が必要と言われることもある。

安全性の表現の例:「○○○暗号は、ROM仮定の下、DLPが困難であれば、IND-CCA2 の安全性証明がある(計算量的安全性)」

暗号の安全性では、上記のような安全性に影響する事項を見出して、より厳密な定義を構築していく事と、その定義を満たす暗号の性質が研究されている。

その他、実際の暗号の安全性は、暗号方式の理論的安全性よりも、実装上、運用上の問題の有無によってより大きく影響を受けることがある。安全とされる暗号方式や暗号製品を採用するだけではなく、平文の管理(例えば個人情報の扱い)や鍵の管理などにも注意が必要である。

  • 安全性の目標(ゴール)
    • 完全秘匿 perfect secrecy
    • 強秘匿 / セマンティックセキュア (SS) semantic secure
    • 頑強性 / 非展性 (NM) non-malleable
      • 平文非展性
      • 鍵非展性 → 暗号と群も参照
    • 識別不能性 (IND) indistinguishable
      • 平文識別不能性
      • 鍵識別不能性
  • 攻撃条件
    • 既知暗号文攻撃 (COA)
    • 既知平文攻撃 (KPA)
    • 既知平文差分攻撃
    • 選択平文攻撃 (CPA)
    • 選択暗号文攻撃 (CCA)
    • 適応的選択暗号文攻撃 (CCA2)
    • 関連鍵攻撃
  • 攻撃アルゴリズム
    • (汎用的攻撃)
      • 総当たり攻撃 / 全数探索 exhaustive key search
      • バースデーアタック
      • タイム・メモリ・トレードオフ
      • 中間一致解析
    • (古典暗号)
      • 頻度分析 (暗号)
        • カシスキ・テスト
        • 一致反復率
    • (現代暗号)
      • 差分解読法(差分暗号解読) (Biham,1989)
        • 不能差分暗号解読
        • 丸め差分攻撃 Truncated Differential Attack
        • 高階差分解読
          • Square攻撃
        • ブーメラン攻撃
        • 補間攻撃 (Jakobsen, Knudsen, 1997)
          • 線形和攻撃
      • 線形解読法(線形暗号解読) (Matsui,1993)
        • 差分線形攻撃
        • 丸め線形攻撃
      • スライド攻撃(David Wagner,Alex Biryukov,1999)
      • カイ2乗攻撃
      • mod n攻撃
      • XSL攻撃
    • (暗号プロトコル)
      • リプライ攻撃
      • ビット反転攻撃
      • 中継攻撃
    • (その他)
      • 辞書アタック / 辞書攻撃
      • 素因数分解
      • 格子基底縮小 lattice reduction, LLL
  • 根拠となる問題 / それに関する仮定
    • 素因数分解問題(IFP)
      • RSA問題 / RSA仮定
      • flexible RSA問題 / 強RSA仮定
    • 離散対数問題(DLP)
      • DH問題 / Diffie-Hellman仮定
      • DDH問題 / Decision-Diffie-Hellman仮定 en:Decisional Diffie-Hellman assumption
    • ナップサック問題
      • 部分和問題
    • ラティス問題
      • SVP / CVP
    • 巡回セールスマン問題
  • 証明に関する手法 / 仮定 / モデル
    • 確率的証明 probabilistically cheacable proofs
    • ランダムオラクルモデル(ROM) / ランダムオラクル仮定
    • シミュレーション手法
    • ハイブリッドアーギュメント
    • 形式的手法 formal method
    • 帰着の効率
    • 識別不能
      • negligible(無視出来る) / overwhelming (圧倒的)
  • 安全性の前提
    • 情報理論的安全性
    • 計算量的安全性
      • 指数関数時間
      • 準指数関数時間
      • 多項式時間
  • その他
    • サイドチャネル攻撃
      • 故障利用攻撃
      • タイミング攻撃
        • キャッシュ攻撃
      • 音響解析攻撃
      • 電力解析攻撃
      • 電磁波解析攻撃(テンペスト)
    • 締め上げ暗号分析

暗号(Cipher)以外の暗号プリミティブについても、同様な安全性の研究がなされている。

  • 署名
    • 安全条件
      • 全面的解読
      • 一般的偽造
      • 選択的偽造
      • 存在的偽装
    • 攻撃条件
      • 直接攻撃
      • 既知文書攻撃
      • 一般的選択文書攻撃
      • 指向的選択文書攻撃
      • 適応的選択文書攻撃
  • ハッシュ関数
    • プレイメージ preimage
    • 2ndプレイメージ
    • コリジョン collision
  • 擬似乱数 - 暗号学的に安全な擬似乱数
    • 予測不能性 / hard-core predicate

暗号理論に使用する数学

  • 素数判定
  • 素体

inserted by FC2 system