メインコンテンツまでスキップ

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オクテット文字列です。デフォルトは、適切な長さのゼロオクテットから構成される文字列です。