no entiendo nada, solo quiero firmar un archivo no cifrar
Si querías firmar elegiste la opción incorecta, y no solo eso... deberías haber leído la documentación. Pero ya que estamos...
A ver, para firmar primero necesitas un par de claves. Te debes generar una clave de firmado, y una subclave de cifrado. Estos pares de claves tienen una clave pública y una privada, porque el firmado funciona con criptografía de clave pública. Se trata de un hash cifrado con tu clave privada, y cualquiera puede desencriptarlo con tu clave pública y por lo tanto verificar la firma. Cuando eliges una clave de firmado debes elegir el tipo de clave y el tipo de HASH. En mi caso, me gusta elegir RSA/SHA1. Otras implementaciónes de SHA tienen problemas de compatibilidad, y las colisiónes son impracticables en la falsificación, por otro lado RSA es rápido para cerificar, por eso prefiero esos algoritmos.
Podría seguir hablando horas, por eso te comentaba que leas:
http://www.gnupg.org/gph/es/manual.htmlMas alla de eso tienes que tener en cuenta si generarás un archivo firmado, al cual hay que extraerle el archivo, o si eliges crear una firma aparte (detached)... hay varias opciónes. Debes leer, conocer la criptografía de clave pública, saber algo sobre lo que son las PKIs... sino de poco te servirá el comando 'gpg', PGP o cualquier tipo de cripto asimétrica que uses.
Saludos