¿Es posible este giro en el algoritmo RSA?

0

Mi principal objetivo de esta pregunta es que no quiero que el receptor sepa cómo descifrar los datos que incluí en la imagen mediante esteganografía. Quería usar un algoritmo de tipo asimétrico y no simétrico. ¿Es posible crear un sistema como RSA donde en lugar de usar la clave pública del receptor para cifrar y la clave privada del receptor para descifrar, quiero cifrar con la clave pública del receptor y el descifrado solo es posible con la clave privada del remitente? Estoy tratando de lograr la propiedad.

    
pregunta Sana 26.04.2017 - 13:53
fuente

1 respuesta

1
  

Quiero cifrar con la clave pública del receptor y el descifrado es   solo es posible con clave privada del remitente . Estoy tratando de lograr   propiedad.

En RSA, las claves privadas y públicas están unidas matemáticamente. Usted está mencionando la clave privada de remitentes y la clave pública de receptores . Estos dos no están relacionados entre sí y no se pueden utilizar de la manera que usted describió.

Lo que puede hacer es seguir (sin entrar en demasiados detalles sobre cada paso específico):

  1. Genere el par de claves RSA (privado y público) para el remitente y distribuya la clave pública a todos los participantes
  2. Genere una clave simétrica para el remitente y manténgala secreta solo para el remitente
  3. Cifre los datos con un algoritmo simétrico (AES, por ejemplo) utilizando la clave generada en el paso 2.
  4. Firme el texto cifrado que obtuvo del paso 3. con la clave privada del remitente
  5. Enviar texto cifrado firmado al receptor
  6. El receptor puede verificar que el texto cifrado provino del remitente utilizando la clave pública del remitente para verificar la firma, pero no puede descifrar el texto cifrado. Solo el remitente tiene la clave para descifrar el texto cifrado.
  7. Para todos los mensajes posteriores, vaya al paso 3.

Tenga en cuenta que existen muchos escollos en el uso de primitivas criptográficas. Es mejor hacer una investigación antes de comenzar a escribir el código. Puede iniciar aquí y aquí .

    
respondido por el Marko Vodopija 26.04.2017 - 20:26
fuente

Lea otras preguntas en las etiquetas