6.1.2 PBES1 Decryption Operation (Operazione di Decifratura PBES1)
6.1.2 PBES1 Decryption Operation (Operazione di Decifratura PBES1)
L'operazione di decifratura per PBES1 consiste dei seguenti passaggi, che decifrano un testo cifrato C sotto una password P per recuperare un messaggio M:
-
Ottenere il salt S di otto ottetti e il conteggio delle iterazioni c.
-
Applicare la funzione di derivazione delle chiavi PBKDF1 (Sezione 5.1) alla password P, al salt S e al conteggio delle iterazioni c per produrre una chiave derivata DK di lunghezza 16 ottetti:
DK = PBKDF1 (P, S, c, 16) -
Separare la chiave derivata DK in una chiave di cifratura K costituita dai primi otto ottetti di DK e un vettore di inizializzazione IV costituito dagli otto ottetti successivi:
K = DK<0..7>
IV = DK<8..15> -
Decifrare il testo cifrato C con il cifrario a blocchi sottostante (DES o RC2) in modalità CBC sotto la chiave di cifratura K con vettore di inizializzazione IV per recuperare un messaggio codificato EM. Se la lunghezza in ottetti del testo cifrato C non è un multiplo di otto, fornire in output "decryption error" e fermarsi.
-
Separare il messaggio codificato EM in un messaggio M e una stringa di riempimento PS:
EM = M || PSdove la stringa di riempimento PS consiste di un certo numero psLen di ottetti ciascuno con valore psLen, dove psLen è compreso tra 1 e 8. Se non è possibile separare il messaggio codificato EM in questo modo, fornire in output "decryption error" e fermarsi.
-
Fornire in output il messaggio recuperato M.