Quick Project: Encrypted Messages for the Event of Death

I did a quick project to scratch a particular itch. Maybe it will be helpful to others as well.

Encrypted Messages for the Event of Death at https://in-event-of-death.github.io/v1/

When it comes to passing along digital accounts after death, existing services operate as a dead man switch, sending an email after some amount of time has passed. This requires that you trust your chosen service not to close down, that the dead man switch will not get accidentally triggered before you die, and to not get hacked causing your sensitive information to get leaked. To me, this problem could be reasonably solved using cryptography. Using Shamir’s secret sharing, we can split a message into N parts such that as long as the number of people attempting to decrypt a message is less than N, the message can not be decrypted. Furthermore, we can use asymmetric encryption so that multiple messages can be encrypted rather than requiring a single message to be predetermined that will be sent along. Building on top of the PGP ecosystem means messages can be encrypted from the command line if one so chooses, and the cryptographic primitives will be secure.

However, this combination of Shamir’s secret Sharing and PGP does not make for a good user interface for non-technical users. As such, I created Encrypted Messages for the Event of Death as a self-contained webpage that uses OpenPGP.js and Shamir secret sharing to expose the necessary operations to create encryption keys, encrypt messages, and decrypt messages. This means that by providing loved ones with a link to this webpage as well as encrypted messages, they should be able to figure out how to decrypt an encrypted message, provided that they can copy and paste the encrypted messages into the webpage.