B.2.4. RC5-CBC-Pad
B.2.4. RC5-CBC-Pad
RC5-CBC-Pad ist der RC5-Verschlüsselungsalgorithmus [RC5] im CBC-Modus mit der in RFC 5652 [RFC5652] spezifizierten Auffülloperation, die eine Verallgemeinerung der in RFC 1423 [RFC1423] spezifizierten Auffülloperation ist. Das Schema ist vollständig in [RFC2040] spezifiziert. RC5-CBC-Pad hat eine variable Schlüssellänge von 0 bis 256 Oktetten und unterstützt sowohl eine 64-Bit-Blockgröße als auch eine 128-Bit-Blockgröße. Für erstere hat es einen Acht-Oktett-Initialisierungsvektor, und für letztere einen 16-Oktett-Initialisierungsvektor. RC5-CBC-Pad hat auch eine variable Anzahl von "Runden" in der Verschlüsselungsoperation, von 8 bis 127.
Hinweis: Für RC5 mit einer 64-Bit-Blockgröße ist die Auffüllzeichenkette wie in RFC 1423 [RFC1423] definiert. Für RC5 mit einer 128-Bit-Blockgröße besteht die Auffüllzeichenkette aus 16-(||M|| mod 16) Oktetten, jeweils mit dem Wert 16-(||M|| mod 16).
Der Object Identifier rc5-CBC-PAD [RFC2040] identifiziert das RC5-CBC-Pad-Verschlüsselungsschema:
rc5-CBC-PAD OBJECT IDENTIFIER ::= {encryptionAlgorithm 9}
Das Parameterfeld, das mit dieser OID in einem AlgorithmIdentifier assoziiert ist, MUSS den Typ RC5-CBC-Parameters haben:
RC5-CBC-Parameters ::= SEQUENCE {
version INTEGER {v1-0(16)} (v1-0),
rounds INTEGER (8..127),
blockSizeInBits INTEGER (64 | 128),
iv OCTET STRING OPTIONAL }
Die Felder vom Typ RC5-CBC-Parameters haben die folgenden Bedeutungen:
-
version ist die Version des Algorithmus, die v1-0 sein MUSS.
-
rounds ist die Anzahl der Runden in der Verschlüsselungsoperation, die zwischen 8 und 127 liegen MUSS.
-
blockSizeInBits ist die Blockgröße in Bits, die 64 oder 128 sein MUSS.
-
iv ist der Initialisierungsvektor, eine Acht-Oktett-Zeichenkette für 64-Bit-RC5 und eine 16-Oktett-Zeichenkette für 128-Bit-RC5. Der Standardwert ist eine Zeichenkette der entsprechenden Länge, die aus Null-Oktetten besteht.