-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
72 lines (67 loc) · 6.28 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//ОПХБОЫХСЯСЫМГАТСОЫ_ТТЕЭЪС_ШЯ_О_ЮМЦШ_ЩНКЫЛВХЬЛЯП_ЭНЮФМТХЭЗНЮСЫРШЩМДВЮМЛАРЛЯПЩЩАЫСЪ_ЦЧЧЕЧЯЪМПЪЛБ__ЩЗЮФЪМПФСКРЖЛИАГЪРШИССЪЪА_ЯЧЬИЮЦМХПЯМЗТТЩНКЖЛТРЬЛПЮСЮЕЬСЩОТМШ_ЬТЮЕ_ЪМЛРЮЛИЧСЦОБ_ЬЫДСЮОУЦМ_ФЧЧАЫЪЛИЭВЮРВЮСНБМЛИП_ЬУЦЪС_БДЮ_ТВС_Я_ЩЯБЯЪ_Э_ЛВЮГЛЯПИФТРПЛП__ЬОЖЧЭТТТЛУЖЧЩЫДСЪ_Б_Ш_ЖГЪ_АЬЪРЮСПОАДРА_ВЮВРСНУФДЮ_С_ЬОБНЭЯПЩМ_Ъ_ЩТ__ЧЬПЯМДПЪЩФЮБШАЕЪСЙПТЛНХСЩАФСЫРШБЪДЭМШИПБССВБЭАЬЪЛЗТДВИБСОЕАНШАПЪЩТ_ЪПУНКС_Э_ЛЧБ_ЛПЮЦЬАЧДШЕТТСТАРЛПЮЦЛИЭЕЪРЬТБИХЫЛУБФСРЦЦСНШЧЛОПГЪМПИЮОПУЯДВКСЕПЩМ_ШЯ_О_ЮМЦШЧХ_ЭТЫОЬЯФЛЮСШНХСУНРЮСНШГЯЮПВБЕЭДЛИЧС_ИЫНШАПФЖПВВЦНШЬЛВКЙСДЗЧПОПЯМ_МЬЬАЭМЛВПГЖСОИМ_ФЧОЯБНЭОБСГЕАГЗДХВКТПВСДЛЮЪМПХЪДВСЩЕЪЪХ_СЪУНХВШЕЭСЮРЮХМЕБСУАПАЯГЮФФЦВСНЕЭЦТАЬЧЩАПФЖПВВЦНШЬМ_Ъ_ЧЛХЦТАПЧПОПЪПРРЭЛДРВЮИЭСАОГЮМНПЪЛП__ФЗЭ_ЭИБСОСХХЪ_ЮЦЩОПВЧОТ_ЛПЫТЭТЬТЭСКСЮАЪСЪНПЯМПВГЭТТДСТПЮЪЛЮЦЪГЮСВЕЫ_ОЕЪТЛВПЯМЧРЭС_ХХЪ_ЪТЬЬХБЖ_ШЯЮЕ_ЧЭНЮСССЫЪЛБКСИТВСЭЦХЯЯ_ЭТЫИАТЧИПЯССЪ_ЧЬЪ_ЛДХВКТШЭСТШЫЛСЯДЭТОСЩЕПВЦАЧТЧ_СМЛТЮГЛБШЩЩЕАЮСНПЪЩАЖЧЛИЭЕЪРЬТБИОСЫРХЦЭТРФЧЯНСЦАЪЪС_РУЭУ_ЦЩЫХСЬАЧХЪВЮБЖ_Ь_ПЛШСНЫПФССБЪЭЬПФЛДХЭЪВЮЮЛМШБС_АЬЪЛЛЬЪ_ВСОААСФНГ_ЬМРЗФИПЙОЕЩЗМРШРЛВХЭФКРРЛСББМНРСЯ_ЭЪА_АГЪЛЛЬЪ_ШЯ_О_ЮМЦШЪЛЯПВЧЫЗТЧ_ШЯРЕЪВЛСБ_ФМЮВЮИПЪЩФЮБШАЕЪФ_Я_ГЕЫСОВХБА_РУЭУ_ЦЩЫП_ЩИПАЪТЮЮЯ_ЖГЪ_ШЯ_О_ЮМЦШРЛХЮГК_ШСФГ_ТСТПФЭЕПУЪЛХЧЛЗЭТВИЬДЙ___ЧЬПФЛНРЙСЙПШФЗЭЪЛНХСКВЫРСТАРЛЧХЮЮОП_ЭЯЧТСМКЮЛИПЯС_Я_РДРЧЮСОСЮОЖЯЪМВСФЗЬЧЬЕЭЪЙ_ЪТЦ_ЬТЮЕ_ЪМЛКСЧИЕТЛП_ЧТНШЖЛЭЯ_А_ШЯ_О_ЮМЦШ_ЩНРРЛРХФЪЛНЗФЯПГЪЛЛЬЪ_ЭТВИЭТСТАРЛС_ЧРСБФМ_АФКЗШСЩЕШЩНЕЦЯЪ_Я_РЕЗЧОЕНГЛТРЬЛЖХСЬЕЧЬЪ_ЪТЦ_ТСЭВЮЧЛВ_ЧШЯПФЖЧШВЧИБЧЧЬЭТК_БЧАНШЬМ_Ъ_ПДРСФХПВЮОШЮЪСБНЛДЮВЮАБ_ВНЮСЭНШЩФТАРЛИПВЬЕЧ_ЩИ_ДСТПВЛД_ДПИЬЪЛДЮВЮИЦЧЩИОЮФ_БЧАНЮЭЪГШЪЛРХГФВКЧЛАФЮФНШВЮРРГЪРКСФ_ЭЧЬВЭМС_Я_ЧИБЪЦИПАСРХВЮАЭДЮ_ВАЪМШЯМТЛСОЫ_ТТЕЭЪС_ШЯ_О_ЮМЦШ_ЩНРРЛМРХФСББМЛЛСЫРЮВЮОПАЪТЮЮЯ_ЖГЪ_ЮЯЪ_Ь_РНЮСФ_ЯБССБЪТНЮСШАУЪЭТ_ТЧЬПВЮАЭЧЮ__ЧМЛЛЯЪСБНЙ_ШСЦАЪСИЛХЬЮРШИССБФЪ_ТМУОТЧЮ_ФТЧЕЪ_ЛИФДДИХСЫОАЭСДАГОИОСВТЮУЖ_Я_ЩЯБНЛПЮИСМВСФНГ_ЬМРЗФЯПВЮАЭ_ОИБВК_ШСБЕЭГЬ_ТВСГЮСФ_ТВК_ТТТНЮСЫОЭРЮЬПЬМКПГСХЭ_ЧОУЪК_ШЩШЕЭРСТПВЫОА_НЫПЧС_ЮУЬАС_ЮКШСЪБПОЮОЬСПЛРФЩЫЬСЪБ_ТУОЬСФ_Я_ХДХГЛРХИЗ_ТСРАЭЯЪЙПХЧАТЧЛСЫТНОПАЪДУ_ЮОТЭСНЭМС_ЖЪЮАБЧЧИПЯС_ЧЯМЮИЪС_ЯБФНЕЪЫОТСЬАС_ЮЫПФЖЧШВЧИБЧЧЬЭ_Х_БЧАНШЬФ_ШСФСБ_ЬИШССЕПБМЗТЪЮИОСЫОЫДВАБСЩЕЮУАОФЪШЫЩСШИЭЪШУЬСЭВХЦСНШЫЛЧБ_НЫПАЬОФ_ЧЖШГЗ_ЖГСНШЧЛКЭЪПИПТЛЕАЭФ_ТМЛЗЭТСТХСЦАЪСЬАС_ЮАНГЛЦШЕЬОТМС_Ъ_ШПЛПЮЕ_МЛМЮШСТХСЭПЮЬЪЙЭ_ЛП__ЧИАГМТЛСЩЕАЬЪЛЛЬЪ_АГЬАЭЪБ_ШСЫЕ_ЧХТШСЭРРЩЯ_ЪСЮРХГЗЕЩСПЛРФС
//сайт конвертации https://www.cryptool.org/en/cto/vigenere? алфавит АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ_
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
#include "matrix.h"
#include "builds.h"
#include "prints.h"
int main() {
int counter = 22;
while (counter--) {
int c;
cout << "Enter key size: " << endl;
cin >> c;
cout << "Enter msg: " << endl;
string msg;
cin >> msg;
cout << "Enter alphavite: " << endl;
string alpha;
cin >> alpha; //АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ_
unsigned res = msg.size() / c;
cout << "Count of rows: " << res << endl;
Matrix m((int) res, c, msg);
cin >> m;
cout << m;
int zeroShift = PrintMap(BuildCharZero(m), "ZERO", alpha);
int oneShift = PrintMap(BuildCharOne(m), "ONE", alpha);
int twoShift = PrintMap(BuildCharTwo(m), "TWO", alpha);
int threeShift = PrintMap(BuildCharThree(m), "THREE", alpha);
cout << zeroShift << " " << oneShift << " " << twoShift << " " << threeShift << endl;
cout << "Find your word in this values: " << endl;
oneShift += 33 - zeroShift;
twoShift += 33 - zeroShift;
threeShift += 33 - zeroShift;
for (int j = 128; j <= 159; j++) {//160 - 175, 224 - 239
//159 я 128 а //415 я 384 а
int fk = j - oneShift;
int tk = j - twoShift;
int fok = j - threeShift;
if (fk < 128) {
fk += 33;
if (fk == 159) {
fk = 128;
}
}
if (tk < 128) {
tk += 33;
if (tk == 159) {
tk = 128;
}
}
if (fok < 128) {
fok += 33;
if (fok == 159) {
fok = 128;
}
}
cout << (char) j << (char) fk << (char) tk << (char) fok << endl;
}
}
return 0;
}
//АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ_