Passa al contenuto principale

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:

  1. Ottenere il salt S di otto ottetti e il conteggio delle iterazioni c.

  2. 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)
  3. 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>
  4. 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.

  5. Separare il messaggio codificato EM in un messaggio M e una stringa di riempimento PS:

    EM = M || PS

    dove 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.

  6. Fornire in output il messaggio recuperato M.