key-kiss (key keep it safe/secure)

Tomas RawskiTomas Rawski
2 min read

Problem

When I started to get in touch with Crypto, I couldn't believe that the best solution to save your wallet's private key was a paper with 12 words in order. So I have always thought of another way to do it, but none of them were enough secure for me. So if someone stole your paper, they would have access to all your tokens and you couldn't do anything to stop it.

Idea

Seeing that the web2 world was adopting a two-factor authentication with tokens, I thought about what would happen if we split the private key into 2 parts. In this approach, one part would be securely stored, while the other would only be accessible through an entirely separate process.

My brainstorming led me to a unique concept. I found this kind of game where you put 2 sheets one on top of the other and you can see what is behind when you leave blank spaces.

Solution

I took advantage of the fact that I was about to start the ETHGlobal online hackathon and I had some free time to do it. This solution is a first iteration that hopefully I can improve over time.

The project consists of 2 parts:

  1. A CLI (deterministic image), built in Rust, creates an image with a deterministic order depending on your password.

  2. A web app (secret kiss paper) that lets you choose the blank slots of your private key in each column.

How it works

| Create the deterministic image and the secret kiss paper |

  1. Generate a new deterministic image with your password. Execute the CLI.

secret image

  1. Print the image. (example of the generated image).

    You have cols with all the possibilities in a different order for each of the 64 characters from the private key.

  2. Delete the PNG file.

  3. Get your private key in metamask.

267444635-eb064cfd-ceef-4e53-93a7-673e5625c434

  1. Create the "secret kiss paper" like the image below from your private key in this link: https://editor.p5js.org/rtomas/full/o1YL8Iw6J

    269683838-eb00723d-a66e-4cbe-8c17-a536fa875ef5

  2. Burn ๐Ÿ”ฅ or cut โœ‚ the paper with the letters.

  3. Keep the "secret kiss paper" in a safe place.

  4. Create a "secret kiss METAL" (soon!).

| Recovery|

  1. Generate the deterministic image with your password.

  2. Put the "secret kiss paper" with the "deterministic image" printed or with the screen and watch your private key.

269778499-5e8034fd-7b43-4d8b-9ba5-788af10b0a69

Links:

0
Subscribe to my newsletter

Read articles from Tomas Rawski directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Tomas Rawski
Tomas Rawski

code, arts and earth keeper