gpgme 0.3.3 questions
Rick van Rein
rick@vanrein.org
Fri Sep 21 10:29:01 2001
Hoi Stephane Corthesy,
> About gpg:
>
> - How are two keys equal? Can we compare them using fingerprint?
Yes, that is the idea of a fingerprint.
Without actually viewing the key, you can still compare it.
The whole key is long (often 1024 bit, some use 4096 bit -- where a
fingerprint is 128 bt or 160 bit) and the idea of a comparison of secure
hashes is in practice as good as comparing the stuff it was derived from.
Of course, there is a chance that two keys have the same fingerprint, after
all, there's far less bits. But _because_ you are using the fingerprint for
authentication purposes (and that's all they are good for) of someone who
already claimed to be Mr. X, the changes of forgery are infinitesimally
small and can be waived.
> What makes them unique?
Nothing does. It is possible to have the same key pair generated in two
different places, and/or the same fingerprint. However, the chances are
quite small.
To me, this is where PGP is really smart. It allows distributed/
disconnected use of PGP, while at the same time establishing a strong means
of authentication of someone claiming to be Mr. X.
Although it is generally assumed that human fingerprints are unique, there
is no way of knowing this for sure. There is no central database anywhere
in Nature's scheme of things. However, given that someone claims to be Mr.
X, and if the human fingerprint matches the one on store _for_ Mr. X, it's
gotta be him. That's how I understand the term fingerprint in PGP.
However, if you have a world full of PGP users, you should not go and
lookup a key based on its fingerprint alone; it is a bad identity because
there _may_ be some other key using the same fingerprint, given a large
user base.
So, NEVER NEVER NEVER use a fingerprint as an identity, or assume it is
unique. But ANYTIME assume that a comparison of fingerprints is as good a
form of authentication as comparing the keys themselves.
Hope this helps,
Rick van Rein.