si una clave pública no puede descifrar el texto cifrado, ¿cómo puede una clave privada?

3

Entiendo la parte "pública" de la criptografía de clave pública. No la parte "privada".

Por ejemplo, digamos que nuestra clave pública es% 7 (módulo 7). Y el mensaje a cifrar es 22.

Y sabemos que 22% 7 = 1

Aquí, 1 es el mensaje cifrado.

La razón por la que funcionan las claves públicas es que, a pesar de conocer la clave pública (% 7) y el mensaje cifrado (1), no puedo confirmar que el mensaje original fuera 22.

Entonces, esto plantea la pregunta, ¿cómo la clave privada determina que el mensaje original era 22?

    
pregunta thanks_in_advance 17.07.2015 - 19:53
fuente

1 respuesta

5

Lo que presentó no es un esquema de cifrado, solo tomó un número y lo modificó con 7. Esto no puede ser un esquema de cifrado porque hay más de un "mensaje" que producirá el mismo "texto cifrado", para ejemplo:

  • el mensaje 22 produce el texto cifrado 22% 7 = 1
  • el mensaje 29 produce el mismo texto cifrado 29% 7 = 1
  • el mensaje 36 produce el mismo texto cifrado 36% 7 = 1
  • . . .

Entonces tu pregunta:

  

¿Cómo determina la clave privada que el mensaje original era 22?

No, porque para el texto cifrado " 1 ", hay un número infinito de posibles mensajes originales.

Lo que tienes se parece un poco a RSA, así que supongo que lees algo sobre RSA y estás tratando de trabajar con las matemáticas. Hay un buen ejemplo de cálculo fácil de RSA aquí con el que podría intentar trabajar.

Para obtener una descripción más detallada de las matemáticas de RSA, puede ir a la página de wikipedia para RSA .

Editar: en los comentarios que dijiste:

  

si un módulo (clave pública) produce un resultado que no se puede realizar ingeniería inversa, ¿cómo puede hacerlo la clave privada?

Está bien, veamos ese ejemplo de RSA.

  • Escoges dos números primos, tomemos p = 3 y q = 11
  • Calculas n como n = p * q = 3 * 11 = 33
  • Debes φ (n) = (p-1) * (q-1) = 2 * 10 = 20
  • Usted elige un exponente público e de modo que 1 < e < φ (n), y que e y n son coprime. e = 7 servirá.
  • Eliges un exponente privado d de modo que (d * e)% φ (n) = 1. d = 3 funcionará ya que (3 * 7)% 20 = (21)% 20 = 1

Ahora su clave pública es (7, 33) , (e, n), y su clave privada es (3, 33) , (d, n) .

Bien, ahora digamos que desea cifrar el mensaje de texto simple "22" , como en su pregunta. El cálculo del cifrado es: m ^ e% n = c, donde m es el mensaje original y c es el texto cifrado, por lo que 22 ^ 7% 33 = 22 (heh, es una coincidencia), por lo que el mensaje cifrado es " 22 ".

Ahora, la persona que tiene el exponente privado d puede descifrar el texto cifrado calculando c ^ d% n = m, es nuestro ejemplo 22 ^ 3% 33 = 22.

    
respondido por el Mike Ounsworth 17.07.2015 - 20:37
fuente

Lea otras preguntas en las etiquetas