Skip to content

0foxes/superlumic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

superlumic

A performant, secure, and cross-platform command-line password manager. Implemented in C++ and C with tiny-AES-c, superlumic allows you to create, save, dump (to csv), and load encrypted password lists. Once loaded, you can create, read, update, delete, and reorder the passwords in each password list. The lists themselves are later encrypted with AES-256 (CTR mode) and a user-provided password which is run through HKDF.

Usage

An example encrypted password file can be found at encrypted.txt. The password is password.

$ git clone git@github.com:slightlyskepticalpotat/superlumic.git
$ cd superlumic
$ make
g++ *.hpp
g++ -fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2 *.cpp -o superlumic -Wl,-z,now -Wl,-z,relro
$ ./superlumic --help
Usage: ./superlumic [password file]
$ ./superlumic

Security

The makefile specifies the same flags that Hardened Gentoo uses. Below are some of the compiler instructions:

Position Independent Executable: yes
Stack protected: yes
Read-only relocations: yes
Immediate binding: yes
Control flow integrity: yes

The build process should also be reasonably deterministic. On g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0:

$ sha256sum superlumic
7e03e6395074482e9eeb221389e2d2e95ee25e7ff85990587622fa06a1120359  superlumic

About

Performant and secure password manager application on the command line.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors