Imagine I'm a developer who has used VB & SPGP to create an encrypting client called MyPGP. MyPGP reads the e-mail address from the "To:" field in an e-mail program and encrypts the e-mail's body with PGP, using the e-mail address as an E-mail ID. I give this program to Gretchen, who is going to test it for me. Gretchen is new to PGP, so she doesn't have many keys on her ring, just these:
For her test, Gretchen sends an e-mail message to me and to herself. MyPGP grabs both our addresses from the "To:" line ("To: <gs@edmonds.edu>, <srheller@oz.net>) and uses them as the "EncryptKey" parameter of the spgpEncode function. SPGP searches the entire ring for all the keys with those e-mail addresses, and finds two: 0x06FCF267 and 0x0016466D. The body of the e-mail is encrypted to both keys. Perfect, and in a perfect world, this would be good enough.
But the world isn't perfect, and that's why we have PGP. There are people who won't mind their own business, and we must assume that some of them will go out of their way to get a hold of our private information. Let's say that in this case the nosey person is Brit, Gretchen's room-mate at university. She wants to know what all this sneaky secret e-mail between Gretchen and me is all about. She's a little jealous because she has heard that this Heller is quite good-looking, and since everyone knows that writing software for free is a great way to make money, he must be rich, too.
Unfortunately, Brit knows more about PGP than Gretchen does, and when Gretchen is away Brit starts up PGPKeys on the computer they share. She deletes key 0xD71F6FE5 ("<test@test.key>) and creates a new key-pair with the same name and e-mail address. She adds another User ID to the key: Gretchen Schön "<gs@edmonds.edu>". Brit then exports the public key from this new pair to one file, exports the pair to a diskette, deletes the pair from the local ring, and imports the public key back into the local ring. Gretchen's key-ring now looks like this:
The next time Gretchen sends a message to me and to herself, MyPGP grabs the e-mail addresses, and as before SPGP looks for all the keys with those addresses. This time it finds three keys (0x06FCF267, 0x0016466D, and 0xB0818509), not two, because "<gs@edmonds.edu>" is now on the new "test key". (Remember that Gretchen is new to PGP, and even if she weren't, how many of us would immediately notice that a certain key, not our own, has a new, different hex ID?) The result is that the e-mail message from Gretchen to me is also encrypted to the new "test key" (0xB0818509), which Brit controls (remember that she exported the private, decrypting key to a diskette). If she can somehow intercept the message she will be able to decrypt it. Our privacy is compromised -- and that's what ADK is all about, whether it's the work of a nosey room-mate or a nervous employer or a paternalistic government.
This scenario applies only to SPGP. The do-it-yourself ADK scheme won't work with PGP's clients (and the SPGP functions that use the PGP User Interface) because you select specific recipients from a list of User IDs.