So you want to see the contents of the public and private keys for example.

The keys are actually in binary format, but you can export the keys in equivalent ascii format to see the difference.

Remember, every key on a keyring there is at least one signing and one encryption key. The signing key is the primary key, the encryption key is the subkey.

The private keys are kept on the secret keyring and the public keys are kept on the public key ring.

So lets see if any of the keys differ. Here is what you gave me:

Public KeyRing
pub 1024D/069C39A4 2008-01-28
uid John Smith <>
sub 2048g/045D39H5 2008-01-28

Private Keyring
sec 1024D/069C39A4 2008-01-28
uid John Smith <>
ssb 2048g/045D39H5 2008-01-28

The public signing key is designated by pub 1024D/069C39A4. The corresponding private signing key is sec 1024D/06C39A4.

The public encryption key is designated by sub 2048g/045D39H5. The corresponding private encryption key is ssb 2048g/045D39H5.

So lets just see if any of these keys differ. Im going to compare the signing keys (you could do the same for the encryption keys if you want)

gpg --armor --export 069C39A4 > public_signing_key
gpg --armor --export-secret-keys 069C39A4 > private_signing_key

You can compare the two files by doing the following
diff -q public_signing_key private_signing_key
diff -y public_signing_key private_signing_key | more

The first gives you a global summary, the second command will list the files line by line - side by side - so you can compare them yourselves. You can see the differ. So that is proof. You can confirm this with your encryption key sets also, or even compare the public encryption key with the public signing key to prove to yourself the keys differ.

Convinced yet?