This is the backend server for my post-quantum password manager.
It perfoms a key exchange with the proxy server and verifies the digital signature to establish post-quantum keys for secure communication.
- NodeJS
- Express
- Bcrypt
- Liboqs-Node
- MongoDB
The installation guide below only works on linux machines.
First, to use the post-quantum algorithms, you first need to install the liboqs dependencies
Also, OPENSSL version 1.1.1 or greater should be installed on your system.
This server makes use of the Nodejs wrappers for liboqs
Once, this is done, a mongoDB database also needs to be setup.
The connection string for the database should be provided to the "DATABASE_CONNECTION_STRING" environment variable
Other environment variables which need to be populated include
- "SECRET" which is used to sign the JWTs
- "KEY_ENCRYPT_KEY" which is used to encrypt and decrypt the exchanged post-quantum key. The encrypted version of the key is stored in a database.
Once the above is done,
git clone
npm install
npm run dev