GNU Privacy Guard 1
![]()
GNU Privacy Guard (GPG/PGP) for encrypting messages by using PKI or asymmetric keywhich is a mechanism uses public and private key.
![]()
- sender side
public key use to encrypt message to send it. - receiver side
private key use to decrypt encrypted message. - Owner of the keys can exchange public key with others , and then they send back encrypted messages again to the owner (message encrypt by public key and decrypt by private key), and as usual private key must be secured well.
 - GPG is CLI program (command line interface) and there are GUI program such as Seahorse
 - GPG used for encrypt messages ,ASCII files,verification.
 
Generate public and private key:
gpg --gen-key
result:
This is free software: you are free to change and redistribute it.  
There is NO WARRANTY, to the extent permitted by law.  
Please select what kind of key you want:  
   (1) RSA and RSA (default)  
   (2) DSA and Elgamal  
   (3) DSA (sign only)  
   (4) RSA (sign only)  
Your selection?  
Now hit enter to specify the default 
result:
RSA keys may be between 1024 and 4096 bits long.  
What keysize do you want? (2048)  
Hit enter again to specify the default
result:
Requested keysize is 2048 bits  
Please specify how long the key should be valid.  
         0 = key does not expire  
      <n>  = key expires in n days  
      <n>w = key expires in n weeks  
      <n>m = key expires in n months  
      <n>y = key expires in n year
you can specify expire date , hit enter to chose key does not expire.
result:
Key does not expire at all  
Is this correct? (y/N)  
Hit y .
result:
You need a user ID to identify your key; the software constructs the user ID  
from the Real Name, Comment and Email Address in this form:  
    "Heinrich Heine (Der Dichter) <[email protected]>"  
Real name:  
Now enter you real name and hit enter , And then Email address:
result:
You selected this USER-ID:  
    "example <[email protected]>"  
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?  
Enter o to continue or (N , C , E ) to change your data
You need a Passphrase to protect your secret key.  
Enter passphrase:  
if you wan to to use a password for your keys (if you wan to, ,just enter the password and then, if you don’t just hit enter).
Repeat passphrase:   
repeat the password or hit enter again
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.
GNU start to generate keys, (hit random keys and move mouse to improve generating public and private key), let’s navigate to GPG keys cd ~/.gnupg/
there are two important files
secring.gpg –> private key
pubring.gpg –> public key
And now you can exchange your public key (pubring.gpg) with others to send you encrypted messages.
List your keys use command gpg --list-keys
result:
pub   2048R/55728FBB 2010-11-20  
uid                  example <[email protected]>  
sub   2048R/5A5F62F0 2010-11-20  
55728FBB ID of public key ,ID is a unique and use to specify the recipient or the owner of private key that match public key.