A simple liboqs + BLAKE3 keys manager implementation written in Haskell.
Warning This project is intended for learning and experimentation. It is not suitable for protecting real-world data.
- Dilithium3 key generation
- Public/private key encryption primitives
- Binary key serialization
- Stores keys in
~/.mcrypt
git clone https://github.com/ruzen42/mcrypt.git
cd mcrypto
cabal build
cabal installor
stack build
stack installGenerate a new key pair:
mkey --new mainShow an existing public key:
mkey --get mainList all stored keys:
mkey --listDelete a key:
mkey --delete mainGenerated keys are stored inside the user's home directory.
~/.mcrypt/
├── main/
│ ├── public
│ └── private
├── work/
│ ├── public
│ └── private
└── backup/
├── public
└── private
- Dilithium3 + BLAKE3 file signing
- Binary key storage
- post kvantum safe
- OAEP padding
- Digital signatures
- PEM export/import
- Fingerprints
- TPM2 support
- Better CLI
- Benchmarks
- Tests
This implementation is educational.
Do not use this project to protect sensitive information.
MIT