diff --git a/README.md b/README.md index 77ac752050ebadb23f50a935e7209524aa66d225..333d94cfe9f8be4d7522bde919baa0257972329a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,48 @@ -#EncryptDecrypt -##James Hoole-Jackson -##24026875 ------- +#EncryptDecrypt Tool + +This tool lets you both encrypt and decrypt files using three different ciphers: + - Caesar Cipher + - XOR Cipher + - Vigenere Cipher + +You run this tool in the terminal, choose which cipher you want, the program will ask you for a file and a key that you wish to use. + +--- + +## Compiling + +Open the terminal and type: + +g++ main.cpp EncryptDecrypt.cpp Help.cpp -o EncryptDecrypt + + This create a file called EncryptDecryptTool that you can run. + +--- + +## Running the tool + +In the terminal, use this format to run the tool + +./EncryptDecrypt [encrypt/decrypt][cipher][filename][key] + +### Ciphers supported: +- `caesar` — requires a **number** key (e.g. `3`) +- `xor` — requires a **single character** key (e.g. `X`) +- `vigenere` — requires a **word** or **string** key (e.g. `Secret`) + +--- + +### Examples + +'''C++ +# Caesar encryption with the shift 16 +./EncryptDecrypt encrypt caesar file.txt 16 + +# XOR decryption with key X +./EncryptDecrypt decrypt XOR file.txt X + +# Vigenere encryption with the key SecretKey1234 +./EncryptDecrypt encrypt vigenere file.txt SecretKey1234 + +``` +