Проект - реализация логики Криптографии.
Цель: Реализация алгоритмов шифрования и дешифрования в виде простейшей программной логики.
Для каждого блока необходим свой 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 |