/File-Locker

Primary LanguagePythonApache License 2.0Apache-2.0

File-Locker

File-Locker is a tool for Encryption and Decryption made in Python. The project follows symmetric encryption which means it uses the same key to encrypt and decrypt the files. It is able to encrypt any type of file. The key used in encryption is included in the encrypted file.

How it looks:

k

[^]: This is how the app looks

[^]: When you successfully encrypted a file you will receive this message

[^]: When you successfully decrypted a file you will receive this message

Fernet

Fernet is built on top of a number of standard cryptographic primitives. Specifically, it uses:

  • AES in CBC mode with a 128-bit key for encryption; using PKCS7 padding.
  • HMAC using SHA256 for authentication.
  • ​ Initialization vectors are generated using os.urandom().

For complete details consult the specification.

Limitations

​ Fernet is ideal for encrypting data that easily fits in memory. As a design feature, it does not expose unauthenticated bytes. This means that the complete message contents must be available in memory, making Fernet generally unsuitable for very large files at this time.

Dependencies:

  • Python v.3 is required
  • Tkinter module is required
  • Pillow module is required