Inferir clave privada PGP utilizando una muestra decodificada codificada

9

Si tengo un mensaje codificado y su original, ¿es posible inferir la clave privada?

Ivan
fuente

Respuestas:

9

No. ese es el punto de las claves asimétricas (públicas y privadas) ya que puede codificar fácilmente un mensaje con la clave pública (para eso está) tiene el mensaje descifrado y cifrado. Pero descifrar el mensaje cifrado solo es posible con la clave privada. La clave privada no se puede regenerar.

Simón
fuente
10

Como no se ha mencionado: esto se conoce como un ataque de texto sin formato conocido , y sería una vulnerabilidad muy mala para un cifrado. De hecho, en criptografía de clave pública, este ataque es equivalente a un ataque de texto sin formato elegido , ¡ya que cualquiera puede cifrar cualquier mensaje!

No han sido, de hecho algunos ataques conocidos /-texto plano elegido contra RSA (el sistema de cifrado de clave pública más a menudo utilizado por PGP para cifrar la clave simétrica) , pero por lo general implican ataques de canal lateral contra implementaciones pobres , o requerir un número loco de textos cifrados , o solo funcionan contra ciertas claves raras .

Sin embargo, en general, la respuesta a su pregunta es "no", eso es lo que hace que el cifrado sea seguro.

BlueRaja - Danny Pflughoeft
fuente
5

No, esto sería muy malo. El cifrado PGP utiliza una combinación en serie de hashing, compresión de datos, criptografía de clave simétrica y finalmente criptografía de clave pública. El hash utiliza funciones unidireccionales . Una función unidireccional es una función fácil de calcular, pero difícil de invertir. La criptografía de clave pública utiliza algoritmos asimétricos.

Los algoritmos utilizados para la criptografía de clave pública se basan en relaciones matemáticas (las más notables son la factorización de enteros y los problemas de logaritmo discreto) que presumiblemente no tienen una solución eficiente. Si bien es computacionalmente fácil para el destinatario generar las claves públicas y privadas, descifrar el mensaje usando la clave privada y es fácil para el remitente encriptar el mensaje usando la clave pública, es extremadamente difícil (o efectivamente imposible) para cualquiera para derivar la clave privada, basada solo en su conocimiento de la clave pública.

Simplemente tener el mensaje original no es suficiente para inferir la clave privada.

Brad Patton
fuente
2

Hay dos respuestas a esto.

¿Es teóricamente posible? Si. Puede generar una clave falsa, probar el cifrado, ver si coincide. Si no, intente con otra clave falsa, cifrar, ver si la salida coincide. Esto se llama comúnmente un ataque de fuerza bruta

En la práctica, esto no se puede hacer. Se necesita una cantidad de tiempo y potencia de cálculo distintas de cero para probar esto. El cifrado PGP generalmente usaría una clave de tamaño decente, tal vez 512, 1024, 2048, o incluso más bits. El espacio clave (la cantidad de teclas que podría tener) es tan grande que le tomaría una eternidad encontrar esta combinación.

Supongo que estabas preguntando si realmente podrías hacer esto, no la teoría. Y entonces la respuesta es no. El mundo no tiene suficiente potencia informática para esto. Si pregunta en security.stackexchange.com, alguien mejor familiarizado con los algoritmos y las matemáticas podría decirle cuánto tiempo llevará esto (posiblemente hasta que el sol metastatice y hierva nuestro planeta). Mi respuesta corta es "no en tu vida"

Rich Homolka
fuente
0

No es probable, podría ayudar, pero no debería llevarlo demasiado lejos. El formulario de seguridad es probablemente un mejor lugar para esto, pero:

Debe tener varios pasos para el cifrado, como mínimo, incluso un decente debe tener una semilla, un hash y una sal.

Por ejemplo, es posible que tenga una sal para hacer todas las contraseñas de 64 bits de largo y luego ejecutarlas a través del hash. Si fuera solo un hash, entonces sería muy fácil de descifrar.

Esta es una versión muy simple ... pero no es tan fácil.

Austin T French
fuente