ブロック暗号に欠かせない、ブロック暗号化モードとは・・・

Team TripleFalcon. http://www.triplefalcon.com/

ブロック暗号概要

 ブロック暗号は、一定の長さのブロックごとに暗号化処理を行います。従って、ブロック長より長かったり短かったりするデータを扱う場合は若干の工夫が必要です。

 以下は ISO/IEC 10116 に規定されたモード一覧です。

略号 名称
CBC 暗号文ブロック連鎖モード(Cipher Block Chaining)
OFB 出力フィードバックモード(Oftput Feed Back)
CFB 暗号フィードバックモード(Cipher Feed Back)
ECB 暗号ブックモード(Electric Code Book)

 上記4つのモードは、DES の利用モードとして考案されましたが、DES に限らず他のブロック暗号にも適用が可能です。この他にも、PCBC や Counter Method など新しい暗号利用モードも考案されています。

Team TripleFalcon. http://www.triplefalcon.com/

ECBモード

 ECBモードは、上記の通り、1ブロックずつ単純に処理します。このモードはブロック単位処理の裏をかいた暗号文一致攻撃をに弱い欠点があります。(上述のとおりです。)

 暗号ブロックが一致した場合は復号した平文は一致するということですから、重要な秘密が漏れる可能性が高いと考えられます。特定のある暗号ブロックに対応する平文ブロックが1度知られると、同一の値を持つ暗号ブロックはすべて解読されたことになります。

 現実には、暗号文全体のうち部分的な平文は状況的に推測できるということは少なくないので、ECBは長い平文を暗号化する場合にはお勧めできないモードです。暗号を利用した商用アプリケーションで実際に利用されることはないでしょう。

 また、ブロック単位の差し替えなど、暗号文改ざん攻撃にも弱いという問題があります。このような改ざん攻撃を成功させるために、鍵を入手したり平文を正確に把握する必要がないので注意が必要です。

 ECB は、暗号化も復号化もランダムアクセスに適しています。どちらもランダムに選んだ着目ブロックに対して操作が可能です。

 

     図1 ECB モード

Team TripleFalcon. http://www.triplefalcon.com/

CBCモード

 CBCモードでは、前の平文ブロックを暗号化した結果を次の平文に XOR 演算によって重ね合わせ、その結果に対して暗号化処理を行います。最初のブロックを暗号化する場合は、前の暗号文の最後のブロックを利用するか、または外部から与えた初期ベクトル(initial vector) を利用します。

  前の暗号化結果が次のブロックに連鎖されるので連鎖モードと呼びます。同一の平文から同一の暗号文が生成される可能性はきわめて低いといえます。同一の平文が続く場合も安心です。CBCに対する暗号文一致攻撃は以下の様に考えられます。

 暗号文ブロック Cj, Ck に対応する平文が Pj , Pk とします。ここで、偶然に Ck=Cj であった場合に以下の攻撃が成立します。それぞれの一個前の暗号文を Ck_1 Cj_1 とすると

      XOR( Ck_1 , Ck ) = XOR( Cj_1 , Cj )

 が成立します。CBCの手順から、以下が成立します。

      XOR( Cj_1,Ck_1 ) = XOR( Pj , Pk )

 すると、二つの平文の間に生じる差分は入手できてしまいます。しかしながら、このような攻撃が成功する確率は非常に稀であるといえます。ECB などこのレベルの攻撃では問題外に弱いわけですから。

 CBC暗号モードの初期値は、敵から見えてもかまわないことになっていますが、毎回違う値を利用することが推奨されています。

 CBC は、暗号化がランダムアクセスに適していません。暗号化は先頭から順次行う必要があります。

 CBC は、復号化がランダムアクセスに適しています。復号化はランダムに選択した着目ブロックに対して操作できます。(一つ前の暗号文ブロックは必要です。)

     図2 CBC モード

Team TripleFalcon. http://www.triplefalcon.com/

OFBモード

 OFBは、初期ベクトル(initial vector) を暗号化し、それをまた暗号化し、次々と乱数を生成します。その乱数列を XOR 演算によって平文に重ね合わせ暗号化処理を行います。従って、ブロック暗号をストリーム暗号のように利用します。

 OFBの 初期値は敵から見えてもかまわないことになっていますが、同じ鍵を使う場合は初期値は必ず毎回違う値を利用しなければなりません。

 同一の初期値と鍵の組み合わせから生じる乱数列は常に同一です。平文と暗号文の組が一組敵の手に渡ってしまうと、そこから乱数列がわかってしまい、同一の初期値と鍵で暗号化したすべての暗号文が解読されてしまいます。

 OFB は、暗号化も復号化もランダムアクセスに適していません。どちらも先頭から順次行う必要があります。最近人気のある暗号化モードにカウンタモード(counter mode)(またはカウンタメソッド)があります。カウンタモードは、先頭からのブロック番号を求めてその値を暗号化し、その数値を乱数として使います。カウンタモードであれば、安全性こそ若干損なうかもしれませんが、暗号化も復号化もランダムに行えて便利です。

     図3 OFB モード

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/

Team TripleFalcon. http://www.triplefalcon.com/


Team TRIPLE FALCON

アクション&シミュレーション ゲーミングとゲーム製作を真面目に考える 新進気鋭の研究者集団

   
 
用語集TOP

ブロック暗号化モード

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
あ-お か-こ さ-そ た-と な-の
は-ほ ま-も や-よ ら-ろ わ-ん

数学、哲学、工学を横断する事典です。よろしければ活用してください。 ゲーム, アクション,シューティング,シミュレーション,リアルタイム, 計量経済学,計量心理学, コンピュータ,用語集,計算機科学用語集,コンピュータ用語集, 3DCG, グラフィックス,ゲームグラフィックス,美少女, 光反射,鏡面反射,拡散反射,屈折,散乱,異方性反射,影, シェーディング,レンダリング,透視変換, 発光,爆発,爆炎,煙, 物理, 人物,表情,表現,運動,力学,流体, 計算幾何学, グラフ,アフィン変換,アフィン写像,凸包,超平面,3D,3Dの数理, コンピュータサイエンス,コンピュータ, 計算機科学, チューリングマシン,チューリング機械,線形有界オートマトン,プッシュダウンオートマトン,有限オートマトン, オートマトン,状態遷移,遷移関数,対角線論法,文字列,記号, FA,NFA,PDA,NPDA,LBA,NLBA,TM, 計算量,P,NP,PSPACE,NP完全,NP困難,P完全,PSPACE完全,PP,APX,APX完全, 確率チューリング機械,確率オートマトン, 音声, 音階,音量,音律,和音,和声,無限上昇音,MIDI, 色彩, 表色系,顕色系,混色系,RGB,CMY,YCbCr,YUV,YIQ,CIE,L*a*b*, 符号, 圧縮,符号化,情報源符号化, 符号,ブロック符号,ストリーム符号,符号理論, 離散数学, 集合,写像,関数,全単写,単写,全写,対応関係,関係,反射,反射推移閉包, 代数系, 群,環,体,モノイド,半群,準同型写像,同型写像, 形式言語, 言語,正則言語,文脈自由言語,文脈依存言語,確率言語, 文法,正則文法,文脈自由文法,文脈依存文法,確率文脈自由言語, 文字,文字列, 3型言語,2型言語,1型言語,0型言語, 信号処理, 変換,フィルタ,信号処理,DFT,DCT,DST,FFT,Wavelet,フーリエ変換, 離散,コサイン変換,サイン変換,ウェーブレット, 基礎数学, 数学,応用数学,基礎数学,フィボナッチ数列, 解析学, 位相空間,線形空間,距離空間,ベクトル空間,vector,バナッハ空間,Banach,ヒルベルト空間,Hilbert,ユークリッド空間,Euclid, ノルム,内積,可算濃度,非可算濃度, 情報理論, 情報源,情報量,エントロピー,相互情報量,記号,記号列, 複雑系, カオス,フラクタル,フラクタル幾何学,カオス写像, インターネット, セキュリティ,HTTP,SMTP,FTP,プロトコル, その他理論,理論, 紅茶,自転車通勤,備忘録, 暗号, モンゴメリ演算,高速計算法,素因数分解,離散対数問題, 暗号,ブロック暗号,ストリーム暗号,楕円暗号, 乱数,乱数生成,共通鍵暗号,公開鍵暗号,公開鍵署名,鍵共有,鍵交換, 線形攻撃,差分攻撃,補間攻撃,スライド攻撃,量子暗号, 依頼計算,ゼロ知識対話証明,ハッシュ,

AES,Rijndael,RSA,ElGamal,Twofish,Serpent,

RC6,MARS,CAST,IDEA,GOST,

MQV,DH,EC-DH,EC-ElGamal,

終了,

フィリピンパブ
アミューズメント企画はお任せ
資産運用はお任せ
メール お問い合わせ お問い合わせ メール メール メール メール メール メール