Horcrux–A System for Splitting Keys to Encrypted Backups Into Multiple Parts

Horcrux is an open-source project designed that is designed to allow the user to create encrypted backups such that the decryption key is split into M number of pieces, and decrypting the files requires N pieces of the key to be assembled (the users gets to decide the values of M and N).

For example, the user could encrypt a file such that the decrypting requires at least 3 of 5 separate parts of the key to be assembled. Distribute the pieces of the key to 5 individuals, and now the only way to decrypt the file is if at least 3 of the individuals agree to do so.

This is a way of implementing something like the key escrow system that Cory Doctorow has written about, where one piece of the encryption key is given to a lawyer, a parent, a spouse, and maybe a trusted friend, and the only way the files in question (imagine a will or similar instrument) can be unlocked is if it at least three of those agree to do so (i.e., at least three people I trust agree I’m dead and it’s okay to decrypt the will).