GPG ¿Tamaño del archivo con múltiples destinatarios?

26

Si cifro un archivo para varios usuarios, ¿cómo cambia el tamaño del archivo?

¿Se duplica el tamaño de la salida para dos usuarios? ¿Qué tal unos 10 o 100 usuarios?

    
pregunta PiTheNumber 19.10.2011 - 12:46
fuente

2 respuestas

21

GPG encripta el archivo una vez con una clave simétrica, luego coloca un encabezado que identifica el par de claves de destino y una versión encriptada de la clave simétrica. Los detalles intrincados de eso se definen en la sección 5.1 de RFC 2440 . Cuando se encripta a múltiples destinatarios, este encabezado se coloca varias veces, lo que proporciona una versión con un cifrado único de la misma clave simétrica para cada destinatario.

Por lo tanto, el crecimiento del tamaño de archivo para cada destinatario es pequeño y aproximadamente lineal. Puede existir alguna variación para la longitud de la clave y el relleno, por lo que es no predecible diferente para diferentes tamaños de clave y algoritmos, pero es pequeña. En una demostración de prueba rápida sin compresión:

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)
    
respondido por el Jeff Ferland 19.10.2011 - 14:36
fuente
10

En el formato OpenPGP (ese es el protocolo que implementan PGP y GnuPG), el mensaje se cifra al comprimirlo. luego usar el cifrado simétrico con una clave aleatoria K ; K luego se cifra con la clave pública de cada uno de los destinatarios.

El paso de compresión tiende a reducir el tamaño de los datos, o no, dependiendo del tipo de datos (el texto ASCII se comprime bien, las imágenes JPG no). El cifrado simétrico aumenta el tamaño solo en una cantidad muy pequeña (como 20 bytes aproximadamente).

Para cada destinatario, se agrega un "Paquete de clave de sesión cifrada de clave pública" (consulte la sección 5.1 de OpenPGP). El tamaño de dicho paquete depende del tipo de clave pública y la longitud de ese destinatario; por ejemplo, para una clave RSA de 2048 bits, ese paquete debe tener una longitud de 271 bytes (para ElGamal de 2048 bits, que sería de 529 bytes).

Finalmente, si el archivo cifrado se incluirá en un correo electrónico, generalmente será "ASCII-blindado", es decir, codificado en Base64 (para que salga ileso a través de los servidores de correo que esperan texto, no datos binarios); La codificación Base64 aumenta la longitud de los datos en un + 33%.

Línea inferior: el aumento de tamaño por destinatario depende de la clave del destinatario, pero no del tamaño del archivo original. El aumento de tamaño debe ser inferior a 1 kB por destinatario.

    
respondido por el Thomas Pornin 19.10.2011 - 14:34
fuente

Lea otras preguntas en las etiquetas