@@ -12,54 +12,31 @@ This has been written in Python3 in the context of Viken KARABOGHOSSIAN's projec
...
@@ -12,54 +12,31 @@ This has been written in Python3 in the context of Viken KARABOGHOSSIAN's projec
The project contains the following files:
The project contains the following files:
*`requirements.txt`: the list of all required Python3 packages.
*`requirements.txt`: the list of all required Python3 packages.
*`instruction.md`: this file, which contains the instructions to better understand and use the scripts.
*`instruction.md`: this file, which contains the instructions to better understand and use the scripts.
*```interative_plots.py``` : command line tool to interactively decide which algorithms, operations and metrics to visualize.
*```main.py```: command line tool to interactively do the comparative study.
*```automated_plots.py```: an automated script to generate and save automatically the required plots.
*```scenarios.py```: command line tool to interactively create scenario, where a scenario is defined by two end users, a bandwidth and a latency. An end user is defined by its : memory/RAM capacity, plaintext size (size of the transmitted package), and a processor frequency.
*```main.py```: command line tool to study a scenario and save the result in csv file
*`/plots`: a folder in which the plots will be saved.
*`/plots`: a folder in which the plots will be saved.
*`/ciphers_src`: a folder that contains the python implementation of the ciphers we study.
*`/src`: a folder that contains both the python implementation of the ciphers we study and utils fonction for the orrect execution of the main script.
*`/doc`: a folder that contains the documentation generated by sphinx.
*`/doc`: a folder that contains the documentation generated by sphinx.
*`/Litterature`: a folder that contains litterature for the internship.
## Usage (interactive ploting)
## Usage
1. Open the root folder of your project in a terminal. This folder should contain:
1. Open the root folder of your project in a terminal. This folder should contain:
* The ```interactive_plots.py``` script
* The ```main.py``` script
* The csv file containing the results you want to plot (delimiter = ',')
* This file (`instructions.md`)
* This file (`instructions.md`)
2. You will be prompted questions. Answer them and click `enter`.
2. Execute the ```main.py``` script by typing ```python3 main.py```. You will be prompted questions. Answer them and click `enter`.
3. If you decided to save the plot, check them in `/plots`
## Usage (automated ploting)
1. Open the root folder of your project in a terminal. This folder should contain:
* The ```automated_plots.py``` script
* The csv file containing the results you want to plot (delimiter = ',')
* This file (`instructions.md`)
2. Before executing the script, check the following parameters:
* filepath
* metrics_choices
* operation_choices
* algo_choices
3. Then type: ```python3 automated_plots.py```
4. Check your results in `/results`
## Usage (main)
## Content
## Content
The tool was designed to take as input a csv file containing information about the performance evaluation of encryption schemes. As the project studied block cipher and stream cipher, the tool can handle the two following lists of headers:
The tool was designed to make a comparative study between a set of symmetric encryption cipher.
* Block cipher:
It is based on the comparisons of the costs of each cipher in a given scenario (a scebario is a set of two node), where ciher's cost is a weighted summation of the cipher's performances.