Skip to content

Latest commit

 

History

History
17 lines (11 loc) · 1.14 KB

README.md

File metadata and controls

17 lines (11 loc) · 1.14 KB

PyCrypt

A rudimentary encryption program written in Python. Planning to maintain this separately from PyCryptX, the version with X25519 public key encryption.

Currently it is able to encrypt any file using a chosen password. The password generates a key using PBKDF2 with BLAKE2b as the hashing algorithm. The password is salted and hashed. The ChaCha20-Poly1305 cipher then uses the password derived key along with a random nonce to encrypt the file.

Tested with multiple formats and it was able to encrypt and decrypt text files and media files. I also found the use of BLAKE2b significantly decreased the size of encrypted files compared to conventional SHA256 as well as providing improvements in speed and security.

To do:

  • Add public key cryptography
  • Display public keys in friendly human readable format
  • Store encrypted files with base64 formatting
  • Add signatures and signature verification via Ed25519
  • Integrate this with the public key encryption - so you have one public key that can encrypt and sign

Please note this is an unaudited hobby project! If security is vital, use Signal or PGP.