5.3 Програми до параграфа (Borland C++)
Аутентификация хаттамасын іске асыратын бағдарлама.
# include
# include
# include
# includenamespace std; Stpn(int a, int b, int M) / / есептеу функциясы
а
b
(mоd М)
{ int r=1;(int i=1;i<=b;i++)r=r*a%M;r;
}main()
{p,q,g,scr
key,opn
key,e,t,k,r,s;<<"\nBob:
";//Боб:=17;p=103;=2;{e=Stpn(g,q,p);g++;}(e!=1 && g
q=1(MOD г) -;<<<"p="
48
key=9;/құпия
кілтті
таңдайды=q-scr
key;
key=Stpn(g,x,p);//ашық
кілтті
есептейді<"opn key: "
жібереді; <<"\nbob:"; / / боб:=8;=100%31;<<"Zapros: "<
жібереді;<<"\nAlice: ";// Клиент:=(e*scr key+k)%q;<"Otvet: "
және жібереді; //жауап <"\nbob: ";//Боб:r1,r2;=Stpn (g,s,p);=Stpn(opn key,e,p); = Stpn
(opn key, p););//алынған жауапты тексереді, содан кейін=r1*r2%p;// аутефікаціюді
мойындайды немесе қабылдамайды (r==r1)cout<
қабылданды"; cout< < r<<"!="<
}
Бұл бағдарламада көрнекілік үшін хаттамаға қатысушылар алмасатын барлық
хабарламалар экранға шығарылады.
Бағдарлама жұмысының нәтижелері.
1. Шнорр аутентификациясының хаттамасын іске асыратын бағдарламаны
жазу. Көрсетілген параметрлермен хаттаманы орындау:
а) р=1093, q=13;
б) р=2297, q=41;
в) р=1181, q=59;
г) р=1117, q=31.
Дешифрлеу кілті
а) мен оғаш ұйқымды көрдім - мен алдыма өлшеусіз және бос және жабайы
жазықтық сияқты. және жаздың әрбір адамы, өкінішке орай, әр адамның көз
алдында ыстық махаббат жанады. және иық, бір сияқты, жер беті барлық бір
қорқынышты жүкті бергендей.
б) қазір көремін: өзеннен-маяктар сияқты екі Өтес; бір жасыл, қара. Немесе
жазғы күн, немесе күлімсіреу, олар ғасырлар бойы тұрады. Қара бұрышта қара
емен, мейірімді жауынгер-вітролюб, барлық магнитті, жанып кеткен, қараңғыда
тұр. Барлығы кімге айтуға болады? Кімге болар еді? Неге сол круча навис? Неге
чебер мен шық жалғыз беткейде жатыр, және қылыш сияқты жоғары өрілген
оқпан көкке батқан?
в) кеңес б "» - « »:
Көктем-Көңілді, Жомарт, сүйкімді, сәулемен ойнап, гүлдер шашып тұрды. Ол
жүз Қанат сияқты тез ұшып кетті,одан кейін ән айту құс. Барлығы тірі қалды, бәрі
күлді, Жасыл Шу, Көңілді ай. Пело барлық посмеивалось және трепетал, ал
лежала науқас және самотна.
г) сен бұл туралы сен білесің бе немесе күлкі жоқ сенің жалғыз ұның сенің
жалғыз көзің сенің жалғыз сенің Енді сен ертең осы жерде болмайды басқа
адамдар жүре алады адамдар жақсы және зұлым адамдар сүйетін болады бүгін сен
үшін даланың ГАИ көлдерің үшін барлығы және асығып өмір сүруге керек
49
асығуды жақсы көруің керек, өйткені сен жеріңде адамсың және сенің жалғыз
ұның сенің жалғыз көзің сенің жалғыз көзің сенің жалғыз;
д) Гетьте, сіз күзгі түн сол түнде көктем алтын, сондықтан өкінішпен жас жаз
жоқ келеді, мен көз жасынан күлгім келеді, апат арасында ән айту, үмітсіз үмітсіз
өмір сүргім келеді мұңды ойлар мен қайғы-қасіретке толы Гүлдерді себемін, аязда
гүлдер себемін, оларға ащы көз жасарамын және сол ыстық көз жасы өседі кора
льодовая, күшті, мүмкін, Гүлдерді, Гүлдерді мен үшін көңілді көктем келді.
Кестеде: 3-ден кейін 4-ші немесе 5-ші тұр. Егер 5 - ші болса, онда 5 - ші-2-ші,
1 - ші-4-ші кейін. Көрейік:
1
2
3
4
5
3
5
2
1
4
И О А
Н
1
А Н О И
Е Р
Ч Г
2
Г Р Е Ч
М С М І
3
С І
М
М
Н В В И О
4
В О В Н И
І
К І
В Ш
5
І
Ш К І
В
Біздің болжамымыз дұрыс болды, бірақ шифрлау кезінде жолдар да араласты.
Орнату тәртібі:
3
С
І
М
М
5
І
Ш
К
І
В
2
Г
Р
Е
Ч
1
А
Н
О
Й
4
В
О
В
Н
И
Мәтін: жеті қап қарақұмық жүні
Шифрды шешу үшін ауыстыру: 35214
Ескерту: Бұл жерде жолдар мен бағандарды шифрлау үшін сол орын
қолданылды. Алайда, бұл міндетті емес.
1.а) 00110011 11000010 11001101 00100011 11101000;
б) 00111011 00010011 11001010 10011100 11100100.
а) Блок түріндегі мәтін:
1000101100000001010101011000000100110000000010001100000100000000111
10010001000000001010011000010001100000011110101011100000011000010001110
1001101101100000001001000000111101010101001010100001
Блоктар шифры:
50
0010010101100000000110000010010010111010000000011110010000010000010
011100011001000101000111001001011101001111011011110011011000101010010011
1011000001101
Криптограма:
б) Блок түріндегі мәтін:
1111100000100000011000000010100111000001000000110000000100000011000
00001010101001010101011011111011000000001001001100110110100000110000100
010010010001000001010101010101001010100001
Блоктар шифры:
00101111001100101111001001010011111001000111000001100000011100000110
000001101000001101110001110111110010110010000010001000011100100000101100
100011100000
Криптограма:
в) Блок түріндегі мәтін:
01101100011010101011011010000001111101101001101101100011010101011011
01000001010001010100110101001100000000100001011000111000110101010110110
10000001101100110000101100000000111001010010000011011010011010000100000
11000100010010101011101011110100000100100101010100001101000011101011010
1011000000100100001000111000100101010111010111101
Блоктар шифры:
10110011110100111111111001100100101011101000110110100010000110000010
11100100100000001000010011001011010000000010101000101101010111001000001
111001011101011100010110100100101100110100110110010011000000101000001100
010101010100001100111011111111100000001001100100000001000000011110111011
01001101010001010100011000100001001110001011111110000
Криптограма:
г) Блок түріндегі мәтін:
00100100 01100110 10100111 00000100 00010100 10001101 00100000 00010000
01001000 00101110 00001011 10000010 00001001 00101000 10100000 10000001
10011000 00000010 10101000 01111010 01011100 00000010 00001010 01010110
00111111 01110000 01000001 00111011 01010011 11100011 10110000 00011011
00011010 01011000 00011010 00110101 00000010 111000001
Блоктар шифры:
11100010 01100010 00000110 11000000 01001000 11010101 01110010 11011000
11100001 00100011 01000001 01100100 00110001 01100011 00110110 01100100
10001101 00100000 00100111 01011011 00011001 00100000 00110001 11001000
11011011 01011010 11000000 11101011 00001000 11100110 10111110 11001001
10111001 01101001 10111001 00101010 00100000 10010110 00010100
Криптограма:
д) Блоктар шифры: 00100101 01100000 00011000 00100100 10111010 00000001
51
11100100 00010000 01001110 00110010 00101000 11100100 10111010 01011011
10011000 10111010 00010000 0111111001101011
Блоктар шифры: 10001011 00000001 01010101 10000001 00110000
00001000110000010000000011110010001000000001010011000010001100000111110
0000100000011000000000110111101010111100000001000000011010101011
Ашық мәтін:ой ти знав нащо брав я не вмію жати
е) Блоктар шифры:
0101010010110010110000000010010001100110000001000010010001000101101
111111110001001000101001001100001110001011011010000001000111011010011000
0000011111001
Блоктар шифры:
1000000001100101000001011000000111100110100000101000000110001000101
110100010010110001110101000101101000001111100000000101011000101101100000
0011100011001000000011010101011
Ашық мәтін: мен суық боламын
Блоктар шифры:
11001000001000001111101001100011001000001100100111001001010010001100
010000110110010110110101011101101001001111111010100001001000111100000010
110110010101001110100000010110110100001111000111111101111000100001110110
001100101010011010001001100011001001
Блоктар шифры:
01010110
00000010
00110000
00101011
00000001
000110000001101100010100100001011010000001111010101010010101100010111100
00010010010100010100000011011000110010010111010110001011110000001101000
01011110101010000111010000010101100110101010100100001011000011
Ашық мәтін:
ж) Блоктар шифры: 11001000 10000110 11111010 10111010 00010011
010000011100000001100011010011001111001110110011110110010010000011000100
100000000111100001101110101011111111001101001000011010101011010111000011
0011101011001110010100001100010111100110100000011100111001001011
Блоктар шифры: 01010110 11100010 00110000 00110110 00101001
00001011010000010010100011010100001011000110110001011110000000101100010
00000010101010000111101001011100000101100000101000011010011001010011010
000111010110110001000000001100110110100101010011011011000101111
1. а) е=5: 418, 108, 088; е=11: 011, 303, 086;
б) 1019, 1089, 759;
в) 10514, 1266, 7336.
2. а) d=247; 175, 231, 044;
б) d =13361: 14, 1175, 2011;
52
в) d =4423: 2044, 5555, 10.
Вижинер шифрлау кестесі
А Б В Г Д Е Є Ж З І
Ї И Й К Л М Н О
А Б В Г Д Е Є Ж З І
Ї И Й К Л М Н О
А Б В Г Д Е Є Ж З І Ї И Й К Л М Н О П
Б В Г Д Е Є Ж З І Ї И Й К Л М Н О П Р
В Г Д Е Є Ж З І Ї И Й К Л М Н О П Р С
Г Д Е Є Ж З І Ї И Й К Л М Н О П Р С Т
Д Е Є Ж З І Ї И Й К Л М Н О П Р С Т У
Е Є Ж З І Ї И Й К Л М Н О П Р С Т У Ф
Є Ж З І Ї И Й К Л М Н О П Р С Т У Ф Х
Ж З І Ї И Й К Л М Н О П Р С Т У Ф Х Ц
З І Ї И Й К Л М Н О П Р С Т У Ф Х Ц Ч
І Ї И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш
Ї И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ
И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь
Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю
К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я
Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я
М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я А
Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я А Б
О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я А Б В
П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я А Б В Г
Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я А Б В Г Д
С Т У Ф Х Ц Ч Ш Щ Ь Ю Я А Б В Г Д Е
Т У Ф Х Ц Ч Ш Щ Ь Ю Я А Б В Г Д Е Є
У Ф Х Ц Ч Ш Щ Ь Ю Я А Б В Г Д Е Є Ж
Ф Х Ц Ч Ш Щ Ь Ю Я А Б В Г Д Е Є Ж З
Х Ц Ч Ш Щ Ь Ю Я А Б В Г Д Е Є Ж З І
Ц Ч Ш Щ Ь Ю Я А Б В Г Д Е Є Ж З І Ї
Ч Ш Щ Ь Ю Я А Б В Г Д Е Є Ж З І Ї И
Ш Щ Ь Ю Я А Б В Г Д Е Є Ж З І Ї И Й
Щ Ь Ю Я А Б В Г Д Е Є Ж З І Ї И Й К
Ь Ю Я А Б В Г Д Е Є Ж З І Ї И Й К Л
Ю Я А Б В Г Д Е Є Ж З І Ї И Й К Л М
Я А Б В Г Д Е Є Ж З І Ї И Й К Л М Н
53
Жай сандар 3011 дейін
Кесте 2.2 Алфавит әріптерін екілік кодпен кодтау
а
0
0
0
0
1
о
1
0
0
0
1
б
0
0
0
1
0
п
1
0
0
1
0
в
0
0
0
1
1
р
1
0
0
1
1
г
0
0
1
0
0
с
1
0
1
0
0
д
0
0
1
0
1
т
1
0
1
0
1
е
0
0
1
1
0
у
1
0
1
1
0
є
0
0
1
1
1
ф
1
0
1
1
1
ж
0
1
0
0
0
х
1
1
0
0
0
54
з
0
1
0
0
1
ц
1
1
0
0
1
і
0
1
0
1
0
ч
1
1
0
1
0
и
0
1
0
1
1
ш
1
1
0
1
1
й
0
1
1
0
0
щ
1
1
1
0
0
к
0
1
1
0
1
ь
1
1
1
0
1
л
0
1
1
1
0
ю
1
1
1
1
0
м
0
1
1
1
1
я
1
1
1
1
1
н
1
0
0
0
0
0
0
0
0
0
|