Estoy configurando un sistema para actualizar software en un dispositivo y me gustaría cifrar los archivos de actualización usando una clave privada que he creado y luego descifrarlos con la clave pública. Todos los ejemplos que he encontrado se cifran con la clave pública del destinatario, quiero cifrar con mi clave privada. He visto ejemplos de Bob y Alice que utilizan el cifrado de un archivo con su clave privada y luego con la clave pública del destinatario, pero no puedo entender cómo cifrar la clave privada.
Respuesta1
Así no es como funciona GPG.
Cifras un archivo con una clave pública (puede ser tuya) y lo descifras con una clave privada.
Entonces, si comparte su clave pública en Internet, cualquiera podría cifrar un archivo con su clave pública, pero usted sería el único capaz de descifrarlo.
Ver :http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-1.html
Respuesta2
Vieja pregunta, pero... la encontré buscando algo más.
Lo que realmente desea aquí no es cifrar el archivo, sino crear una verificación de que usted es el origen del archivo. Éste es el propósito de las firmas de archivos.
Una idea básica rápida de cómo funciona el cifrado de clave pública: cifrar algo con su clave privada solo puede descifrarse con su clave pública. Cifrar algo con su clave pública solo puede descifrarse con su clave privada. (El motivo de esto es algo que está más allá del alcance de esta respuesta).
En funcionamiento normal, si alguien quiere enviarte un mensaje, lo cifra con tu clave pública, ya que sólo tu clave privada puede descifrarlo.
Una firma genera un hash unidireccional del archivo/datos e invierte los roles de las claves pública y privada: cualquier persona con su clave pública puede descifrar el hash y puede estar seguro de que solo usted generó el cifrado porque solo su clave privada La clave se puede utilizar para cifrarlo en primer lugar.
El hash se utiliza para verificar que el archivo no haya sido manipulado desde que lo firmó. Cualquier cambio en el archivo cambiará su hash y dejará en claro que ha sido alterado. Como no tienen su clave privada, no pueden generar una nueva firma del nuevo hash para descifrarlo con su clave pública.
Muchos sistemas utilizan este método para firmar archivos de suma de comprobación/hash de otros archivos, asegurando que los archivos con esas sumas de comprobación/hash sean auténticos.
También puede combinar el cifrado de datos/archivos y firmarlos, asegurándose de que nadie más que el destinatario previsto pueda descifrar los datos cifrados y que ninguno de los datos cifrados haya sido manipulado.
"Bajo el capó", así es como funcionan GPG y los programas relacionados. Es demasiado costoso desde el punto de vista computacional cifrar los datos utilizando los datos clave. En su lugar, generan una "contraseña de un solo uso" (OTP) aleatoria para cifrar con un método de cifrado mucho más rápido. Luego, la contraseña se cifra con las claves de los destinatarios previstos y se envía junto con los datos cifrados. Dado que sólo sus claves privadas pueden descifrar la contraseña utilizada para cifrar los datos, tiene una seguridad muy razonable de que nadie más podrá hacerlo.
Nota final: la criptografía siempre está en un estado de cambio. Lo que es "razonable" o "seguro" mientras escribo esto, podría quedar invalidado mañana si alguien descubre una debilidad en uno de los algoritmos utilizados.