huge keyrings (was: id matching)

Werner Koch wk at
Fri Oct 30 21:02:40 CET 1998

Michael Sobolev <mss at> writes:

> I have not looked into source, maybe you just need to use clever *search*
> algorithms?

There is no source yet.  You suggest that I should use a flat file
and grep through it for the user name - hmmm, that's easy.

GDBM works fine but it can only be used if you know the exact key.
Because I use fingerprints as key for gdbm and this fingerprint is
highly random we don't need the hashing from gdbm and can use the
fingerprint (or a part of it) direct has hash.  I think it is possible
to break gdbm down to 3 or 4 files which have the things I need.

The rationale for using a gdbm and not a SQL DB is that I need the
keys for many purposes and I need them fast - Because I always know
the fingerprint or keyid and can lookit up very fast with a hashed

So what I want to do is to use a gdbm like database to store the
keyring and another system to create an index for this.  It is easy to
rebuild such an index from the database and therefore it is acceptable
if the index might get corrupted on a system crash.

To distribute a large keyring over a couple of disks I think it will
also be a good idea to use some bits from the keyring to index a file.
Using symlinks for the gdbm files should give an admin the
possibility to put the files on different disk. 


More information about the Gnupg-devel mailing list