GPG Dimensione del file con più destinatari?

26

Se crittografo un file per più utenti, come cambia la dimensione del file?

La dimensione dell'uscita raddoppia per due utenti. Che ne dici di 10 o 100 utenti?

    
posta PiTheNumber 19.10.2011 - 12:46
fonte

2 risposte

22

GPG crittografa il file una volta con una chiave simmetrica, quindi posiziona un'intestazione che identifica la coppia di chiavi di destinazione e una versione crittografata della chiave simmetrica. Gli intricati dettagli sono definiti nella sezione 5.1 di RFC 2440 . Quando viene crittografato a più destinatari, questa intestazione viene inserita più volte fornendo una versione crittografata in modo univoco della stessa chiave simmetrica per ciascun destinatario.

Quindi, la crescita della dimensione del file per ciascun destinatario è piccola e approssimativamente lineare. Alcune varianti possono esistere per la lunghezza e il riempimento delle chiavi, quindi è non prevedibile diverso per dimensioni e algoritmi di chiavi differenti, ma è piccolo. In una rapida dimostrazione del test senza compressione:

11,676,179 source
11,676,785 encrypted-to-one (+606 bytes)
11,677,056 encrypted-to-two (+277 bytes)
11,677,329 encrypted-to-three (+273 bytes)
    
risposta data 19.10.2011 - 14:36
fonte
11

Nel formato OpenPGP (che è l'implementazione del protocollo PGP e GnuPG), un messaggio viene crittografato prima comprimendolo, quindi utilizzando la crittografia simmetrica con una chiave casuale K ; K viene quindi crittografato con la chiave pubblica di ciascun destinatario.

Il passo di compressione tende a ridurre la dimensione dei dati, oppure no, a seconda del tipo di dati (il testo ASCII si comprime bene, le immagini JPG no). La crittografia simmetrica aumenta le dimensioni solo di una quantità molto piccola (come 20 byte o così).

Per ciascun destinatario, viene aggiunto un "Pacchetto chiave sessione crittografata a chiave pubblica" (vedere la sezione 5.1 di OpenPGP). La dimensione di un tale pacchetto dipende dal tipo e dalla lunghezza della chiave pubblica per quel destinatario; per esempio, per una chiave RSA a 2048 bit, quel pacchetto dovrebbe avere una lunghezza di 271 byte (per ElGamal a 2048 bit, sarebbe 529 byte).

Infine, se il file crittografato deve essere incluso in un'e-mail, di solito sarà "ASCII-blindato", cioè codificato in Base64 (in modo che viaggi indenne attraverso server di posta che si aspettano testo, non dati binari); La codifica Base64 aumenta la lunghezza dei dati del +33%.

Bottom-line: l'aumento di dimensione per destinatario dipende dalla chiave del destinatario ma non sulla dimensione del file originale. L'aumento delle dimensioni deve essere inferiore a 1 kB per destinatario.

    
risposta data 19.10.2011 - 14:34
fonte

Leggi altre domande sui tag