Проект - реализация логики Криптографии.
Цель: Реализация алгоритмов шифрования и дешифрования в виде простейшей программной логики.
Для каждого блока необходим свой README.MD
Планы:
- Реализация шифрования с ключом. (Известно сообщение и ключ, получить шифрованное сообщение)
- Реализация дешифрования задачи из пункта 1. (Известно два или три шифрованных сообщения, получить искомые сообщения и ключ.)
- Рассмотрение алгоритмов рандомизации значений используемых в криптографии.
- Разработка вычислителя простых чисел и их программный анализ. (Анализ чисел будет происходит в рамках ограниченной числовой последовательности.) Реализовано нахождение простых чисел.
- Реализация более сложных алгоритмов... (Неизвестно)
Результаты:
- Реализовано (KeyCrDcr) Шифрование с ключом.
- Реализован поиск простых чисел (Неоптимальный). (Произведен сбор простых чисел)
- Реализовано Шифрование, Расшифрование и взлом шифра Цезаря.
Описание модулей:
Пример работы Дешифрования шифра Цезаря. Без частотного анализа.
Шифр Цезаря (Шифрование-тест)
-> Введите сообщение: little friend
-> Введите тип анализа: 1
V
Возможные ключи, сортировка по вероятности:
V LITTLEFRIEND -14.3708799891135
M URCCUNOARNWM -16.3590923369502
O SPAASLMYPLUK -17.627395426879723
G AXIIATUGXTCS -17.864144167249506
K WTEEWPQCTPYO -18.152692029703275
S OLWWOHIULHQG -18.463207685289067
Z HEPPHABNEAJZ -18.491000400300948
L VSDDVOPBSOXN -18.71404909706519
W KHSSKDEQHDMC -18.960149536090853
I YVGGYRSEVRAQ -19.37648552807798
T NKVVNGHTKGPF -19.48400599204785
U MJUUMFGSJFOE -19.873648965247334
A GDOOGZAMDZIY -19.89204274582366
H ZWHHZSTFWSBR -20.022328254038403
D DALLDWXJAWFV -20.202065295718455
X JGRRJCDPGCLB -20.341142046861165
B FCNNFYZLCYHX -20.4820183210279
Y IFQQIBCOFBKA -20.934449040792153
F BYJJBUVHYUDT -21.317428969252013
C EBMMEXYKBXGW -21.330811761632543
R PMXXPIJVMIRH -21.407684581076
N TQBBTMNZQMVL -22.286836328357893
E CZKKCVWIZVEU -22.38459325664078
P ROZZRKLXOKTJ -22.52399501470923
Q QNYYQJKWNJSI -23.236860977131464
J XUFFXQRDUQZP -25.107198780948828
.............
407343-е простое число это 5913913.
Перед ним число близнец это 5913911
Забавно, близнецы встречаются и на таком промежутке!
Таблица частот для Английского алфавита:
| Буква | Частота % |
|---|---|
| E | 12,7 |
| T | 9,06 |
| A | 8,17 |
| O | 7,51 |
| I | 6,97 |
| N | 6,75 |
| S | 6,33 |
| H | 6,09 |
| R | 5,99 |
| D | 4,25 |
| L | 4,03 |
| C | 2,78 |
| U | 2,76 |
| M | 2,41 |
| W | 2,36 |
| F | 2,23 |
| G | 2,02 |
| Y | 1,97 |
| P | 1,93 |
| B | 1,49 |
| V | 0,98 |
| K | 0,77 |
| X | 0,15 |
| J | 0,15 |
| Q | 0,10 |
| Z | 0,05 |