質問: aes暗号化アルゴリズムの動作モードについて aesのサンプルコードを見つけました。 http://free.pjc.co.jp/aes/index.html ダウンロード aes 暗号プログラム(ソース一式)(2009/3/6版) ms vc6.0 というものがあるのですが、 このaesサンプルプログラムの「動作モード」がわかりません。 ・ecbモード ・cbcモード ・cfbモード ・ofbモード ・他? お詳しい方、ご教授いただけると幸いです。
回答: これらはブロック暗号を任意サイズのデータに適用するときにどのように処理するかを規定するものです。 ・ecb(electronic codebook)電子符号表モード 単純にブロックごとに暗号化する。安全でなく使うべきでない。 ・cbc(cipher block chaining)暗号ブロック連鎖モード ブロックを前ブロックの暗号化結果と排他的論理和を取ってから暗号化する。最初のブロックは初期ベクタという乱数と排他的論理和を取る。 ・cfb(cipher feed back)暗号フィードバックモード 前ブロックを暗号化してブロックとの排他的論理和をとって暗号文とする。最初のブロックは初期ベクタの暗号化との排他的論理和で暗号化する。 ・ofb(output feed back)出力フィードバックモード 初期ベクタに繰り返し暗号化処理して乱数ストリームを作り、これと平文との排他的論理和を暗号文とする。 ・ctr(counter)カウンターモード 各ブロックを初期値から1ずつ増加するカウンタの暗号化との排他的論理和で暗号化する。各ブロックを並列に処理できる。 ちょっと調べてみましたがネット上で得られる情報では間違っているものもあるようでした。 書籍としてはちょっと古いかもしれませんが「暗号技術入門 秘密の国のアリス」を薦めておきます。 # 新版が出ているようです # http://www.amazon.co.jp/exec/obidos/asin/4797350997/