Skip to content

Safari77/lumimaja

Repository files navigation

Lumimaja - PasswordSafe with Argon2 KDF, data encrypted with AEAD
chacha20poly1305, proper error checking for corrupted or truncated databases.
Unlike PasswordSafe V3 format, individial records are not written with
new random IV (TwoFish CBC mode), but all the records are written in one go
(simplified code a lot).

To build release version:
  rm -rf build && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make -j4
To build debug version:
  rm -rf build && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make -j4
To change compiler:
  cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
  To use clang-analyzer, also do "scan-build --use-cc=clang --use-c++=clang++ make -j4"
  instead of "make -j4" (example for Fedora 29).

Check if release binary is hardened as expected:
  hardening-check build/lumimaja

Yubikey support (ykpers) is autodetected,
  "cmake -D NO_YUBI=1"
to disable it.

For new databases, Argon2_d version 1.3 is used.
For backwards compatibility lumimaja supports reading version 1.0 databases
with Argon2_d/Argon2_i types.

Remember to change Argon2 parameters at
  Manage → Options → Security → Argon2 memory usage / passes
after you have initially added the passwords to your database.

Lumimaja? My Finnish translation for "Snowden".

Source code is licensed under Artistic License 2.0, see file LICENSE.