暗号利用モード
(Cipher Block Chaining から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/21 19:47 UTC 版)
暗号利用モード(あんごうりようモード、Block cipher modes of operation)とは、ブロック暗号を利用して、ブロック長よりも長いメッセージを暗号化するメカニズムのことである。
- ^ William F. Ehrsam, Carl H. W. Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detection by block chaining", US Patent 4074066, 1976
- ^ http://www.iks-jena.de/mitarb/lutz/security/cryptfaq/q84.html
- ^ Kaufman, C.; Perlman, R.; Speciner, M. (2002). Network Security (2nd ed.). Upper Saddle River, NJ: Prentice Hall. p. 319. ISBN 0130460192
- ^ Kohl, J. (1990). “The Use of Encryption in Kerberos for Network Authentication”. Proceedings, Crypto '89. Berlin: Springer. ISBN 0387973176. オリジナルの2009年6月12日時点におけるアーカイブ。
- ^ NIST: Recommendation for Block Cipher Modes of Operation
- ^ Davies, D. W.; Parkin, G. I. P. (1983). “The average cycle size of the key stream in output feedback encipherment”. Advances in Cryptology, Proceedings of CRYPTO 82. New York: Plenum Press. pp. 263–282. ISBN 0306413663
- ^ http://www.crypto.rub.de/its_seminar_ws0809.html[リンク切れ]
- ^ Jueneman, Robert R. (1983). “Analysis of certain aspects of output feedback mode”. Advances in Cryptology, Proceedings of CRYPTO 82. New York: Plenum Press. pp. 99–127. ISBN 0306413663
- ^ Helger Lipmaa, Phillip Rogaway, and David Wagner. Comments to NIST concerning AES modes of operation: CTR-mode encryption. 2000
- ^ Niels Ferguson, Bruce Schneier, Tadayoshi Kohno, Cryptography Engineering, page 71, 2010
- ^ http://www.quadibloc.com/crypto/co040601.htm
- 1 暗号利用モードとは
- 2 暗号利用モードの概要
- 3 規格
- 4 関連項目
Cipher Block Chaining (CBC)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/04 04:43 UTC 版)
「暗号利用モード」の記事における「Cipher Block Chaining (CBC)」の解説
CBCモード (Cipher Block Chaining Mode) は、1976年にIBMによって開発された。CBCモードでは、平文の各ブロックは前の暗号文とのXORを取ってから暗号化される。すなわち、各々の暗号文ブロックはそれ以前のすべての平文ブロックに依存することとなる。メッセージごとのユニーク性を確保するため、最初のブロックの暗号化には初期化ベクトルが用いられる。 暗号化 C i = E K ( P i ⊕ C i − 1 ) , C 0 = I V {\displaystyle C_{i}=E_{K}(P_{i}\oplus C_{i-1}),C_{0}=IV} 復号 P i = D K ( C i ) ⊕ C i − 1 , C 0 = I V {\displaystyle P_{i}=D_{K}(C_{i})\oplus C_{i-1},C_{0}=IV} CBCモードは、最も広く用いられている暗号利用モードであり、ECBモードの欠点を補うものである。このモードの主な欠点は、各ブロックの暗号化にその前のブロックの暗号化の結果を使用することから暗号化処理を並列化することができないことと、暗号文ブロックのサイズの整数倍となるようメッセージをパディングする必要があることである。後者の例の一つが、Ciphertext stealing(英語版)と呼ばれるものである。CBCモードの暗号化においては、平文あるいは初期化ベクトルが1ビットでも変化すると、それ以降の暗号文すべてが変化することとなる。 不正な初期化ベクトルを用いて復号した場合、復号後の平文の最初のブロックは正しい結果とはならないが、それ以降のブロックは正しく復号される。これは、隣接する2つの暗号文ブロックから平文を回復することが可能なためである。これにより、CBCモードの復号処理は並列化が可能となる。CBCモードの復号においては、暗号文が1ビット変化した場合、その位置に対応するブロック全体および次のブロックにおける対応するビットの復号結果に影響を及ぼすが、それ以外のブロックには影響を及ぼさない。
※この「Cipher Block Chaining (CBC)」の解説は、「暗号利用モード」の解説の一部です。
「Cipher Block Chaining (CBC)」を含む「暗号利用モード」の記事については、「暗号利用モード」の概要を参照ください。
- Cipher Block Chainingのページへのリンク