keyvault

beta

Documentation

Table of Contents

  1. Getting started
  2. Background Information

Getting started

Thank you for checking out keyvault during its beta testing period. We'd love to hear your experience and feedback.

The first step will be to install the keyvault Chrome extension. To do this, you can either download the zip file from the keyvault Github repo (see keyvault Chrome Extension) or clone the repo and build the Chrome extension files yourself.

Note: Although more cumbersome, building the Chrome extension yourself allows you to go through the codebase and make sure the Chrome extension you're about to install does not contain any malicious code (in case our GitHub account gets hacked for instance).

Installing using the prepared zip file

  1. First, please download the keyvault beta release zip file found on the Github repo's release page: keyvault Chrome extention release page.
  2. Next, unzip the file into a location of your choice.
  3. Open Chrome and navigate to the extensions page by typing `chrome://extensions/` in the address bar.
  4. Enable developer mode by clicking the toggle switch in the top right corner.
  5. Click the `Load unpacked` button and navigate to the unzipped folder.

Cloning and building the Chrome extension yourself

  1. Clone or download Keyvault chrome extension repo
  2. Open the terminal and navigate to the root folder of the cloned repo and run `pnpm install`.
  3. Run `pnpm build` to build the extension files.
  4. Open Chrome and navigate to the extensions page by typing `chrome://extensions/` in the address bar.
  5. Enable developer mode by clicking the toggle switch in the top right corner.
  6. Click the `Load unpacked` button and navigate to the `dist` folder (this was created via `pnpm run build`) in the root directory of the cloned repo.

Background information

To log into most sites on the internet, you either create a new account with username and password or utilize social login.

Memorizing passwords is hard

In the former case, you rely on the site to keep your username and password safe. Prior to password managers being mainstream, users would end up resuing the same password across multiple sites to avoid having to remember multiple passwords. With your typical password managers, users no longer have to memorize multiple passwords, but are now dependent on the password managers to keep their passwords safe and provide continued access. In contrast, your continued access to encrypted passwords on keyvault cannot prevented by us or anyone else so long as Astar network (the network we deployed the smart contract on) remains operational.

At the mercy of social login providers for continued access

In the later case, you rely on the social login of choice (whether it be Google, Facebook, Github, or any other) to provide continued access and hope that they do not revoke your access one day because they've decided you've somehow violated their terms and conditions.

What encryption scheme does keyvault use?

keyvault is a blockchain-based password manager. Here, your passwords are encrypted and decrypted off-chain, on the frontend, using your encryption key. As the default encryption scheme is a 256-bit AES-GCM, your passwords are encrypted using a quantum-resistant and military-grade encryption scheme (read explanation below).

For a hacker to crack a 256-bit encryption, the hacker would have to guess around `2^255` keys on average before succeeding. To get a sense of how large a number `2^255` is, I recommend watching 3Blue1Brown's YouTube video.

For symmetric encryptions such as AES, the quantum algorithm to keep in mind is Grover's algorithm. In the case of 256-bit AES, Grover's algorithm effectively reduces the 256 bits of entropy to 128 bits, which is still such a ridiculously large number that the U.S. military uses it for encrypting secret information (that fun tidbit was taken from Military-grade encryption explained).

More details coming soon...