FCrypto is a file encrypter that will help you to secure important information by encrypting.
Here are some features of this project:
- Encryption (and decryption) utf-8 files with a few cyphers:
- Caesar cipher
- Vigener cipher
- Vernam cipher
- Cracking of Caesar cipher by frequency analysis method
Requirements:
- installed
python3
General instructions:
- Download FCrypto using
gitor.zipto some folder - Move to this folder and open terminal here
- Run command (in this folder):
python3 fcrypto.py <mode-flags> <cipher-flags> [input_file_path] [output_file_path] [key]
Flags:
- Mode flags:
-e- encypher - FCrypto reads input file and write encyphered info to specified output file this flag requirescipher-flag,input_file_pathandoutput_file_pathwithkey-d- decypher - similarly to previous point, but decyphers file this flag requirescipher-flag,input_file_pathandoutput_file_pathwithkey-g- generate key - display random generated key for this cipher this flag requires onlycipher-flag-h- hack - hacks cipher if it's possible and put result to output file this flag requirescipher-flag,input_file_pathandoutput_file_path
- Cipher flags:
--ca- Caesar cipher, key format should be one integer (10for example)--vi- Vigener cipher, key format is a string of upper english letters (HELLOWORLDfor example)--ve- Vernam cipher, key format is a string of upper english letters (HELLOWORLDfor example)
Input controller is located in fcrypto.py. It invokes implementations of cryptographer interface (Caesar, Vigener or Vernam cryptographer). Cryptographer classes contains all logic of encryption and decryption and performs requests by themselves.
Here are UML diagram representing project structure:
