Original question
I have been learning about GPG and the use of subkeys. I feel I have developed a good understanding of the benefits of using subkeys and keeping your primary key offline, but there is a lack of information about which of these keys should be published. My questions:
Which keys should I be publishing?
Should I be publishing my primary key, or my subkeys, or all of them? What are the pros/cons of each?
Which keys should my friends sign?
If my friend is adding me to his keyring, does he add my primary key, my subkey(s), or all my keys? If I set up a new subkey, how can he validate that it's associated with my primary key?
How exactly are the subkeys "associated" with the primary key?
There's lots of articles saying they are associated, but none saying how. Do they contain some shared mathematical properties?
Looking forward to understanding this, would greatly appreciate any clarification that can be offered.
Update
After doing some further research, I came across this interesting article about the Anatomy of a GPG key. Judging by the information contained in this article, it would seem that subkeys are quite literally contained within the master key, at least when looking at the public key. What I hadn't originally understood was that a PGP key contains a lot of meta information, more than just the actual numerical value of the key.
Am I right in understanding that I only have one public key?
It seems I only have one public key, which would be what I publish, and what my friends sign. This is what associates my subkeys, and tells everyone that my subkeys are actually mine?
If I copy my subkeys to another device, do I take the whole public key too?
Or do the subkeys have their own sub-public keys?