暗号利用モード

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

暗号利用モード(あんごうりようモード、Block cipher modes of operation)とは、ブロック暗号を利用して、ブロック長よりも長いメッセージを暗号化するメカニズムのことである。

ECBモード(単純なブロック暗号の利用法)では、ある鍵で同一の平文を暗号化すると、同一の暗号文になる。したがって、長いメッセージ(画像データなど)のある部分が他の部分と同じであるかどうかが、暗号文の比較によって判断できてしまうので、他のモードが必要となった。

暗号利用モードには、秘匿用の利用モードと、認証用の利用モードとがある。

秘匿用の利用モード[編集]

秘匿用の利用モードとして次のものなどが知られている。

これらのうち、ECB, CBC, OFB, CFBの4つは、FIPS, ANSIのほか、ISOJISで規格化されている。またCTRは、AES制定の際に追加されたモードである。

  • ECB (Electronic CodeBook) C_i=E_K(M_i)
  • CBC (Cipher Block Chaining) C_i=E_K(M_i\oplus C_{i-1})
    • inner-CBC 略。
    • outer-CBC 略。
  • OFB (Output FeedBack) H_i=E_K(H_{i-1}), C_i=M_i\oplus H_i
    KAK (key auto-key) ともいう。
  • CFB (Cipher FeedBack) C_i=M_i\oplus E_K(C_{i-1})
    CTAK (ciphertext auto-key) ともいう。
    • k-CFB (k-bit CFB) C_i=M_i\oplus\mathrm{msb}_k(E_K(R_{i-1})), R_i=(R_{i-1}<<k)\oplus C_i, ここで、\mathrm{msb}_k()は上位kビット。
  • CTR (CounTeR) C_i=M_i\oplus E_K(R_i), R_{i+1}=R_i+1
  • CTS (CipherText Stealing) 複雑なので略。
  • 2DEM (2D Encryption Mode) 複雑なので略。
  • ABC (Accumulated Block Chaining) 複雑なので略。
  • IGE (Infinite Garble Extension) 略。
  • F8@3GPP B=E_K(\mathrm{nonce}), C_i=A_i\oplus M_i, A_i=E_K(A_{i-1}+i+B).

認証用の利用モード[編集]

認証用の利用モードとして次のものなどが知られている。

  • CCM (Counter with CBC-MAC)
  • GCM (Galois/Counter Mode)
  • OCB (Offset CodeBook)
  • XCBC (eXtended Ciphertext Block Chaining)
    • XCBC-MAC

規格[編集]

  • FIPS PUB-81 DES MODES OF OPERATION, 1980 December 2.
  • ANSI X3.106 Digital encryption Algorithm - Modes of Operation
  • ISO 8372:1987 Information processing -- Modes of operation for a 64-bit block cipher algorithm
  • ISO/IEC 10116 Information technology -- Security techniques -- Modes of operation for an n-bit block cipher
  • JIS X 5052:1990 64ビットのブロック暗号アルゴリズムの利用モード (Modes of operation for a 64-bit block cipher algorithm)
  • JIS X 5053:1998 セキュリティ技術 ― nビットブロック暗号の利用モード (Information technology -- Security techniques -- Modes of operation for an n-bit block cipher)
  • RFC 3610 -- Counter with CBC-MAC (CCM)

関連項目[編集]