Cifrado asimétrico: ¿Es posible compartir una clave privada y ocultar una clave pública?

-1

Sé que normalmente es la clave pública que se comparte y la clave privada que se mantendrá secreta (de ahí los nombres) en cifrado asimétrico.

Tengo un caso especial en el que quiero cifrar algunos archivos y dejar que los usuarios los descifren. El cifrado simétrico no se puede utilizar de acuerdo con el diseño. La firma digital no se puede utilizar porque los archivos deben estar cifrados.

A mi entender, en cifrado asimétrico, la clave pública, aunque llamada "clave", es en realidad la cerradura, mientras que la clave privada es la clave. La gente usa la clave pública para bloquear (cifrar) la información, y el propietario de la clave usa la clave privada para desbloquear (descifrar) la información.

En ese caso, si mantengo la clave pública en secreto y comparto la clave privada, debería ser viable para mí cifrar con la clave pública y para que los usuarios descifren con la clave privada, ¿no?

Si la respuesta a la última pregunta es sí, ¿existe algún algoritmo de cifrado asimétrico existente que pueda usar para hacerlo, efectivamente? A mi entender, en RSA, la clave privada consiste en módulo y exponente público. El módulo es también una parte de la clave privada. Significa que el único secreto que puedo mantener en la clave pública es el exponente público. Sin embargo, el exponente público solo tiene 1 byte de largo. Se puede romper fácilmente con un ataque de fuerza bruta.

EDITAR: Solo los usuarios autorizados recibirán la clave privada.

EDITAR: conozco el uso normal del cifrado asimétrico. Solo estoy siendo creativo y tratando de resolver un problema con las tecnologías existentes. Puedo estar equivocado acerca de algunos términos y conocimientos. Si no se puede hacer, solo significa que la respuesta a la pregunta es "no".

    
pregunta 06.08.2015 - 04:23
fuente

5 respuestas

-1

Reafirmando su problema (como lo entiendo) pero usando términos menos confusos, usted desea administrar un par de claves asimétricas de modo que usted sea la única persona que posee la clave de cifrado y muchas personas tengan la clave de descifrado. Su preocupación es que con RSA, la clave de cifrado puede ser fácilmente producida por cualquier persona que tenga la clave de descifrado. Esta preocupación normalmente no sería importante porque el único poseedor de la clave de descifrado generó el par de claves y, por lo tanto, mantuvo ambas claves para comenzar. Pero aquí, donde distribuye la clave de descifrado a muchas personas, cualquiera de ellas puede reproducir la clave de cifrado.

Todo esto es correcto, es la implementación más común de RSA. Allí, el exponente en la clave de cifrado es muy a menudo 65537. Por lo tanto, no se limita a un byte individual, sino que casi siempre es muy pequeño y muy predecible: no proporciona seguridad de esta forma y es la única información sobre el cifrado clave que el titular de la clave de descifrado aún no tiene.

Así que sí, puedo ver su preocupación. Creo que simplemente podría usar un exponente mucho más grande para su clave de cifrado, uno que llevaría mucho tiempo a encontrar por conjeturas. Ralentiza el cifrado al utilizar un exponente más grande, pero si solo lo utilizas para evitar que los amigos adivinen la clave de cifrado, es probable que uses RSA y encuentres un buen equilibrio entre seguridad y eficiencia en un cifrado no estándar. Exponente clave cercano pero no igual a 65537.

Si realmente necesita que no se revele la clave de cifrado, entonces creo que el cifrado de curva elíptica hará esto, o al menos hará un trabajo mucho mejor que RSA. Pero la curva elíptica también es mucho más difícil de entender que la RSA, así que tienes mucho que aprender si vas por ese camino.

    
respondido por el WDS 06.08.2015 - 05:46
fuente
3

En principio podrías hacer algo similar. Pero su convención de nomenclatura es completamente confusa. La clave privada se llama así porque DEBE TENERSE PRIVADA. Mientras que la clave pública se llama así porque se entrega libremente a todos.

Lo que está preguntando es "¿existe un esquema de cifrado de clave pública donde la clave privada se utiliza para el cifrado, y la clave pública se utiliza para el descifrado". La respuesta es no. Eso derrotaría el punto de la clave pública siendo público. Si se espera que la clave pública se distribuya libremente, cualquier persona "encriptada" con la clave privada será legible por cualquiera, lo que es una contradicción con el término encriptación.

Lo único que obtiene de este esquema es la verificación del mensaje, ya que solo se pudo haber originado de alguien que tiene la clave privada.

Lo que PUEDES hacer es algo que se llama firma digital. Aquí es donde usas la clave privada para cifrar algunos metadatos sobre tu mensaje. Estos metadatos encriptados se llaman una firma.

Cualquier persona con la clave pública puede descifrar los metadatos y compararlos con el mensaje original. Si coincide, sabría que el mensaje se originó en el titular de la clave privada Y el mensaje no ha cambiado desde que lo envió.

    
respondido por el Aron 06.08.2015 - 05:07
fuente
2

No. Debe generar un nuevo par de claves, distribuir la clave pública de forma segura. Necesita la distribución segura para establecer la confianza de que la clave pública es de la parte correcta. Luego puede cifrar con la clave pública del receptor.

    
respondido por el Maarten Bodewes 06.08.2015 - 09:38
fuente
0

Bueno, si entiendo correctamente, lo que describiste es idéntico al cifrado de clave pública estándar.

Básicamente, está proporcionando a los usuarios de confianza una clave privada (única o replicada) y cifrando un mensaje con la clave pública correspondiente.

Sin embargo, si eso no responde a su pregunta, proporcione más información sobre el sistema. Es decir. ¿Puede distribuir la clave a los usuarios de forma segura? ¿Confía en los usuarios? Un ejemplo más específico ayudará

    
respondido por el anubhavashok 06.08.2015 - 04:40
fuente
0

Debe volver a escribir la pregunta utilizando los términos de referencia correctos. Público es público y privado es privado.

Parece que desea habilitar la transmisión segura (secreta) de datos sin compartir previamente una clave. Eso es imposible.

Puede cifrar con una clave pública para que solo el titular de la clave privada pueda descifrar. Puede firmar con su clave privada y encriptar con otra clave pública para que sepa que usted es el remitente, o para compartir una clave simétrica secreta para su uso posterior.

Para proteger un mensaje, tiene 2 opciones: compartir previamente una clave simétrica o usar criptografía de clave pública para compartir una clave secreta sobre líneas inseguras.

Sin un secreto compartido: no se puede realizar una transferencia segura (secreta).

    
respondido por el Kickaha 06.08.2015 - 05:55
fuente

Lea otras preguntas en las etiquetas