Perché è necessario un IV quando si crittografa una chiave SSH privata

3

Dato una chiave privata protetta da password come:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,D54228DB5838E32589695E83A22595C7

3+Mz0A4wqbMuyzrvBIHx1HNc2ZUZU2cPPRagDc3M+rv+XnGJ6PpThbOeMawz4Cbu
lQX/Ahbx+UadJZOFrTx8aEWyZoI0ltBh9O5+ODov+vc25Hia3jtayE51McVWwSXg
wYeg2L6U7iZBk78yg+sIKFVijxiWnpA7W2dj2B9QV0X3ILQPxbU/cRAVTd7AVrKT
    ... etc ...
-----END RSA PRIVATE KEY-----

Si può dire che l'IV codificata base64 è specificato nell'intestazione.

Capisco l'importanza di IV: s quando si tratta di traffico "sniffable" come il traffico su 802.11 *, ecc., ma non riesco a capire perché è necessario un IV quando si crittografa una chiave SSH privata (come questi non vengono mai trasmessi sul filo).

Qualcuno dovrebbe preoccuparsi di elaborare il motivo per cui l'IV è necessario in questi casi?

    
posta Calle Bergström 26.08.2016 - 16:45
fonte

1 risposta

2

Poiché la modalità CBC del codice simmetrico richiede IV per decrittografare la chiave codificata, come spiegato nell'immagine comune di Cipher Block Chaining (CBC):

.

L'IV non fa parte della passphrase, perché non è un segreto. È stato generato come un numero casuale, ma puoi decifrare la chiave stessa solo con la conoscenza di questo IV.

Given a password protected private key like:

E si noti che non è una password, ma la passphrase, che rende sostanzialmente i dati di origine per la chiave di crittografia chiave.

    
risposta data 26.08.2016 - 17:20
fonte