¿Es posible utilizar cifrado de claves puro y Decodificación en la criptografía asimétrica en lugar de claves privadas y públicas?

StackOverflow https://stackoverflow.com/questions/3061225

Pregunta

¿Es posible utilizar cifrado de claves puro y Decodificación en lugar de claves privadas y públicas? Como sé en .Net asimétrica RSA aplicación RSAParameters parameters = (new RSACryptoServiceProvider()).ExportParameters(true) clave privada es un superconjunto de la clave pública. Y el uso de la clave privada que puede tanto cifrar y descifrar los datos. Pero I necesidad clave única para descifrar los datos. ¿Cómo hacerlo?

I experimentó con anulando campos RSAParameters, pero RSACryptoServiceProvider objeto no puede importar dichos parámetros.

¿Fue útil?

Solución

Si usted está pidiendo lo que creo que está pidiendo, que se está resolviendo un problema como éste:

cifrar algunos datos. Lo envía a los clientes, y queremos que sean capaces de descifrarlo, pero lo hace no queremos que sean capaces de cualquier cosa cifrar, porque entonces podrían convencer a otros clientes que eres.

Es tan cerca? ¿Nos puede decir lo que un problema se está resolviendo?

Para el resto de la gente en el hilo, parece bastante claro que el PO quiere una clave de descifrado de sólo, en lugar de la única encriptar de clave pública habitual.

Editar: los comentarios son correctos en el que una clave privada no puede ser utilizado para cifrar, pero no es tan difícil de generar la clave pública dada la clave privada. Si usted tiene la clave privada, que efectivamente puede tener ambas teclas.

Editar 2: OP, probablemente debería mirar en firmas digitales . Se podría firmar un mensaje (utilizando la clave privada) y confirme la firma con la clave pública, que creo que es exactamente lo que pidió.

Otros consejos

Para la decodificación de los datos que necesita, ya sea público o la clave privada. Depende de cómo se ha codificado.

seguir con los patrones estándar, y sólo tenga cuidado de no para distribuir su clave privada.


A partir de sus comentarios (a varias respuestas), sólo tiene firma (de un hash de los datos). No es de utilidad para cifrar los datos con una clave que todo el mundo puede tener.

Hay funciones estándar y las pautas de la firma.

Creo que es necesario utilizar la clave privada para descifrar y la clave pública para cifrar.

El receptor (descifrador) envía la clave pública al remitente (encriptador). Para que todos puedan enviar mensajes, sólo el receptor puede leerlos. Es esto lo que necesita?

Si usted tiene que asegurarse de que el mensaje proviene de un determinado remitente, hay que añadir una firma usando su propia clave privada. El receptor puede verificar esto mediante el uso de la clave pública del remitente.

Si usted quiere asegurarse de que la clave titular privado puede no cifra algo tal que el resultado es indistinguible de un mensaje enviado por la llave-sostenedor público, entonces usted podría simplemente hacer doble envolver sus datos.

Simplemente tiene dos claves pares.

El lado A se pone la clave privada del par de claves 1, y la clave pública del par de claves 2. Lado B obtiene la clave pública del par de claves 1, y la clave privada del par de claves 2.

El lado B envía a su / su / su mensaje por primera cifrar con la clave pública del par de claves 1, y luego la clave privada del par de claves 2.

El lado A descifra el resultado utilizando la clave pública del par de claves 2, y la clave privada del par de claves 1 (en ese orden).

El lado A puede generar la clave pública del par de claves 1, pero no puede generar la clave privada del par de claves 2, por lo que la cara A no puede generar un mensaje válido.

La inversa funciona en la otra dirección.

Abajo del lado: Si usted tiene una persona central (o servidor) que cualquier otra persona (o equipo) se está comunicando con, cada parte necesita su propia clave privada, y tienen que compartir la clave pública correspondiente con el personaje central (o servidor) que se está comunicando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top