SECUAD 6/30

  • Chapter12 暗号化
  • 暗号
  • 公開鍵暗号
    • 公開鍵から秘密鍵を求めることが難しい。
      • 与えられた合成数nから、nを割り切る素数pを求める -> 素因数分解問題
      • 与えられた素数pとy, gから、y = g^x mod pを満たすxを求める -> 離散対数問題
    • 暗号文から元のメッセージを求めるのが困難
      • 特定者のみメッセージをわかる -> 親展機能
    • 制限
      • 暗号化可能なメッセージサイズに制限がある
      • 遅い
        • 実用上の使い方として、メッセージ本体は共通鍵で暗号化し、鍵を公開鍵で暗号化する方法がある。
          • 鍵配送
    • RSA暗号
    • ElGammal -> 離散対数問題による
    • Diffie-Hellman鍵交換
    • 楕円曲線暗号
  • 共通鍵暗号
    • 原理
      • c = E(K,m)
      • m = D(K,c)
    • ブロック暗号
      • 固定された長さのデータ(ブロック)の暗号化複合化を行う
      • Block長: 64, 128, 192, 256bit
        • DES: 64bitブロック-56niy鍵
        • Misty: 64bitブロック-128bit鍵
        • AES: 128bitブロック-128/192/256bit鍵
    • ストリーム暗号
      • 平分を1bit 単位で暗号化、複合化する
      • 同期式と非同期式
  • ハッシュ関数
    • 方向性: y = H(x)を満たすxを求めるのが難しい
    • 耐衝突性: H(a) = H(b)をとなるa =/= bを求めるのが難しい
    • ハッシュ関数の出力値: ハッシュ値、Message Digest、fingerprint
  • 耐タンパ性
    • 内部情報を読み出し、改竄が難しい
  • 暗号に対する攻撃
    • 全数探索攻撃
    • ショートカット法
      • 差分攻撃
      • 高階差分攻撃
      • 補完攻撃
      • 線形攻撃
    • サイドチャネル法
      • 電力攻撃
      • タイミング攻撃
      • 故障利用攻撃
  • CRYPTREC
  • secuadの勉強やったの、一週間ぶりなのか?まあ、単に寝坊しただけなんですけどね。
  • 何となく、中途半端に手を広げ捨て結果分からなくなったように思えなくもない箇所だったなあと。