Dakons blog

Erstellt: 3. 11. 2009, 00:05

Pathfinder needed

Tags:

I have two problems with a new feature in KGpg. The first: I thought there was a feature request for this but I can't find it anymore. Well, anyway, I've nearly done it. Still reading? Ok, then I'll tell you what the heck I'm talking about.

I assume you know how the web of trust works (if not, read about it). There are basically two views on the web of trust: the "absolute" view, i.e. the view using every key on the keyservers (like e.g. http://pgp.cs.uu.nl/ does or the view from inside your keyring. Now I wrote some code that just does that: it tries to find the shortest path from one key to another in your keyring. Currently the output looks like this:

max depth: 2
key 1D8EC918F4F358BCE08E4456009C42DBCC5CF182 depth 1
key 8B8B22090C6F7C47B1EAEE75D6B72EB1A7F1DB43 depth 0
key CAA9884B19C0E72D9D9023EB3B68865AD86A0D19 depth 1

This are all possibilities in my keyring to go from my key to our beloved Plasma-guy. Now I would like to get this into something more shiny. I already have a model that has all the information about the keys. I would love to get a helping hand to get this in a beautiful shape.

There are some simple rules: I only display shortest paths. Maybe something like maximum trust path will come up for KDE 4.5. The destination key is the only key at level 0, the source key is the only key at level n. Typical values for n will be something like 3-5. Every key at level x has at least one connection to a key on level x+1 and one to a key on level x-1 (the start and end keys of course have connections only in one direction). No key can have a connection to a different level as it's direct neighbours.

To get some idea I have two sets of keys that should be enough for testing while I beat the remaining code into shape. The first one is the example from above, every key is linked to every other key at the neighboring levels (i.e. 4 links).

The second one would have 7 keys: start is key A, at level 1 there are three keys (B, C, D). At level 2 there are 2 keys (E, F) each one with two connections to level 1 keys (E to B and C, F to B and D). Finally there is the destination key on level 3 and the obvious connections betwenn start and destination and their neighbours.

So if anyone with some GraphicsItem foo (or whatever fits best) would like to give me a helping hand: fire up your KGpg, there you will find my email address.

Anbieterkennzeichnung