B.2.4. RC5-CBC-Pad
B.2.4. RC5-CBC-Pad
RC5-CBC-Pad は、RFC 5652 [RFC5652] で指定されたパディング操作を伴う CBC モードの RC5 暗号化アルゴリズム [RC5] です。これは RFC 1423 [RFC1423] で指定されたパディング操作の一般化です。このスキームは [RFC2040] で完全に規定されています。RC5-CBC-Pad は、0から256オクテットまでの可変鍵長を持ち、64ビットブロックサイズと128ビットブロックサイズの両方をサポートします。前者の場合、8オクテットの初期化ベクトルを持ち、後者の場合、16オクテットの初期化ベクトルを持ちます。RC5-CBC-Pad は、暗号化操作における8から127までの可変数の "rounds" (ラウンド) も持ちます。
注記: 64ビットブロックサイズの RC5 の場合、パディング文字列は RFC 1423 [RFC1423] で定義されているとおりです。128ビットブロックサイズの RC5 の場合、パディング文字列は 16-(||M|| mod 16) オクテットから構成され、各オクテットの値は 16-(||M|| mod 16) です。
オブジェクト識別子 rc5-CBC-PAD [RFC2040] は、RC5-CBC-Pad 暗号化スキームを識別します:
rc5-CBC-PAD OBJECT IDENTIFIER ::= {encryptionAlgorithm 9}
AlgorithmIdentifier でこの OID に関連付けられる parameters フィールドは、RC5-CBC-Parameters 型を持つべきです:
RC5-CBC-Parameters ::= SEQUENCE {
version INTEGER {v1-0(16)} (v1-0),
rounds INTEGER (8..127),
blockSizeInBits INTEGER (64 | 128),
iv OCTET STRING OPTIONAL }
RC5-CBC-Parameters 型のフィールドは以下の意味を持ちます:
-
version - アルゴリズムのバージョンで、v1-0 であるべきです。
-
rounds - 暗号化操作におけるラウンド数で、8から127の間であるべきです。
-
blockSizeInBits - ビット単位のブロックサイズで、64または128であるべきです。
-
iv - 初期化ベクトルで、64ビット RC5 の場合は8オクテット文字列、128ビット RC5 の場合は16オクテット文字列です。デフォルトは、適切な長さのゼロオクテットから構成される文字列です。