Zum Hauptinhalt springen

6.1.2. PBES1 Decryption Operation (PBES1 Entschlüsselungsoperation)

6.1.2. PBES1 Decryption Operation (PBES1 Entschlüsselungsoperation)

Die Entschlüsselungsoperation für PBES1 besteht aus den folgenden Schritten, die einen Chiffretext C unter einem Passwort P entschlüsseln, um eine Nachricht M wiederherzustellen:

  1. Erhalten Sie das Acht-Oktett-Salt S und den Iterationszähler c.

  2. Wenden Sie die PBKDF1-Schlüsselableitungsfunktion (Abschnitt 5.1) auf das Passwort P, das Salt S und den Iterationszähler c an, um einen abgeleiteten Schlüssel DK der Länge 16 Oktette zu erzeugen:

DK = PBKDF1 (P, S, c, 16)
  1. Trennen Sie den abgeleiteten Schlüssel DK in einen Verschlüsselungsschlüssel K, der aus den ersten acht Oktetten von DK besteht, und einen Initialisierungsvektor IV, der aus den nächsten acht Oktetten besteht:
K = DK<0..7>
IV = DK<8..15>
  1. Entschlüsseln Sie den Chiffretext C mit der zugrunde liegenden Blockchiffre (DES oder RC2) im CBC-Modus unter dem Verschlüsselungsschlüssel K mit Initialisierungsvektor IV, um eine kodierte Nachricht EM wiederherzustellen. Wenn die Länge in Oktetten des Chiffretexts C kein Vielfaches von acht ist, geben Sie "decryption error" (Entschlüsselungsfehler) aus und stoppen Sie.

  2. Trennen Sie die kodierte Nachricht EM in eine Nachricht M und eine Auffüllzeichenkette PS:

EM = M || PS

wobei die Auffüllzeichenkette PS aus einer gewissen Anzahl psLen Oktetten besteht, jeweils mit dem Wert psLen, wobei psLen zwischen 1 und 8 liegt. Wenn es nicht möglich ist, die kodierte Nachricht EM auf diese Weise zu trennen, geben Sie "decryption error" (Entschlüsselungsfehler) aus und stoppen Sie.

  1. Geben Sie die wiederhergestellte Nachricht M aus.