On Feb 22, 2009, at 6:54 PM, gerry_lowry (alliston ontario canada) wrote:

Preamble
----------
Michael W. Lucas on page 73 in Chapter 4 of "PGP & GPG: Email for the Practical Paranoid",
No Starch Press, (c) 2006, shows the following choices for
"Please select what kind of key you want":
  (1) DSA and Elgamal (default)
  (2) DSA (sign only)
  (5) RSA (sign only)

Michael recommends choosing "5" which turns out to be a disadvantage
that one might not discover until the first time that she/he attempts to
encrypt something.

He recommends a RSA signing key and later adding a subkey for encryption. This is only a problem if someone does part 1 (the signing key) of his recommendation and skips part 2 (the encryption subkey)

AFAIK, other people can still encrypt for the user who has selected "5"
above.  And the user can decrypt whatever she/he receives.

This is not correct. A sign only key means sign only. It has no encryption capability. That's why you need a subkey to handle the encryption.

I do not recall Michael discussing the solution to the problems
caused by selecting just "(5) RSA (sign only)", although, since his
book is written for a beginner audience, I do think he should
have addressed this problem.  Nevertheless, I found his book
still quite helpful.


QUESTIONS
-----------------
Especially because of my experience mentioned above, I tend to pay attention
to the text that follows  "Please select what kind of key you want".

The Windows' version that I used matches Michael's text:
gpg --gen-key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.

          Please select what kind of key you want:
             (1) DSA and Elgamal (default)
             (2) DSA (sign only)
             (5) RSA (sign only)

From "gpg  --edit-key    ID    addkey",  I also get
             (2) DSA (sign only)
             (4) Elgamal (encrypt only)
             (5) RSA (sign only)
             (6) RSA (encrypt only)
    ----------------------------------  where's (3)
             (3) ??????????????

Why is there no "(3)" in the above two lists [gen-key list, addkey list]?

(3) and (7) are special cases for advanced users. They do not show up in the menu unless the "--expert" flag is given. They let you create a key with any features that you want (for example, you could create a RSA key that can sign and encrypt with a single key and not need subkeys at all). This is for advanced use only.

Why are choices "(4) Elgamal (encrypt only)" and "(6) RSA (encrypt only)"
not present in the "gen-key" list?

They are not meaningful there. gen-key creates a primary key, and as per the OpenPGP standard, a primary key must be able to issue certification signatures. An encrypt only key, by definition, cannot issue signatures.

Why is choices "(1) DSA and Elgamal (default)" not present in the "addkey" list?

Again, not meaningful there. addkey creates subkeys. DSA+Elgamal is not a subkey (it's a shortcut for specifying a DSA primary and an Elgamal subkey).

============ http://www.netbsd.org/developers/pgp.html ==============
shows different choices for "gpg --gen-key":
  (1) DSA and ElGamal (default)
  (2) DSA (sign only)
  (4) ElGamal (sign and encrypt)
  (5) RSA (sign only)

Exploring further "Please select what kind of key you want" via Google, I get the impression that there's potentially a standard that might read something like:
    position (1) should always be __________;
    position (2) should always be __________;
    position (3) should always be __________; et cetera
and for any position, you can offer nothing, sign only, encrypt only, or sign and encrypt together.

Is that the case with regards to developer guidelines?

No. The numbers have changed in the past, and may well change in the future.

Also, I'm guessing that although a developer might opt out of creating a key of type X, regardless, the developer must presumably support a complete set of encryption/decryption choices for the purpose of processing public and private keys properly. Is this the case?

Not really. It is true that the developer can choose to not allow creating certain key types in their OpenPGP program. It is also true, though, that the developer can choose to not support an algorithm at all. The only algorithms that are required to be supported are DSA for signing, Elgamal for encryption, 3DES as a symmetric cipher, and SHA-1 as a hash. Strictly speaking, everything else is optional. Of course, most programs support a good chunk of the optional algorithms.

David

_______________________________________________
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Reply via email to