Public Key Directory

On the left side of the image, a purple and green protogen furry with a black
                    face and green lights sits cross-legged while typing on a wireless keyboard. On the right side of
                    the image, a blue dhole furry in a black sterotypical hacker hoodie smirks menacingly while typing
                    on a laptop with RGB keys and a skull and crossbones sticker. Between the two is the ActivityPub
                    logo, filled with static, signifying that some of their messages are encrypted over ActivityPub.

Key Transparency (in support of end-to-end encryption) on the Fediverse.

What is this?

Any attempt to build End-to-End Encryption for the Fediverse will confront a difficult engineering challenge: How do your users know which Public Key belongs to someone they want to communicate with?

Historically, there have been many attempts to solve this problem:

Any system that attempts to solve this problem at scale is called a Public Key Infrastructure.

Neither of the above approaches are a good fit for the Fediverse. However, there is a reasonable precedent: To keep the Certificate Authorities honest, cryptographers and engineers invented Certificate Transparency, built on an append-only data structure called a Merkle Tree.

The Public Key Directory adopts ideas from Certificate Transparency in order to have a Federated Public Key Infrastructure without Authorities.

Key Features

Project Status