Skip to content

Latest commit

 

History

History
70 lines (50 loc) · 2.98 KB

README.md

File metadata and controls

70 lines (50 loc) · 2.98 KB

SHADOW

About the program

Shadow is a command line interface (CLI) encryption program using AES-256 in Galois/Counter Mode (GCM) as an encryption algorithm and SHA-256 for HKDF (Key Derivation function based on HMAC). The program works with two passwords (each different). For more information about AES-256, Galois Counter Mode (GCM) and HKDF (Hash Derivation Key Function), follow the link below.

Output Example

Output

Precision about the output

Results are not outputted on the screen. The program tells only to the user that the folder/file has been encrypted or decrypted; which is indeed the case. Open the file / folder to see the result.

Precision about the Salt.txt file

The Salt.txt file is as it sounds, a file which contains random strings used as salt parameter for passwords. The salt parameters (one for each passwords, two by two different) are generated randomly. Users can update the Salt.txt file at will.

How to run on Linux

1) In command line, go to the program directory.
2) Type <make> to compile, build and link.
3) Type ./shadow and press <enter> to run.

Password Rules

1) Each passwords must be at least 16 characters long and different.
2) Each passwords must contains at least one UPPER CASE character.
3) Each passwords must contains at least one LOWER CASE character.
4) Each passwords must contains at least one SPECIAL CASE character.
5) Each passwords must contains at least one number between 0 to 9.

Supported commands

General

  • encrypt: Enable the encryption mode
  • decrypt: Enable the decryption mode
  • show_license: Print the license
  • clear: Clear the screen
  • quit: Terminate the program

Encryption mode

  • usage: Print tutorial for encryption mode
  • password: Print password rules
  • show_license: Print the license
  • clear: Clear the screen
  • exit: Exit the encryption mode
  • quit: Terminate the program

Decryption mode

  • usage: Print tutorial for decryption mode
  • password: Print password rules
  • show_license: Print the license
  • clear: Clear the screen
  • exit: Exit the decryption mode
  • quit: Terminate the program