You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The purpose of this project is to decrypt a monoalphabetic substitution cipher using frequency analysis and find the optimal algorithm and conditions of decrypting a Vigenere cipher.
3
+
The purpose of this project is to decrypt a monoalphabetic substitution cipher using frequency analysis and find the
4
+
optimal algorithm and conditions of decrypting a Vigenere cipher.
4
5
5
6
## Methods of Cryptanalysis
7
+
6
8
* Frequency Analysis
7
9
* Kasiski Examination
8
10
* Freidman Test
@@ -12,7 +14,7 @@ The purpose of this project is to decrypt a monoalphabetic substitution cipher u
12
14
## Usage
13
15
14
16
1. Clone this repo with `git clone https://github.com/varunsingh87/Frequency-Analysis-Simulator`
15
-
(for help see the [GitHub documentation](https://help.github.com/articles/cloning-a-repository/)).
17
+
(for help see the [GitHub documentation](https://help.github.com/articles/cloning-a-repository/)).
16
18
2. Run `mvn package`
17
19
2. Run the GUI with the following command:
18
20
@@ -28,7 +30,10 @@ Run the following command for data collection of a single input (~480 runs/data
Run the following command for data population of experiment data. To use a different key you will need to edit the default in DataCollector.java and make a new folder and subfolders of all the combinations of key length and caesar decryption algorithms in the following format:
33
+
Run the following command for data population of experiment data. To use a different key you will need to edit the
34
+
default in DataCollector.java and make a new folder and subfolders of all the combinations of key length and caesar
35
+
decryption algorithms in the following format:
36
+
32
37
```
33
38
outputs/
34
39
[ioc, friedman]_[kasiski, kerckhoff]/
@@ -37,54 +42,60 @@ outputs/
37
42
38
43
### Generate executable file
39
44
40
-
To create an executable file without the user needing the Java Runtime Environment on his or her computer, use the `jpackage` utility from the Java Development Kit:
45
+
To create an executable file without the user needing the Java Runtime Environment on his or her computer, use
46
+
the `jpackage` utility from the Java Development Kit:
**Linux**: `jpackage --input target/ --name 'Frequency Analysis Simulation' --main-jar com.varunsingh.frequencyanalysissimulator-1.00.jar --main-class frequencyanalysissimulator.presentation.main.Main --type deb --icon ./assets/icon.ico`*Does not work on Mac*
**Phase III: Graphics, Refactors, Variants**: July 22, 2023 - November 26, 2023
56
66
57
67
### Phase III
58
68
59
-
-[] Rewrite of simple substitution cipher (efficient and accurate, no dictionary)
60
-
-[] Visualization of data
61
-
-[] Data collection GUI
62
-
-[x] Variants of Vigenere cipher
69
+
* Data GUI
70
+
* Data collection GUI
71
+
* Variants of Vigenere cipher
63
72
64
73
### Phase II
65
74
66
75
*[Data from Phase II](https://docs.google.com/spreadsheets/d/e/2PACX-1vQIqW8qXtnbI1yTCQR_LcYpy6F7p6eZg5EP07no3c-lBoEkMUbpTPyxo_oa5mCCj7Gfk8LOTonOY-4a/pubhtml)
0 commit comments