PGP Encryption - ¿Cuál es la necesidad de cifrar usando una clave aleatoria una vez? [duplicar]

2

Acabo de leer sobre el esquema de encriptación PGP aquí y comencé a preguntarme cuál es la necesidad de cifrar el archivo con uno. tiempo clave aleatoria? En otras palabras, ¿cómo es este esquema más seguro que simplemente enviar el archivo que está directamente encriptado usando la clave pública? (Debido a que la clave de una sola vez se envía junto con los datos)

    
pregunta Vaibhav Pujari 31.07.2014 - 16:47
fuente

2 respuestas

5

Esto se denomina cifrado híbrido . Es necesario por las siguientes razones:

  • Los algoritmos de encriptación asimétrica como RSA o ElGamal son muy limitados en el tamaño de los mensajes que pueden procesar. Si usa una clave RSA de 2048 bits, el tamaño máximo de los datos que va a cifrar es de 245 bytes, no más.

    Actualmente no hay un método conocido, claro, totalmente especificado y muy revisado por el cual un mensaje más largo pueda "dividirse" de alguna manera en elementos individuales, cada uno lo suficientemente pequeño como para ser cifrado por RSA, y luego reensamblado. Es decir, es fácil definir un procedimiento simple de división / concatenación, pero no sería seguro. Esta área no ha sido explorada a fondo por los criptógrafos, por lo que, en la práctica, no hay nada que hacer.

  • Incluso si supiéramos cómo realizar de forma segura un cifrado asimétrico RSA único para datos en masa, implicaría un aumento sustancial del tamaño del mensaje (no una sobrecarga fija, sino un factor multiplicativo). El ancho de banda de la red suele ser una preocupación principal (especialmente en sistemas integrados).

  • A veces preferimos utilizar algoritmos de intercambio de claves , como Diffie-Hellman, por una variedad de razones ( por ejemplo, antes de 2000, se patentó RSA, lo cual fue una razón poderosa, desde el punto de vista del gobierno federal de los EE. UU., para exigir el uso de DH en lugar de RSA). Dichos algoritmos no son exactamente cifrado , ya que terminas con un secreto compartido, pero no puedes elegir ese valor secreto. Un secreto compartido es suficiente para servir como clave para un algoritmo de cifrado simétrico, pero necesita un algoritmo de cifrado simétrico.

  • La razón más citada, y en realidad la menos convincente, es el rendimiento. Los algoritmos de encriptación asimétrica pueden implicar un costo de CPU no despreciable. Por ejemplo, RSA descifrado (no el cifrado, que es más rápido) con una clave RSA de 2048 bits procederá a una velocidad de unos pocos cientos de instancias por segundo en una computadora portátil moderna (unos pocos miles si usa varios núcleos). ).

    La razón por la que esta razón es lo que siempre se dice sobre el cifrado híbrido es que es lo que los maestros de criptografía han repetido durante años, a partir de una pieza de sabiduría que data de finales de los años 70. El punto de que RSA era muy lento era perfectamente cierto en ese momento. Pero recuerde que las computadoras de esa era eran como esa . Un teléfono inteligente básico del 2014 tiene mucho más impacto, por un factor de más de 10000. Incluso el chip de una tarjeta de crédito reciente supera a una computadora de escritorio de 1980 por un margen muy amplio. Esta "pieza de sabiduría" está muy desactualizada.

    En este momento, es posible que aún tengamos problemas de rendimiento si somos demasiado pesados en el cifrado de clave pública, pero ciertamente no tanto como se suele temer. Hollywood ha capacitado a las personas para que consideren la criptografía como algo pesado, costoso y gráfico; todo esto es una mentira, tan poco realista como el peinado de Mark Hamill.

Resumen: no "ciframos directamente" los archivos con la clave pública porque no sabemos cómo hacerlo de forma segura; incluso si lo hiciéramos, podría ser costoso; y queremos mantener la posibilidad de utilizar algoritmos y tipos de clave que en realidad no admiten el cifrado, solo el intercambio de claves.

    
respondido por el Tom Leek 31.07.2014 - 21:05
fuente
6

Hay dos razones:

  1. RSA y otros algoritmos asimétricos son muy lentos . Es más rápido cifrar una clave pequeña usando el algoritmo asimétrico, y cifrar el mensaje usando esa clave con un cifrado más rápido y simétrico.

  2. En su configuración predeterminada, RSA es insegure . Necesita un esquema de relleno para obtener seguridad total. Este método de "clave aleatoria" es parte de tal esquema de relleno.

respondido por el user10008 31.07.2014 - 16:59
fuente

Lea otras preguntas en las etiquetas