16 releases (breaking)
0.15.1 | Mar 1, 2024 |
---|---|
0.14.0 | Sep 30, 2021 |
0.13.0 | Jan 7, 2021 |
0.12.0 | Jun 25, 2020 |
0.2.1 | Mar 22, 2017 |
#1475 in Cryptography
Used in 2 crates
355KB
7K
SLoC
General
rust-keylock is a password manager and its goals are to be:
- Secure
- Simple to use
- Portable
- Extensible
The core logic is written in Rust, but the presentation/User interaction parts are in different languages.
Warning
The project has not yet received any formal / official security reviews. Use it at your own risk.
Features
Security
- The data is locked with a user-defined master password, using bcrypt password hashing
- Encryption using AES with CTR mode
- Data integrity checks with SHA3 (Keccak)
- During runtime, the passwords are kept encrypted in memory
- During runtime, the encryption keys are stored in safe, non-swappable memory
- Upon saving, the encryption keys change, even if the user master password remains the same. This results to different encrypted products, even if the data that is being encrypted is the same.
- Passphrases generation using Diceware.
- Passwords health check against pwned passwords list, leveraging the k-anonimity API.
Data Availability
- Synchronization over Dropbox
- Synchronization over Nextcloud or Owncloud
- Export/import encrypted passwords to/from the filesystem
- Automatic local backups
Application Portability
- Shell implementation.
- JavaFX implementation.
- Using the j4rs crate
- Android implementation
- Using the j4rs crate
See how to download and install.
FAQ
On the Project website.
Wiki
On the Project website.
Dependencies
~13–30MB
~471K SLoC