Is it possible to recover a secret key from a GPG public key?

@andrewsomething No. The questioner you mentioned[sic], have[sic] the key available on one machine. but I've lost my key. (The computer exploded)

Sorry, but you cannot get your key back. This is by design.

The RSA (and DSA/ElGamal) algorithms are engineered so that the keys must be made at the same time. There are intermediate variables that are not stored as part of the either the private or public key. Because the public key is crafted to be made public, you cannot deduce the secret key from it, or there would be a giant security hole. The two primes are generated from random numbers.

Also, the key email/name/description have no bearing on the modulus("meaty" data portion of the key). Therefore, you cannot recover your secret key without a backup, at least not without factoring large numbers which cannot be easily done right now. The passphrase is used to protect the key with another (symmetric) key generated from the passphrase, but neither this key nor the password affect the modulus in any way except a stray source of random data.

What can I do?

You can go to Launchpad key management after logging in via username and password, revoke your old keys. and then make and publish new keys. There is no limit on the number of keys you can publish. Make a secure backup, and ensure nobody gets unauthorized access to the backup, and that the keys in the backup are protected by a passphrase.


No, it is highly unprobable that you'd be able to generate the same key again.

However, you can easily import/export keys following the steps below:

Importing the keyring (all the keys)

Just copy the ~/.gnupg directory from the source machine to the destination machine.

Importing only a particular key

Suppose the name of the key is ABCDFE01.

Export the public and private keys to files named mygpgkey_pub.gpg and mygpgkey_sec.gpg respectively.

gpg --output mygpgkey_pub.gpg --armor --export ABCDFE01
gpg --output mygpgkey_sec.gpg --armor --export-secret-key ABCDFE01 

Then, copy those files to the destination computer, and run:

gpg --import ~/mygpgkey_pub.gpg
gpg --allow-secret-key-import --import ~/mygpgkey_sec.gpg 

Source: http://www.ralree.com/2007/03/07/howto-export-and-import-private-gpg-keys/


Open your unity dash and type as seahorse it will list you passwords and applications. click it to open . there your created keys will exist at My personal keys Tab. select that.There you can see your created key . select that key , then automatically in the menu export option will active and select that export button . then save it your desired location .

Now open your destination system where you would like to import this . There also as mentioned above same process upto opening passwords and application . In that application from main menu choose file and select Import . through you can choose the key which you have saved from your 1st PC .

Look at the images if you want more clarity . enter image description hereenter image description hereenter image description hereenter image description here