Пешгуфтор 
 Агар ба масири таърих нигарем инсоният аз 
 замонҳои қадим то ҳол роҳҳои бехатар равон кардани 
 итилоотро ба нуқтаҳои лозимӣ хусусан дар вақти ҷангҳо
 ҷустуҷӯ мекард. 
 Қайд кардан ба маврид аст, ки масъалаи рамзгузорӣ
 – танҳо барои итилооте, ки ба ҳимоя ниёз доранд ба вуҷуд
 меояд. Одатан дар ин ҳолат мегӯянд, ки итилоот сирри
 махфӣ дошта, давлатӣ ё конфидентсиалӣ (махфӣ, 
 пинҳонӣ) мебошад. Коркарди воситаҳо ва методҳои 
 махфисозии тарзи (далели) равон кардани итилоотро 
 стенография меомӯзад. Коркарди методҳои табдилдиҳии 
 (рамзгузори ё шифрования) итилоот, бо мақсади ҳимоя аз
 истифодабарандагони ғайриқонуниро - криптография 
 меомӯзад. Криптография илми татбиқӣ буда, 
 дастовардҳои илмҳои дақиқ, алалхусус математикаро 
 истифода мебарад. 
 Дар замони ҳозира техника ва технология дар 
 ҳолату рушду густариш мебошад, бинобар ин, масъалаи 
 ҳифзи итилоот низ ҳамчун як масъалаи мубрами рӯз ба 
 ҳисоб меравад. Криптография асосан дар вақти ҷангҳои
 якум ва дуюми ҷаҳонӣ, алалхусус баъди ҷанги дуюми 
 ҷаҳонӣ, хело рушту густариш ёфта, дар бисёр донишгоҳҳо
 ва донишкадаҳо ҳамчун предмети асосӣ хонда мешавад, 
 ҳатто ихтисоҳои вобаста ба он низ таъсис дода, шудаанд.
 Масалан,дар ДМТ сар карда, аз соли ин ҷониб 
 ихтисоси амнияти итилоот () дар факултети 
 механика ва математика амал мекунад. 
 Дастури мазкур тарзе навишта шудааст, ки 
 хонандагони он метавонанд бе ягон душворӣ ва доштани
 маълумоти иловагӣ методҳои ҳифзи итилоотро сар карда
 аз замонҳои қадим то замони муосир ба таври комил 
 омӯзанд. Барои ин зарур аст, ки ҳар мавзӯъро бодиққат
 хонда, мисол ва барномаҳои дар он овардашударо таҳлил
 кунанд. Дар охири ҳар боб барои мустаҳкамкунӣ саволҳо
 оварда шудааст. 
 Дастур се фасл ва бобро дарбар гирифта, ҳамчун
 як воситаи асосӣ барои худомӯзии методҳои рамзгузории
 итилоот ба ҳисоб меравад. Аз ин китоб хонандагон 
 метавонанд, дар як муддати кӯтоҳ методҳои ҳифзи 
 итилоотро омӯзанд. 
 Бояд қайд кард, ки ин китоб натанҳо ҳамчун як 
 воситаи худомӯзӣ, балки воситаи методиву таълимӣ низ
 мебошад. Ҳамаи барномаҳои ин китоб дар компютер иҷро
 ва тест карда шудаанд. 
 Дар охири китоб феҳристи васеи адабиёт ҷой дода
 шудааст, ки барои пурратар омӯхтани метоҳои ҳифзи 
 итилоот кӯмак мекунанд. 
 Аз баски ин китоб бори аввал чоп мешавад, бинобар
 ин метавонад аз нуқсону ғалатҳо орӣ набошад. Аз ин рӯ,
 муаллиф аз ҳамаи хонандагон эҳтиромона хоҳиш 
 менамояд, ки фикру мулоҳизаи ҳэшро оид ба мазмуни 
 китоб ба суроғаи (почтаи) электронии: cool.araby@mail.ru
 равон созанд. 
 Умед дорем ки фикру дархости беғаразонаи Шумо 
 барои беҳтар шудани сифати дастур дар оянда кӯмак 
 хоҳанд кард. 
 Муаллиф ба шахсоне, ки фикру мулоҳизаҳои худро 
 оид ба мазмуни китоб беғаразона мерасонанд, қаблан 
 изҳори миннатдорӣ мекунад. 
 Муаллиф ба муқарризон Замонов М.З., Бобоёров 
 Ш.К., муҳаррирон Гулов С.Н., Курбонов К.Ю. ва дигар 
 шахсоне, ки дар рафти навиштани ин китоб маслиҳатҳои
 муфид дода, таваҷҷуҳ зоҳир намуданд, миннатдории 
 зиёди худро баён месозад. 
 ФАСЛИ. АСОСҲОИ МАТЕМАТИКИИ 
 КРИПТОГРАФИЯ 
 Боби. Назарияи тақсимшавӣ. Мафҳум 
 ва теоремаҳои асосӣ 
 Оператори mod (remainder operator ё modulus 
 operators) барои ҳисобкунии бақияи тақсими адади ба 
 адади b истифода бурда мешавад. Оператори div бошад,
 ҳангоми тақсим намудани адади ба адади b, қисми 
 бутуни ҳосили тақсимро муайян мекунад. Намунае аз 
 мисолҳои амалҳои mod ва div чунин мебошад: 
 № Қимати a Қимати b a mod b a div b 
 Дар сурати қимати амалванди якум 
 (тақсимшаванда) аз қимати амалванди дуюм 
 (тақсимкунанда) хурд будан, натиҷаи a mod b ба 
 амалванди якум (тақсимшаванда) баробар шуда, натиҷаи a
 div b ба баробар мешавад. 
 Дар забонҳои барноманависӣ мисли С++ ва Java 
 барои муайянкунии бақияи ҳосили тақсим аз амали % 
 истифода бурда мешавад. Қайд кардан ба маврид аст, ки
 дар забонҳои мазкур ҳангоми манфӣ ё мусбат будани 
 тақсимшаванда амали % як хел натиҷа медиҳад, аммо дар
 назарияи ададҳо натиҷа шакли дигарро дорад. Дар 
 ҷадвали зерин намунаи ин амал дар барномасозӣ ва 
 назарияи ададҳо оварда шудааст. 
 № С++ Назарияи ададҳо 
 %= (mod )= 
 %= (mod )= 
 - % =- -(mod )= 
 -%=- -(mod )= 
 Дар криптография одатан аз mod-и назарияи ададҳо
 истифода бурда мешавад. Аз ин рӯ барои муайянкунии 
 амали мазкур метавон аз зербарномаи зерин, ки дар 
 забони С++ навишта шудааст, истифода кард. 
 int mod (int a, int b){ 
 if (a<) 
 return (b-(a%b)); 
 else 
 return a%b; 
 } 
 Дар криптография одатан аз ададҳои бутун 
 истифода бурда мешавад, бинобар ин дар ин боб онҳоро
 мавриди баҳс қарор медиҳем. Барои ба хонанда фаҳмо 
 шудан, баъзе таъриф ва теоремаҳои асосиро меорем. 
 Таърифи. Адади бутун гуфта, ададеро меноманд,
 ки дар навишти он аломати вергул дар барноманависӣ 
 нуқта (.)) иштирок намекунад. 
 Мисоли ададҳои бутун:,,, -,,,, 
 ва ҳоказо. 
 Дар математика маҷмӯи ададҳои бутунро бо ҳарфи 
 ишорат мекунанд. 
 Таърифи. Мегӯянд, ки адади ба адади бебақия 
 тақсим мешавад, агар ( шавад. 
 Дар ин ҷо адади каратии адади ва адади 
 тақсимкунандаи адади ба меноманд. 
 Теоремаи. (теорема оиди тақсими бақиянок). Ҳар
 гуна адади бутуни ба воситаи адади бо тарзи ягона 
 чунин 
 () 
 ифода кардан мумкин аст. 
 Дар ин ҷо -қисми нопурраи ҳосили тақсим ва 
 бақия аз тақсими адади ба адади номида мешавад. 
 Мисоли. Бигузор ва b= бошад, он гоҳ 
 =*+ мешавад. Дар ин ҷо ва аст. 
 Мисоли. Бигузор ва b= бошад, он гоҳ - 
 =*(-)+ мешавад. Дар ин ҷо ва аст. 
 Ҳар гуна ададе ки дар як вакт ададҳои ва -ро 
 тақсим мекунад, тақсимкунандаи умумии ин ададҳо 
 номида мешавад. Аз байни тақсимкунандаҳои умумии 
 ададҳо калонтаринашро калонтарин тақсимкунандаи 
 умумии ин ададҳо меноманд ва бо рамзи (а, ) ишора 
 мекунанд. 
 Теорема. Агар = бошад, он гоҳ 
 КТУ( )=КТУ(, с) мешавад. 
 Барои ёфтани КТУ(, ), дар ҳолати будан, аз 
 алгоритми Евклид истифода бурда мешавад, ки шакли 
 зеринро дорад: 
 +, < < 
 = +, < < 
 = +, < < 
 ……………… ………. 
 = +, < < 
 =. 
 Тавре ки аён, дар ин ҷо мо баробарии зеринро ҳосил
 мекунем: 
 Ҳамин тариқ, охирон бақияи ғайрисифрӣ, яъне 
 КТУ-и ададҳои ва ба ҳисоб меравад. 
 Мисоли. Бо ёрии алгоритми Евклид 
 КТУ(,)-ро ёбед. 
 Ҳал: 
 =*+ 
 =*+ 
 =*+ 
 =*+ 
 =* 
 Евклид ё Эвклид (юн. Εὐκλείδης) математики юнони қадим, тақрибан
 п.м зиндагӣ карда, муаллифи нахустин асар оиди математик ба
 ҳисоб меравад. 
 Инак, КТУ(, )= мешавад. 
 Барои ёфтани КТУ метавон аз зербарномаи 
 зерин, ки дар забони С++ навишта шудааст истифода кард:
 long KTU(long a, long b){ 
 while (b!=) { 
 long t=a%b; 
 a=b; 
 b=t; 
 } 
 return a; 
 } 
 Барои муайянкунии КТУ ба ғайр аз алгоритми 
 Евклид метавон аз алгоритми зерин низ истифода кард, ки
 аз нуқтаи назари компютер вақти камтарро мегирад. 
 ( ) 
 ( ) 
 Барои ё фтани К ТУ бо истифода аз ин метод 
 ( ) 
 { 
 метавон аз зербарномаи зерин, ки дар забони С++ навишта
 шудааст истифода кард: 
 long KTU(long a, long b){ 
 long g=; 
 //Аз КТУ муайян кардани дараҷаҳои 
 while ((a%==) && (b%==)) { 
 a=a/; 
 b=b/; 
 g=*g; 
 } 
 //Аққалан яке аз ададҳои a ва b тоқ будан 
 while (a!=){ 
 while(a%==){ a=a/; 
 } 
 while(b%==){ b=b/; 
 } 
 //Дар ҳолати a ва b тоқ будан 
 if (a>=b) 
 a=(a-b)/; 
 else 
 b=(b-a)/; 
 } 
 return g*b; 
 } 
 Таърифи. Ҳар гуна адади натуралии аз калон, ки
 танҳо ду тақсимкунда (яъне ва худаш) дорад, адади сода
 номида мешавад. 
 Таърифи. Ададҳои бутуни ва b байнан сода 
 номида мешаванд, агар КТУ(, b)= бошад. 
 Таърифи. Ададҳои ғайрисодаро таркибӣ 
 меноманд. 
 Мисоли. Дар байни адади натуралӣ (аз то
 ), адади сода танҳо ададҳои зерин мебошанд:,,,,,,,,,,,,,,,,,,,,,,,,. 
 Тавре ки аз математикаи элементарӣ медонем, 
 барои ёфтани ададҳои сода метавон аз ғалбери Эратосфен
 истифода кард. Моҳияти ин алгоритм чунин аст: 
 Дар аввал ададҳои натуралии аз то -ро 
 пайдарпай менависем 
 Нахустин адади аз калони ин қатор адади аст. Ин
 адад танҳо ба ва худаш тақсим мешавад, пас вай сода аст.
 Аз ин қатор ба ҷуз аз худи ҳамаи ададҳои ба каратиро
 (ҳамчун таркибӣ) хат мезанем. Баъди нахустин адади
 хатназада адади аст вай бо тақсим намешавад (дар акси
 ҳол онро бояд хат мезадем). Бинобар ин адади танҳо ба 
 ва ба худаш тақсим мешавад, аз ин сабаб вай ҳам сода аст.
 Аз қатори () ба ғайр аз худи ҳамаи ададҳои ба 
 каратиро хат мезанем. Аввалин адади пас аз, ки хат зада
 нашудааст, адади аст. Вай ба ва тақсим намешавад
 (дар акси ҳол бояд онро хат мезадем). Бинобар он адади 
 танҳо ба ва ба худаш тақсим мешавад, аз ин сабаб вай
 ҳам адади сода аст. Ҳамин тариқ ин равандро барои 
 ададҳои дигар, ки аз хурд мебошанд, иҷро мекунем. 
 Дар натиҷа ҳамаи ададҳои хатназадаи аз N хурд, ададҳои
 √ 
 сода мешаванд. 
 Барои муайянкунии ададҳои содаи аз то N метавон
 аз зербарномаи зерин, ки дар забони С++ навишта шудааст
 истифода кард: 
 Эратосфен математики юнонӣ асри III пеш аз мелод 
 void Soda(int n) 
 { 
 int k; 
 for (int i=; i<=n; i++){ 
 k=; 
 for (int j=; j<=(int) sqrt(i); j++){ 
 if (i % j==) 
 { 
 k++; 
 break; 
 } 
 } 
 if (k==) 
 cout<<i<<"\t"; 
 } 
 } 
 Теоремаи. Ҳаргуна адади бутуни аз як калонро ба
 ҳосили зарби ададҳои сода бо тарзи ягона ҷудо кардан
 мумкин аст. 
 Хосияти. Ҳангоми ба зарбкунанандаҳои сода ҷудо
 намудани адади метавонанд, баъзе зарбкунандаҳо якчанд
 маротиба такрор шаванд. Бо ҳарфҳои ҳамаи 
 зарбкунандаҳои содаи гуногуни адади ва бо 
 мувофиқан каратнокии онҳоро ишорат карда, 
 ба сурати зерин формулаи ба зарбкунандаҳои сода ҷудо
 намудани адади -ро ҳосил мекунем: 
 Мисоли. Ҷ у д оку ни и к ан∏они к ии адади 
 чунин шаклро дорад: 
 Барои адади додашударо ба зарб кун андаҳои сода
 ҷудо кардан метавон аз зербарномаи зерин, ки дар забони
 С++ навишта шудааст, истифода кард. 
 void judokuni(int a, int b) 
 { 
 if (a == ) 
 return; 
 for (;; b++) 
 if (a%b == ) 
 { 
 cout << b << endl; 
 rec(a / b, b); 
 return; 
 } 
 } 
 int main() 
 { 
 int a; 
 cin >> a; 
 judokuni(a,); 
 return; 
 } 
 Мисоли. Муайян кунед, ки ададҳои ва 
 байнан сода мебошанд? 
 Ҳал. Барои ёфтани КТУ(, ) аз алгоритми 
 Евклид истифода бурда мешавад. 
 =*+ 
 =*+ 
 Тавре ки дида мешавад 
 Бинобар ин, ададҳои ва байнан сода намебошанд.
 Теорема. (тасвири хатии КТУ(a, b)). Агар адади d
 КТУ(, b) бошад, он гоҳ чунин ададҳои бутуни ва 
 мавҷуданд, ки барои онҳо баробарии зерин иҷро мешавад:
 () 
 Натиҷа. Агар ададҳои бутуни a ва b байнан сода 
 бошанд, он гоҳ () шакли зеринро мегирад: 
 () 
 Дар формулаҳои () ва () ададҳои -ро 
 коэффитсиентҳои Безу(Bezout Etienne - ) 
 меноманд. 
 Мисоли. Барои ададҳои ва коэффитсиентҳои
 Безуро ёбед. 
 Ҳал. Ибтидо КТУ(, )-ро бо истифода аз 
 алгоритми Евклид меёбем. 
 = + 
 =+ 
 =+ 
 =+ 
 Аз ин ҷо КТУ(,)= мешавад. 
 https://en.wikipedia.org/wiki/Bézout%s_identity 
 Бо назардошти иҷроиши алгоритм, баробариҳои 
 занҷирии зеринро ҳосил мекунем: 
 =-= 
 - (- )= - = 
 (- )-= 
 - 
 Аз ин ҷо коэффитсиентҳои Безу 
 мешавад. 
 Барои ёфтани коэффитсиентҳои Безу метавон аз 
 барномаи зерин, ки дар забони С# навишта шудааст, 
 истифода кард. 
 using System; 
 namespace BEZUKOEF 
 { 
 class Program 
 { 
 public static Tuple<int, int> BEZU(int a, int b)
 { 
 int x =; 
 int lastx =; 
 int y =; 
 int lasty =; 
 while (b!= ) 
 { 
 int quotient = a / b; 
 b = a % (a = b); 
 x = lastx - quotient * (lastx = x); 
 y = lasty - quotient * (lasty = y); 
 } 
 return Tuple.Create(lastx, lasty); 
 } 
 static void Main(string[] args) 
 { 
 Tuple<int, int> z; 
 int a, b; 
 a = Convert.ToInt(Console.ReadLine()); 
 b = Convert.ToInt(Console.ReadLine()); 
 z = BEZU(, ); 
 Console.WriteLine("x="+z.Item+" y="+z.Item);
 Console.ReadKey(); 
 } 
 } 
 } 
 алгоритми Евклид 
 Бигузор адади дилхоҳи ҳақиқӣ бошад. Бо ҳарфи 
 адади бутуни калонтарини аз калон набударо ишора 
 мекунем. Дар вақти бутун набудани маълум аст, ки 
 мешавад. 
 А й н а н ҳ ам ин тавр, дар ҳолати бутун набудани
 ададҳои ҳосил мекунем: 
 Дар натиҷа ҷ у до ку н и и б а касрҳои бефосила
 (ё касрҳои занҷирӣ) пайдо мекунем: 
 Барои ҳисоб намудани касрҳои б еф о сила метавон аз
 барномаи зерин истифода кард: 
 #include <iostream> 
 #include <string> 
 #include <sstream> 
 using namespace std; 
 double solve(int n) 
 { 
 if (n <= ) 
 return.; 
 double result = n; 
 for (int i = n -; i >=; --i) 
 result = i +. / result; 
 return result; 
 } 
 string int_to_str(int value) 
 { 
 ostringstream ostr; 
 ostr << value; 
 return ostr.str(); 
 } 
 string build_formula(int n) 
 { 
 if (n == ) 
 return ""; 
 string formula = int_to_str(n); 
 for (int i = n -; i >; --i) 
 formula = "(" + int_to_str(i) + " + / " + formula + ")";
 return " + / " + formula; 
 } 
 int main(int argc, char** argv) { 
 int m, n; 
 cout<<"m="; cin>>m; 
 cout<<"n="; cin>>n; 
 cout << build_formula(m) << " = " << solve(n) <<endl;
 return; 
 } 
 Агар ирратсионалӣ бошад, он гоҳ ҳар гуна ҳам 
 ирратсионалӣ мешавад (дар ҳолати ратсионалӣ будани 
 дар асоси () ҳам ратсионалӣ мешавад) ва протсесси 
 нишондодашударо беохир давом додан мумкин аст. 
 Агар ратсионалӣ бошад, онро ҳамчун касри 
 ратсионалии ихтисоршавандаи, ки махраҷаш адади 
 мусбат аст, ифода намудан мумкин аст, он гоҳ протсесси
 нишондодашуда ба охир мерасад ва онро бо ёрии 
 алгоритми Евклид иҷро кардан мумкин аст. Дар ҳақиқат
 ҳосил мекунем: 
 Аз ин ҷо ҳосил мек у н е м. 
 Ададҳои, дар ҷудокунии дар касри 
 бефосила иштирок мекунанд, қисмҳои нопурраи ҳосили 
 тақсим номида мешаванд. Касрҳои.....-ро касрҳои мувофиқ
 м ен ом а н д. 
 Сурат ва махраҷи касрҳои мувофиқро бо ёрии 
 ҷадвали 
 ва формулаҳои ҳисоб карданмумкин 
 аст. 
 { 
 Намунаи мисолҳо:. 
 Барои ҳ о с ил к а р да ни н а т и ҷа и и н н авъ мисолҳо
 метавон аз зербарномаи зерин истифода кард, ки дар 
 забони C++ навишта шудааст: 
 void pown(long int a, long int b){ 
 vector<int>q; 
 int n=; 
 while(a%b!=){ 
 int h=mod(a,b); 
 q.push_back(a/b); 
 a=b; 
 b=h; 
 } 
 q.push_back(a/b); 
 cout<<"["; 
 n=q.size(); 
 for (int i=; i<n; i++) 
 if (i<n-) 
 cout<<q[i]<<","; 
 else 
 cout<<q[i]; 
 cout<<"]"<<endl; 
 } 
 Дар ин зербарнома аз зербарномаи mod истифода 
 бурда шудааст. 
 Ҳар гуна адади бутуни ба ҳамаи ададҳои бутуни 
 додашуда каратиро, каратии умумии ин ададҳо меноманд.
 Хурдтарин каратии мусбатро хурдтарин каратии умумии 
 онҳо меноманд. 
 Дар ҳолати хусусӣ, агар ХКУ-и ададҳои ва адади 
 бошад, онро чунин ишора мекунанд: ХКУ(. 
 Барои ёфтани ХКУ метавон аз формулаи зерин 
 истифода кард: 
 КТУ(ХКУ) – и я к ч ан д то ададҳои 
 чунин муайян мекунанд: 
 Ибтидо барои ду адад КТУ(ХКУ)-ро ёфта, сипас ин
 усулро барои адади ёфташуда ва адади сеюми он давом 
 медиҳанд ва ғайра. 
 КТУ ва ХКУ дорои хосиятҳои зерин мебошанд: 
 Хосияти. КТУ(,b,c)=КТУ(КТУ(,b);c). 
 Хосияти. ХКУ(,b,c)=ХКУ(ХКУ(,b);c). 
 Хосияти. КТУ( c, bc)=cКТУ(,b ). 
 Хосияти. ХКУ( c, bc)=c ХКУ(,b). 
 Хосияти. КТУ(n, n+,n+ )=. 
 Хосияти. Ададҳои ва байнан сода 
 мебошанд. 
 Хосияти. Агар КТУ(n, k)= бошад, он гоҳ КТУ(n,
 n+k)= мешавад. 
 Мисоли: КТУ(n,n+)=КТУ(n,n+)= КТУ(n, 
 n+(n+)) = КТУ(n, n+) =.: 
 Мисоли 
 Хосияти. Агар КТУ ( )= бошад, он гоҳ 
 байнан сода номида мешаванд. Агар ҳар яке аз 
 ададҳои бо ҳар яки дигараш байнан сода бошанд, 
 он гоҳ ҷуфт-ҷуфт сода мешаванд. Барои ду адади 
 додашуда мафҳуми ҷуфт-ҷуфт сода ва мафҳуми байнан 
 сода ҳаммаъноянд. 
 Хосияти. Агар тақсимкунандаи умумии дилхоҳи 
 бошад, он гоҳ аст. Дар ҳолати 
 хусусӣ хосияти ҷой дорад. 
 ( ) 
 Хосияти. Агар ҳар яке аз ададҳои бо 
 ҳар як ададҳои байнан сода бошанд, он гоҳ 
 ҳосили зарби онҳо низ байнан сода мешавад. 
 Хосияти. Хурдтарин тақсимкунандаи аз як 
 фарқкунандаи адади таркибии аз адади калон 
 намебошад. 
 √ 
 Хосияти. КТУ-и якчанд адад аз ҳосили зарби 
 дараҷаҳои намуди иборат аст, ки дар ин ҷо р— 
 тақсимкунандаи сод аи умумии ҳамаи ин ададҳо, 
 нишондиҳандаи хурдтарине, ки р бо вай ба ҷудокунии
 каноникии он ададҳо дохил мешавад. 
 Мисоли. КТУ(, ) ёфта шавад. 
 Ҳал. Аввал ададҳои, -ро бо 
 зарбкунандаҳои сода ҷудо мекунем, ки дар натиҷа шакли
 зеринро мегиранд:. 
 Аз ин ҷ о К ТУ(, )= 
 Хосияти. ХКУ-и якчанд ада д аз ҳосили зарби 
 дараҷаҳои намуди иборат аст, ки дар ин ҷо р— 
 тақсимкунандаи сод аи умумии ҳамаи ин ададҳо, 
 нишондиҳандаи калонтарине, ки р бо вай ба 
 ҷудокунии каноникии он ададҳо дохил мешавад. 
 Мисоли. ХКУ(, ) ёфта шавад. 
 Ҳал. Аввал ададҳои, -ро бо 
 зарбкунандаҳои сода ҷудо мекунем, ки дар натиҷа шакли
 зеринро мегиранд:. 
 Аз ин ҷо К ТУ(, )= 
 мешавад 
 Хосияти. Маҷмӯи каратиҳои умумии якчанд 
 ададҳо бо маҷмӯи каратиҳои ХКУ-и он ададҳо баробар аст.
 Хосияти. ХКУ-и якчанд ададҳои ҷуфт-ҷуфт 
 байнан сода, ба ҳосили зарби он ададҳо баробар аст. 
 Саволҳо барои мустаҳкамкунӣ 
 ) Чӣ гуна ададҳоро адади бутун меноманд? 
 ) Чӣ гуна ададҳоро сода меноманд? 
 ) Барои муайянкунии ададҳои сода аз кадом 
 алгоритм истифода бурда мешавад? 
 ) Алгоритми Евклид барои чӣ истифода бурда 
 мешавад? 
 ) Чӣ тавр ва КТУ ҳисоб карда 
 мешаванд? 
 ) Чӣ тавр зарбкунандаҳои Безу ёфта мешаванд? 
 ) Чӣ гуна ададҳоро байнан сода меноманд? 
 ) Касрҳои бефосила бо алгоритми Евклид чи 
 алоқаманди доранд? 
 Боби. Функсияҳои асосии назарияи 
 ададҳо 
 Ибтидо ду функсияҳои муайяни зеринро, ки 
 барои ҳамаи қиматҳои ҳақиқӣ маълум мебошанд, дида 
 мебароем. 
 ба калонтарин адади бутуни аз калон набуда баробар 
 мебошад. Дар забони С++ барои иҷрои ин амал аз 
 функсияи floor( истифода бурда мешавад. 
 ба фарқи байни ва қисми бутуни вай, яъне 
 баробар мебошад. Дар забони С++ барои иҷрои ин амал 
 метавон аз ифодаи -floor( истифода бурда мешавад. 
 Мисолҳо:. 
 { } { } { } 
 ҳосили зарби n! дохил мешавад, баробар аст ба 
 Мисол[. А] да[ди ]!-[ро ] б а за р б ш а в а н д а ҳ ои сода ҷудо
 кунед. 
 Ҳал: Барои ҳалли ин мисол аз формулаи () 
 истифода мебарем. 
 [ ] [ ] [ ] 
 [ ] [, ]. 
 Аз ин ҷо ҳосил мекунем:. 
 [ ] [ ] 
 Функсияи мултипликативӣ номида 
 мешавад, агар вай ду шарти зеринро қонеъ гардонад: 
 муайян буда, аққалан барои яке аз чунин 
 нобаробарӣ сифр аст. 
 баробарии зерин иҷро гардад 
 Мисол. Бе душворӣ дидан мумкин аст, ки функсияи, ки дар ин ҷо адади дилхоҳи ҳақиқӣ ё комплексӣ 
 м ебошад, мултипликативӣ аст. 
 Барои ҳар гуна функсияи мултипликативии 
 Дар ҳақиқат, бигузор 
 ҳосил мешавад. 
 Хосияти функсияи мултипликативии 
 дар ҳолати > будан барои -то ададҳои ҷуфт-ҷуфт 
 байниҳам содаи низ иҷро мешаванд. Дар 
 ҳақиқат, ҳосил мекунем:. 
 Дар ҳолати хусусӣ: 
 ( ) ( ) 
 тақсимкунандаҳои адад 
 Функсияҳои барои ададҳои 
 натуралии муайян буда, мувофиқан миқдор ва суммаи 
 тақсимкунандаҳои адади натуралии ро муайян 
 мекунанд. Дар ҳолати будан. 
 ф у нк си яи м у лтиплитикавӣ буда, дар ҳолати
 будан чунин ҳисоб карда мешавад: 
 Мисол. Сумма в а м иқ дори тақсимкунандаҳои адади
 -ро ёбед. 
 Ҳал: Азбаски аст, пас формулаҳои 
 ро истифода бур да, ҳосил мекунем:. 
 Барои муайян кардани сумма ва миқдори 
 тақсимкунандаҳои адади додашуда метавон аз 
 зербарномаҳои зерин истифода кард. 
 #include <iostream> 
 using namespace std; 
 int sum(int n){ 
 int res=; 
 for (int i=; i*i<=n; i++) 
 if (!(n%i)) 
 { 
 res+=i; 
 if (i*i!=n) 
 res+=n/i; 
 } 
 return res; 
 } 
 int col(int n){ 
 int k=; 
 for (int i=; i<=n/;i++) 
 if (n%i==) 
 k++; 
 return k; 
 } 
 int main(int argc, char** argv) { 
 int n,S, k; 
 cout<<"n="; cin>>n; 
 S=sum(n); k=col(n); 
 cout<<"S="<<S<<" k="<<k; 
 return; 
 } 
 Функсияи Эйлер барои ҳамаи ададҳои 
 мусбати муайян карда мешавад ва миқдори ададҳои бо 
 байни ҳам содаи қатори ададҳои қатори ро 
 ифода мекунад. 
 Бигузор ҷудокунии каноникии адади 
 бошад, он гоҳ 
 (*) 
 ё ( )( ) ( ) 
 мешавад. Дар ҳолати хусусӣ 
 ( )( ) ( ) 
 баробар аст. 
 функсия и м у л типлитикативӣ буда, барои 
 мебошад. 
 Леонард Э йлер (нем. Leonhard Euler)-олими бузурги (швейтсариягӣ,,
 олмонӣ, рус) соҳаи математика -уми апрели соли дар шаҳри
 Базел (Швейтсария) ба дунё омадааст. -ум ё -уми сентябри соли
 дар шаҳри Санкт-Петербург (Империяи Рус) аз олам гузаштааст.
 Эйлер — муаллифи зиёда аз кори илмӣ мебошад. 
 Мисол. Функсияи Эйлер барои адади ёфта 
 шавад. 
 Ҳал. Ибтидо адади -ро ба зарбкунандаҳои сода
 ҷудо мекунем, ки шакли -ро мегирад. Пас аз ин 
 формулаи (*)-ро истифода бурд а ҳосил мекунем: 
 Б а р ои ҳ исо б ку ни и қ(и м ати) (ф у нкс)ия и Э й ле р м ет а вон
 аз зербарномаи зерин, ки дар забони С++ навишта шудааст
 истифода кард. 
 long Eiler(long int a){ 
 int k=; 
 for (int i=; i<a; i++){ 
 if (KTU(a,i)==) 
 k++; 
 } 
 return k; 
 } 
 Саволҳо барои мустаҳкамкунӣ 
 ) Барои муайянкунии қисми бутун ва касрии адади 
 ҳақиқии додашуда аз кадом функсияҳо истифода 
 бурда мешавад? 
 ) Функсияи мултипликативӣ гуфта, чӣ гуна 
 функсияро меноманд? 
 ) Функсияи Эйлер барои чӣ истифода бурда 
 мешавад? 
 ) Барои ёфтани сумма ва миқдори тақсимкунандаҳои 
 адад аз кадом формулаҳо истифода бурда мешавад?
 ) Чӣ тавр ро ба тақсимкунандаҳои сода ҷудо 
 кардан мукин аст? 
 Боби. Муқоисаҳо. Синфи тафриқҳо 
 Таърифи. Ададҳои аз рӯйи модули 
 муқоисашаванда номида мешаванд, агар фарқи онҳо 
 ( ба m бебақия тақсим шавад, яъне чунин адади 
 бутуни к мавҷуд бошад, ки баробарии зерин иҷро гардад:
 Мисоли. Ададҳои,,,,, -, -, -,.... дар
 вақти тақсим ба адади дорои бақияҳои якхелаи 
 мешаванд. 
 Муқоисашавандагии ду адади ва - ро аз рӯйи 
 модули m чунин ишора мекунанд: 
 Мисоли.. 
 Теоремаи. Муқоисаи () бо баробарии зерин 
 баробарқувва мебошад: 
 Исбот. Бигузор () ҷой дошта бошад. он гоҳ ҳосил
 мекунем: 
 ),. 
 Аз ин ҷо бармеояд:,. 
 Азбаски адади бутун аст, аз ин ҷо 
 мешавад. Дар ин ҷо исбот карда шуд, ки () ҳангоми 
 иҷрошавии баробарии () ҷой доштааст. 
 Хосияти. Агар ду адад бо адади сеюм аз рӯйи 
 модулҳои муқоисашаванда бошанд, он гоҳ онҳо 
 байнихуд низ аз рӯйи ҳамон модул муқоисашаванда 
 мешаванд. Дар ҳақиқат, агар 
 бошад, он гоҳ мешавад. 
 Хосияти. Ду ё якчанд муқоисаи аз рӯйи як 
 модулро аъзо ба аъзо ҷамъ кардан мумкин аст. 
 Дар ҳақиқат 
 Хосияти. Ду ё якчанд муқоисаи аз рӯйи як 
 модулро аъзо ба аъзо зарб кардан мумкин аст. 
 Дар ҳақиқат: 
 Хосияти. Ҳар ду тарафи муқоисаро ба дараҷаи 
 натуралӣ бардоштан мумкин аст. 
 Исботи ин хосият аз хосияти бармеояд. 
 Мисол. Дода шудааст: 
 Ҳангоми 
 Ҳангоми 
 Хосияти. Ҳар ду тарафи муқоисаро ба адади 
 ихтиёрии бутуни зарб кардан мумкин аст. 
 Дар ҳақиқат: 
 Мисол. Дода шуда аст. 
 Ҳангоми 
 Ҳангоми 
 Ҳангоми 
 Хосияти. Агар ададҳои чанд модули 
 гуногуни муқоисашаванда бошанд, он гоҳ 
 ин ададҳо аз рӯйи модуле, ки ба ХКУ-и ин модулҳо 
 баробар аст, низ муқоисашаванда мешаванд. 
 Исбот. Бигузор баробарии зерин ҷой дошта бошад: 
 Аз маълум мешав ад, ки тақсимшавандаи 
 } 
 умумии адаҳои мебошад. Мо медонем, ки 
 тақсимшавандаи умумии ду ё чанд ададҳо ба ХКУ-и онҳо
 каратӣ мебошад, яъне 
 Муносибати н и ш о н медиҳад, ки 
 мебошад. 
 Хосияти. Агар ададҳои 
 муқоисашаванда бошанд, он гоҳ онҳо аз рӯйи ҳар гуна 
 тақсимкунандаҳои он модул низ муқоисашаванда 
 мешаванд. 
 Хосияти. Ҳарду тарафи муқоисаро бо 
 тақсимкунандаи умумии онҳо тақсим кардан мумкин аст,
 агар охирон бо модул байнан сода бошад. 
 Дар ҳақиқат, аз ва 
 ( )= бармеояд, ки фарқи, ки ба 
 баробар аст, ба m тақсим мешавад. Бинобар ин ба 
 – 
 тақсим мешавад, яъне аст. 
 Хосияти. Ҳарду тарафи муқоиса ва модулро ба як
 адади бутун зарб кардан мумкин аст. 
 Хосияти. Ҳарду тарафи муқоиса ва модулро ба 
 ҳар гуна тақсимкунандаи умумии онҳо тақсим кардан 
 мумкин аст. 
 Хосияти. Агар як тарафи муқоиса ва модул ба 
 ягон адад тақсим шавад, тарафи дигараш ҳам ба он тақсим
 мешавад. 
 Хосияти. Агар бошад, он гоҳ 
 мешавад. 
 Хосияти. Дилхоҳ ду адади бутун аз рӯйи модули
 муқоисашаванда мебошанд. 
 Хосияти. Ба дилхоҳ тарафи муқоиса метавон, 
 адади ихтиёрии ба модул каратиро илова кард: 
 Хосияти. Аъзое, ки дар як тарафи муқоиса 
 ҷойгир аст, метавон онро ба аломати баръакс ба тарафи
 дигари муқоиса гузаронид. 
 Дар ҳақиқат, 
 Қайд кардан ба маврид аст, ки муқоисаҳо илова ба
 хосиятҳои овардашуда, инчунин дорои хосияти зерин 
 мебошанд: 
 Рефлексивӣ: барои дилхоҳ адади баробарии 
 Симметрӣ: агар бошад, 
 мешавад. 
 Транзитивӣ: агар ва 
 бошад, он гоҳ мешавад. 
 Таърифи. Синфи тафриқҳои адади 
 модули натуралии n гуфта, маҷмӯи ҳамаи 
 ададҳои бутунеро меноманд, ки бо адади модули 
 муқоисашавандаанд. Синфи тафриқҳои адади ро бо 
 ё [ ] ишорат мекунанд, яъне: 
 ̅ 
 Қайд. Дар ин ҷо [ ] –синфи тафриқҳои адади ро 
 ̅ { } 
 ифода мекунад. 
 Мисол. Бигузор бошад, он гоҳ ададҳои бутун 
 ба се класси тафриқҳо ҷудо аст: 
   ,,,,,... - ададҳое, ки ҳангоми тақсим ба 
 бақияашон ба баробар аст. 
  ...,,,,,,,... 
 - ададҳое, ки ҳангоми тақсим ба 
 бақияашон ба баробар аст. 
  ...,,,,,,,... 
 - ададҳое, ки ҳангоми тақсим ба 
 бақияашон ба баробар аст. 
 Азбаски, муқоисашавиҳо аз рӯйи модули m дар 
 маҷмӯи ададҳои бутун дорои муносибати эквивалентӣ 
 мебошанд, пас синфи тафриқҳо аз рӯйи модули m 
 синфҳои эквивалентиро ифода мекунанд. Миқдори онҳо 
 ба m баробар мебошад. Маҷмӯи ҳамаи синфи тафриқҳоро 
 аз рӯйи модули m бо ё ишора мекунанд. 
 Амалҳои ҷамъ ва зарб дар синфи тафриқҳо аз рӯйи
 формулаҳои зерин ҳисоб карда мешаванд: 
 [ ]+ [ ]= [ +y], [ ] [ ]= [ y] 
 Теоремаи. Сумма ва ҳосили зарби синфи 
 тафриқҳо аз интихоби намояндаи синфҳо вобастагӣ 
 надорад. 
 Исбот. Бигузор [ ]= [ ’] ва [ ]= [ ] бошад. Он гоҳ ≡
 (mod m), мешавад. Хосияти муқоисаҳоро 
 истифода бурда ҳ осил мекунем: 
 Ҳамин та риқ 
 Мисол. М аҷм ӯи зеринро дид а ме бароем: 
 Аз ин маҷмӯъ якчанд мисоли ҷамъ ва тарҳро дида 
 { } 
 мебароем: 
 []+[]=[], []·[]=[], []·[]=[].
 Қайд кардан мумкин аст, ки ададҳое, ки дохили як
 синфанд, аз рӯйи модули додашуда баробарбақия 
 мебошанд: 
 Аз ҳар як синф фақат як намояндаро гирифта, 
 системаи пурраи тафриқҳоро аз рӯйи модули m ҳосил 
 мекунем. 
 Таъриф. Системаи ададҳое, ки аз ин гуна 
 намояндаҳо иборат аст, системаи пурраи тафриқҳо 
 номида мешавад. 
 Масалан, ададҳои −, -, системаи пурраи 
 тафриқҳоро аз рӯйи модули ифода мекунанд. 
 Айнан ҳамин тавр системаи ададҳои зерин аз рӯйи
 модули системаи пурраи тафриқҳоро ташкил 
 мекунад: 
 Бо мақсади осон намудани баъзе ҳисобкуниҳо, 
 одатан системаи пурраеро мегиранд, ки аз тафриқҳои 
 ғайриманфии хурдтарин (ки онҳо ба худи бақияҳо 
 баробаранд) иборатанд. Fайр аз ин баъзан системаи 
 тафриқҳо мутлақан хурдтарин гирифта мешаванд. Барои 
 мисоли мо ин система чунин аст: 
 Хосияти. Ҳар гуна ададҳои бо модули 
 ҷуфт-ҷуфт ба ҳамдигар муқоисанашаванда, системаи 
 пурраи тафриқҳоро аз рӯйи ин модул ташкил мекунанд. 
 Дар ҳақиқат, азбаски ададҳо бо ҳамдигар 
 муқоисашаванда нестанд, пас онҳо ба синфҳои гуногун 
 тааллуқ доранд ва аз сабаби он, ки миқдори онҳо ба 
 миқдори синфҳо, яъне бо баробар аст, пас албатта ба 
 ҳар як синф яктогӣ адад рост меояд. 
 Хосияти. Агар бошад ва системаи 
 пурраи тафриқҳоро аз рӯйи модули m қабул намояд, он 
 гоҳ барои адади бутуни ихтиёрии b, ҳам системаи 
 пурраи тафриқҳоро аз рӯйи модули m ташкил медиҳад. 
 Синфе ки тафриқҳои он бо модул байнан содаанд, 
 аз рӯйи ҳамон модул синфи сода номида мешавад. 
 Масалан, аз рӯйи модули синфҳои сода ин 
 ададҳои зерин мебошанд: 
 Аз рӯӣ модули синфҳои сода инҳоянд:. аз 
 рӯйи модули бошад, ададҳои 
 Барои тартиб додани системаи овардашудаи 
 тафриқҳо аз системаи пурраи тафриқҳо ҳамон ададҳоро 
 гирифтан лозим аст, ки бо байнан сода бошанд. 
 Масалан, аз рӯйи модули ададҳои 
 системаи пурраи тафриқҳоро ифода мекунанд. Миқдори 
 ададҳо дар системаи овардашудаи тафриқҳо аз рӯйи 
 баробар аст, ки дар ин ҷо -функсияи 
 Эйлер аст. 
 Теоремаи. Агар ҳамаи қиматҳои тафриқҳои 
 системаи овардашударо аз рӯйи модули қабул кунад, он
 гоҳ ададҳои дар ҳолати будан системаи 
 овардашудаи тафриқҳоро аз рӯйи ҳамон модули 
 ташкил мекунанд. 
 Теоремаи хурди Ферма. Агар p адади сода буда, 
 адади бутуни ба р тақсимнашаванда бошад, он гоҳ 
 муқоисаи зерин иҷро мешавад. 
 Мисоли. Ҳ исоб карда шавад. 
 Ҳал. 
 Пиер де Ферма (фр. Pierre de Fermat) математики бузурги фаронсавӣ,
 яке аз асосгузорини геометрияи аналитикӣ, таҳлили математика ва
 назарияи ададҳо ба ҳисоб рафта августи соли дар
 шаҳри Бомон-де-Ломан (Beaumont-de-Lomagne, Франсия) ба дунё
 омадааст. -уми январи соли аз олам чашм пушидааст.
 Теоремаи Эйлер. Дар вақти 
 будан, баробарбақияи зерин ҳамавақт ҷой дорад: 
 Мисоли. Ҳисоб карда шавад. 
 Ҳал. Ибтидо ро ҳисоб м екунем, ки ба 
 баробар аст. Аз ин ҷост, ки мешавад. Пас, 
 мешавад. 
 Барои ҳис о б наму дани натиҷаи охирон аз 
 алгоритми зуд бадараҷабардорӣ истифода карда мешавад.
 Баъдтар ин алгоритмро мавриди баҳс қарор медиҳем. 
 Теорема. Бигузор р ва q ададҳои сода буда, 
 -адади ихтиёрӣ бошад. Он гоҳ баробарии зерин 
 иҷро мешавад.. 
 Мисоли. 
 Таъриф. Бигузор ада д ҳ о и c ва m байниҳам сода
 бошанд. Адади d аз рӯйи модули m ба адади с баръакс 
 номида мешавад, агар баробарии иҷро 
 гардад. Аз ин ҷо ҳосил мекунем:. 
 Барои ҳисоб намудани қимати ифодаи 
 якчанд алгоритм мавҷуд аст, ҳоло мо алгоритми с ода ва
 тез ҳисобкунии онро дида мебароем, чунин иҷро карда 
 мешавад: 
 ) Адади b - ро ба системаи ҳисоби дӯӣ мегардонем:
 b=(, 
 ) Ҷадвали зеринро пур мекунем: 
 { } 
 B … 
 A … 
 дар ин ҷо чунин муайян карда мешавад: 
 Мис о л. Қ и м ат и { ҳисоб карда шавад. 
 ) b=; 
 ) Ҷадвали зеринро пур мекунем: 
 B 
 A 
 Ҷавоб. = 
 Варианти д и гари ин алгоритм мавҷуд аст, ки дар он
 пешаки ба намуди дӯи табдил додани адади b-ро талаб
 намекунад. Варианти мазкур ба намуди зербарнома 
 (дар С++) дар поён оварда шудааст: 
 long int pown(long int a, long int b, long int n)
 { 
 long int c=; 
 while (b){ 
 if (b % ==) 
 { 
 b/=; 
 a=(a*a)%n; 
 } 
 else { 
 b--; 
 c=(c*a)%n; 
 } 
 } 
 return c; 
 } 
 Шакли умумии муқоисаи номаълумдор чунин аст: 
 дар ин ҷо бисёраъзогии 
 дараҷаи бо коэфисентҳ ои буту н мебошад. 
 Дар ҳолати ба каратӣ набудан, –ро дараҷаи 
 муқоиса меноманд. Ҳалли муқоисаи () гуфта, чунин адади
 –ро меноманд, ки онро қаноат кунонад. 
 Агар ягон қимати муқоисаи ()-ро қаноат 
 кунонад, он гоҳ онро ҳамаи ададҳои аз рӯйи модули 
 муқоисашаванда низ қонеъ мегардонанд. 
 Таърифи. Ду муқоисае, ки онҳоро қиматҳои 
 якхелаи қонеъ мегардонад, баробарқувва номида 
 мешаванд. 
 Масалан, муқоисаи ро 
 адади қаноат мекунонад, пас мешавад, яъне 
 онро ададҳои низ қаноат мекунонанд. 
 Аз ҳамин сабаб, агар ҳал дошта 
 бошад, он гоҳ ин ҳалҳоро дар байни ададҳои системаи 
 тафриқҳои пурра кофтан лозим меояд. 
 Намуди умумии муқоисаи дараҷаи якум шакли 
 зеринро дорад: 
 Агар КТУ бошад ва тақсим 
 шавад, он гоҳ муқоиса -то ҳал дорад. Дар ҳолати хусусӣ
 ҳангоми будан муқоисаи () ҳалли ягона дорад. 
 Агар b ба каратӣ набошад муқоиса ҳал 
 надорад. 
 Агар дар () бошад, он гоҳ () бо ду 
 усул ҳал карда мешавад: 
 ), 
 ), 
 дар ин ҷо ф унксияи Эйлер, -миқдори ҳосили 
 тақсим дар алгоритми Евклид ва - сурати касри 
 муносиби пеш аз охир аст. 
 Агар буда, бебақия тақсим шавад, 
 он гоҳ муқоисаро ба ихтисор карда, ҳосил мекунем:. Дар ин ҳолат ҳалҳои ()-ро ададҳои 
 додашудаи зерин ташкил мекунанд: 
 мешаванд. 
 { 
 Қайд кардан ба маврид аст, ки муқоисаи 
 бо баробарқувва мебошад, аз ин ҷо 
 ҳар як муодилаи номуайяни дараҷаи якуми 
 дуномаълумаро метавон ба муқоисаи дараҷаи якумии 
 якномаълума табдил дод. 
 Мисоли. Муқоисаи ҳал карда 
 шавад: 
 Ҳал. Азбаски аст, пас, ҳосил мекунем:, азбаски аст, пас ҳалли умуми 
 шакли зеринро мегирад. 
 Барои бо ин усул ҳал кардани муқоисаҳо метавон аз
 зербарномаи зерин, ки дар забони С++ навишта шудааст,
 истифода кард. 
 int mod (int a, int b){ 
 if (a<) 
 return (b+(a%b)); 
 else 
 return a%b; 
 } 
 long KTU(long a, long b){ 
 while (b!=) { 
 long t=a%b; 
 a=b; 
 b=t; 
 } 
 return a; 
 } 
 long Eiler(long int a){ 
 int k=; 
 for (int i=; i<a; i++){ 
 if (KTU(a,i)==) 
 k++; 
 } 
 return k; 
 } 
 int resha(long int a, long int b, long int m){
 if (KTU(a,m)==){ 
 int x=mod((int)(pow(a, (Eiler(m)-))*b),m); 
 return x; 
 } 
 else 
 return; 
 } 
 Мисоли. Муқоисаро бо ёрии касрҳои муносиб ҳал
 кунед:; 
 Ҳал. Ҳалли муқоисаи намуди зеринро дорад: 
 ҳисоб мекунем: 
 Пас аз ин, ҷадвали касрҳои мувофиқро тартиб медиҳем, ки
 шакли зеринро мегирад: 
 Аз ин ҷо 
 мешавад. 
 Санҷиш:. 
 Мисоли. Ҳисоб кунед:. 
 Ҳал. 
 Аммо ба тақсим намешавад, пас муқоиса ҳал надорад.
 Мисоли. Ҳалҳои бутуни муодилаи зерин ёфта 
 шавад: 
 Ҳал. Аз ҳосил мекунем: 
 Барои ва КТУ-ро аз рӯйи алгоритми Евклид 
 меёбем: 
 Аз ин ҷо (, )=, n= ва d= мебошад. Ҷадвали
 касрҳои муносибро тартиб медиҳем: 
 Маълум мешавад, ки аст. Бинобар ин: 
 яъне мешавад. Қима ти -ро ба 
 гузошта -ро меёбем:;;. 
 Ҷавоб:;. 
 Барои тавассути касрҳои бефосила ҳал кардани 
 муодилаи () метавон аз зербарномаи зерин, ки дар 
 забони С++ навишта шудааст, истифода кард: 
 int mod (int a, int b){ 
 if (a<) 
 return (b+(a%b)); 
 else 
 return a%b; 
 } 
 void pown(long int a, long int b, long int m){ 
 vector<int>q, p; 
 int k=, n=, m=m; 
 q.push_back(); 
 q.push_back(); 
 p.push_back(); 
 p.push_back(); 
 while(m%a!=){ 
 int h=m%a; 
 q.push_back(m/a); 
 m=a; 
 a=h; 
 } 
 q.push_back(m/a); 
 n=q.size(); 
 while (k<n){ 
 int t=q[k]*p[k-]+p[k-]; 
 p.push_back(t); 
 k++; 
 } 
 for (int i=; i<n; i++){ 
 cout<<q[i]<<" "; 
 } 
 cout<<endl; 
 for (int i=; i<n; i++){ 
 cout<<p[i]<<" "; 
 } 
 cout<<endl; 
 int x=mod((int)(pow(-., n-)*b*p[n-] ),m); 
 cout<<"x="<<x; 
 } 
 Алгоритми васеъкардашудаи Евклид (АВЕ) дар 
 аксар методҳои криптографӣ ва назарияи ададҳо 
 истифода бурда мешавад. Алгоритми мазкур аз ду қисм 
 иборат аст. Дар қисмати аввали он барои ададҳои 
 додашудаи А ва В КТУ –и онҳо ҳисоб карда мешавад. 
 Барои иҷрои ин амал метавон аз зербарномаи зерин 
 истифода кард: 
 int Euclid (int A, int B){ 
 while (A%B!=) 
 { 
 int C=A%B; 
 A=B; 
 B=C; 
 } 
 return B; 
 } 
 Барои ҳал намудани муодилаи намуди, 
 ки дар ин ҷо ва b ададҳои додашуда буда, d КТУ –и онҳо
 мебошад, низ аз АВЕ истифода бурда мешавад. Қисми 
 нахусти алгоритми АВЕ дар боло оварда шудааст. 
 Қиматҳои a, b ва қисми бутуни ва бақияи тақсими a бар b
 дар ҷадвали зерин, ки дорои сутун мебошад гирд оварда
 мешаванд: 
 I A B A%B [A/B] 
 Дар қисми дуюми алгоритм ба ҷадвал ду сутуни нав бо
 сарлавҳаҳои илова карда мешавад. Дар сатри охири 
 сутунҳои мувофиқан ва навишта, бо истифода аз формулаҳои
 катакчаҳои боқимондаи ҷадвал пур карда мешаванд. 
 i A B A%B [A/B] x Y 
 N 
 Мисоли. Муқоисаи ҳал карда шавад. 
 Ҳал. Аз АВЕ истифода бурда мешавад. Дар ин ҷо 
 аст. 
 I A B A%B [A/B] 
 - 
 - 
 - 
 Қимати, ки дар сатри нахустини 
 сутунҳои мехобанд ҳалли мисоли додашуда 
 мебошанд. Дар ҳақиқат 
 ешавад. 
 Қайд мекунем, ки муодилаи ба 
 муқоисаи баробарқувва мебошад. 
 Барои ёфтани элементи баръакс аз рӯйи модули 
 додашуда низ метавон аз АВЕ истифода кард. 
 Мисоли. Барои e= элементи баръакс аз рӯйи 
 модули таркибии ёфта шавад. 
 Ҳал. Аз АВЕ истифода бурда мешавад. Дар ин ҷо 
 аст: 
 i A B A%B [A/B] x Y 
 - 
 - 
 - 
 Қимати y=-, ки дар сатри нахустини сутуни x 
 мехобад, элементи баръакс ба адади e мебошад. Дар 
 ҳақиқат: 
 мешавад. 
 Барои ҳисобкунии элементи баръакс аз рӯйи 
 модули p низ метавон аз зербарномаи зерин истифода 
 кард, ки дар забони С++ навишта шудааст. 
 int modInverse(int n, int p) { 
 n = mod(n, p); 
 for (int x =; x < p; x++) { 
 if (mod(n*x, p) == ) return x; 
 } 
 return; 
 } 
 Қайд. Барои аз рӯи модули додашуда, ёфтани элементи
 баракс ( метавон аз зербарномаи modInverse()ки дар
 класси Bi g Integer ҷойгир аст, истифода кард. Метои мазкур
 барои ададҳои кифоя калон низ кор мекунад. Тарзи истифодаи
 ин зербарнома чунин аст: 
 java.math.BigInteger.modInverse(BigInteger m)-Java
 public BigInteger modInverse( BigInteger m )-C# 
 Мисол. 
 import java.math.BigInteger; 
 import java.util.Scanner; 
 public class myModInverse { 
 public static void main(String[] args) { 
 BigInteger a,p,S; 
 Scanner sc=new Scanner(System.in); 
 a=sc.nextBigInteger(); 
 p=sc.nextBigInteger(); 
 S=a.modInverse(p); 
 System.out.println(S); 
 } 
 } 
 Акнун ба омӯхтани муқоисаҳои квадратӣ оғоз мекунем,
 ки навишти стандартии онҳо чунин аст: 
 () 
 Агар д орои ҳал бошад, он гоҳ -ро тафриқи 
 квадратии модули номида, бо нишонаи, дар сурати 
 акс -ро тафриқи ғайриквадратӣ номида, бо 
 ишорат мекунанд. 
 Ишораи -ро “адади нисбатан ба ” мехонанд ва 
 онро нишонаи Лежандр меноманд. Ин нишона чунин 
 муайян карда мешавад: 
 Адриен Мари Лежандр математики бузурги фаронсавӣ -
 сентябри соли дар шаҳри Париж (шоҳигарии Франсия) ба
 дунё омадааст -уми январи дар зодгоҳаш вафот кардааст.
 ( ) { 
 Ни шонаи Лежандр барои ададҳои дилхоҳи, ки 
 бо адади содаи тақсим намешаванд, дорои хосиятҳои 
 зерин мебошад: 
 ( ) ( ) 
 адади содаи дилхоҳи, ҳангоми 
 ( ) ( ) 
 ва ҳангоми, 
 ( ) 
 ( ) 
 ( ) ( )( ) 
 тафриқҳои манфӣ дар байни тафриқи мутлақ 
 ( ) 
 хурдтарини ададҳои ҷойгирбуда. 
 Ҷоҳанн Карл Фридрих Гаусс (нем. Johann Carl Friedrich Gauß) –
 математик, механик, физик, астроном ва геодези немис апрели
 соли дар шаҳри Брауншвейг (Олмон) ба дунё омадааст. Ӯ -юми
 феврали соли дар шаҳри Гёттинген (Олмон) аз олам чашм
 пушидааст. 
 ( ) 
 ( 
 Қ о 
 ) 
 н ун{и бо ҳам квадратӣ будани тафриқҳо (қонуни
 Гаусс). Бигузор ва ададҳои содаи гуногун ( 
 бошанд. Он гоҳ 
 мешавад. Бо суханҳои дигар 
 ( ) ( ) 
 ( ) 
 ( ) { 
 Қайд. Ба ёд меорем, ки системаи пурраи тафриқҳо
 ( ) 
 аз рӯйи модули гуфта, маҷмӯи иборат аз ададро 
 меноманд, ки аз ҳар як синфи тафриқҳо аз рӯйи модули
 яктогӣ намоянда гирифта шудааст. Маҷмӯи ададҳои 
 системаи тафриқҳои ғайриманфии 
 хурдтарин номида мешаванд. Маҷмӯи ададҳои 
 бошанд, системаи тафриқҳ ои мутлақ хурдтарин аз рӯйи
 модули номида мешаванд. Ҳар яке аз тафриқҳои матлақ
 хурдтарин аз нисфи модул зиёд намешаванд. 
 Мисол. Муайян мекунем, ки ҳал 
 дорад ё не? 
 Ҳал. Нишонаи -ро гирифта, –ро ба 
 зарбшавандаҳои сода ҷудо карда, ро ҳосил 
 ( ) 
 мекунем. аз рӯйи хосияти ) 
 мешавад. Мувофиқи хосияти 
 ) ҳосил мекунем. 
 ( ) ( ) ( ) ( ) 
 Азбаски аст, пас 
 мувофиқи хосияти ) ҳосил мекунем. Барои 
 ( ) ( ) ( ) 
 ҳисобкунии аз қонуни Гаусс истифода мебарем: 
 ( ) 
 ( ) 
 Азб а ски а ст, пас м у в оф и қ и хоси я ти )
 ( ) ( ) ( ) ( ) 
 ҳосил мекунем. -ро ҳосил мекунем. Аз нав 
 хосияти ) ро татбиқ карда ҳосил мекунем. 
 ( ) ( ). 
 Аз рӯйи хосияти ) ҳосил мекунем: 
 ( ) ( ) ( ) 
 Мувофиқи хосияти: 
 ( ) 
 Ҳамин тариқ 
 ( ) 
 ва мешавад, яъне 
 муқоиса ҳал надорад. 
 ( ) ( ) 
 Бигузор дар адади мураккаб бошад. 
 Азбаски ҳар як муқои саи модули мураккаб ба модули сода
 мубаддал мегардад, пас омӯхтани ҳолати 
 кифоя аст. 
 Дар ин маврид нишонаи Якобӣ 
 номида шуда, дар он низ ҳамаи хосиятҳои нишонаи 
 ( ) ( )( ) ( ) 
 Лежандр ҷой дорад. 
 Мисол. Ҳал доштан ё надоштани муқоисаи 
 санҷида шавад. 
 Ҳал. Нишонаи Якобӣ -ро тартиб дода, бо 
 назардошти зарбшавандаҳои ҳосил 
 ( ) 
 мекунем: 
 = 
 ( ) ( ) ( )( ) ( )( ) ( )( )( )( ) 
 ( )( ) ( ) ( ) яъне 
 муқоиса ҳал надоштааст. 
 ( ) ( )( ) ( ) 
 Агар дар муқоисаи квадратии 
 бошад, 
 ( ) 
 Карл Густав Якоб Якобӣ (нем. Carl Gustav Jacob Jacobi) -математик ва
 механики немис -уми декабри соли дар оилаи банкири яҳудӣ
 Симон Якобӣ дар шаҳри Потсдам (шоҳигарии Пруссия) ба дунё
 омадааст. Якобӣ дар таҳлили комплексӣ, алгебраи хаттӣ, динамика ва
 дигар бахшҳои математика саҳми босазое гузоштааст. Ӯ узви АИ
 Берлин, () ҷамъияти шоҳигарии Лондон, () узви вобастаи АИ
 Петербург () узви Венск () ва узви вобастаи академияи Мадрид
 () буд. Якоби -уми феврали соли дар шаҳри Берлин аз
 олам гузоштааст. 
 барои ёфтани ҳал ададҳои -ро тафтиш карда 
 албатта, як адади -ро ёфтан мумкин аст. 
 ( ) 
 Ҳалли дуюми он мешавад. 
 Қайд кардан мумкин аст, ки агар аз рӯйи модули p
 тафриқи квадратӣ бошад, пас муқоисаи () дорои ду ҳал
 мебошад. 
 Дар ҳақиқат, агар тафриқи квадратӣ бошад, он гоҳ
 муқоисаи () ақалан дорои як ҳалли –ро 
 дорад. Дар ин ҳолат, азбаски аст, он гоҳ худи 
 ҳамон муқоиса ҳалли дуюми – –ро низ 
 дорад. Ин ҳалли дуюм аз ҳалли якум фарқ мекунад, чунки
 агар бошад, он гоҳ мешавад, 
 ки ин ба шарти зид аст. 
 Бо ҳалли нишондодашуда ҳамаи ҳалли муқоисаи ()
 ба охир мерасад, чунки миқдори ҳалҳои муқоисаи дараҷаи
 дуюм аз ду зиёд нест. 
 Барномаи ҳисобкунии нишонаи Якобӣ дар забони 
 С++ 
 #include <assert.h> 
 #include <iostream> 
 using namespace std; 
 bool odd(int b){ 
 return b % ==; 
 } 
 int gcd(int a, int b){ 
 int c; 
 while (a!= ) { 
 c = a; 
 a = b%a; 
 b = c; 
 } 
 return b; 
 } 
 int jacobi(int a, int b) { 
 int g; 
 assert(odd(b)); 
 if (a >= b) a %= b; 
 if (a == ) 
 return; 
 if (a == ) /* аз рӯйи хосияти */ 
 return; 
 if (a < ) 
 if ((b - ) / % == ) 
 return jacobi(-a, b); 
 else 
 return -jacobi(-a, b); 
 if (a % == ) /* дар ҳолати ҷуфт 
 будани a*/ 
 if (((b*b - ) / ) % == ) 
 return +jacobi(a /, b); 
 else 
 return -jacobi(a /, b); 
 g = gcd(a, b); 
 assert(odd(a)); 
 if (g == a) /* агар b ба a тақсим 
 шавад */ 
 return; 
 else if (g!= ) 
 return jacobi(g, b)*jacobi(a / g, b); 
 else if (((a - )*(b - ) / ) % == )
 return +jacobi(b, a); 
 else 
 return -jacobi(b, a); 
 } 
 Баъдтар усули ҳал кардани муқоисаи квадратиро 
 меорем. 
 Саволҳо барои мустаҳкамкунӣ 
 ) Чӣ гуна ададҳоро аз рӯйи модули додашуда 
 муқоисашаванда меноманд? 
 ) Алгоритми зуд бадараҷабардорӣ чӣ гуна алгоритм 
 аст? 
 ) Нишонаи Лежандр аз нишонаи Якобӣ чӣ фарқ 
 мекунад? 
 ) Синфи овардашудаи тафриқҳо аз синфи пурраи 
 тафриқҳо чӣ фарқият дорад? 
 ) Чӣ тавр муқоисаҳои тартиби як ҳал карда мешаванд?
 ) Моҳияти теоремаи кучаки Эйлер аз чӣ иборат аст?
 ) Теоремаи кучаки Эйлер аз теоремаи Ферма чӣ фарқ
 дорад? 
 ) Чанд усули ҳалли муқоисаҳои тартиби як мавҷуд 
 аст? 
 Боби. Гурӯҳ, ҳалқа ва майдон. Ҳалқаи 
 тафриқҳо 
 Гурӯҳ, ҳалқа ва майдон яке аз мафҳумҳои асосии 
 алгебра ба шумор мераванд. Пеш аз дида баромадани ин
 мафҳумҳо ибтидо якчанд маълумоти ёрирасонро мавриди 
 баҳс қарор медиҳем. 
 Амали бинарӣ (аз лот. bi–ду)-амали математикиест,
 ки ду аргумент қабул карда, як натиҷа бармегардонад.
 Таъриф. Дар маҷмӯи M амали бинарӣ (дӯӣ) гуфта, 
 инъикоси -ро меноманд, ки ҳар як ҷуфти ба 
 тартиб гузошташудаи элементҳои 
 амалванд номида мешаванд) ба ягон элементи ҳамин 
 Мафҳуми гурӯҳро соли математики фаронсавӣ Эварист Галуа
 ҳангоми омӯхтани бисёраъзогиҳо дар математика дохил кардааст.
 Инкишофи алгебра ҳамчун илм дар асри XIX оғоз гардид. Яке аз
 масъалаҳои асосии назарияи ададҳо дар солҳои --ум назарияи
 тақсимшавӣ дар майдони умумии ададҳои алгебравӣ ба ҳисоб
 мерафт. Ҳалли ин масъалаҳоро Р. Дедикинд соли чоп намуд. Дар
 кори ӯ нахустин маротиба мафҳуми ҳалқаи бутуни майдони ададӣ
 истифода шудааст. 
 Мафҳуми майдонро соли математики немис Р. Дедикинд (Julius
 Wilhelm Richard Dedekind – октябри соли — феврали соли )
 дар илми математика дохил намудааст. 
 маҷмӯъ (ки онро натиҷа меноманд) мувофиқат 
 мегузорад. 
 Амалҳои бинарӣ метавонанд, дорои хосиятҳои 
 зерин бошанд: 
 a) Комутативӣ: 
 b) Ассотсиативӣ: (x 
 c) Алтернативӣ: 
 Мисоли амалҳои бинарӣ, дар маҷмӯи ададҳои 
 ҳақиқӣ метавонанд, амалҳои ҷамъ, зарб ва тарҳ бошанд.
 Дар ин ҷо амалҳои ҷамъ ва зарб дорои хосияти 
 комутативӣ буда, амали тарҳ дорои чунин хосият 
 намебошад. 
 модули додашуда 
 Амалҳои ҷамъ ва зарб аз рӯйи модули N тақрибан 
 ба амалҳои арифметикӣ бо ададҳои бутун ва ададҳои 
 ҳақиқӣ якхел иҷро карда мешаванд. Онҳо қисман дорои 
 хосиятҳои зерин мебошанд: 
 ) Ҷамъи маҳдуд: 
 ) Қонуни ассотсиативии ҷамъ: 
 ) Сифр (элементи нейтралӣ) элементи ягона аз 
 рӯйи амали ҷамъ мебошад, ки барои он 
 баробарии зерин иҷро мешавад: 
 ) Аз рӯйи мали ҷамъ ҳама вақт мавҷуд будани 
 элементи баръакс: 
 ) Қонуни комутативии ҷамъ: 
 ) Амали зарби маҳдуд: 
 ) Қонуни ассотсиативии зарб: 
 ) Воҳид (элементи нейтралӣ) элементи ягона аз 
 рӯйи амали зарб мебошад, ки барои он 
 баробарии зерин иҷро мешавад: 
 ) Қонуни дистрибутивии амали зарб нисбат ба 
 амали ҷамъ: 
 )Қонуни комутативии зарб: a 
 )Ҳама вақт мавҷуд будани элементи баръакс аз 
 рӯйи амали зарб аст: 
 Таърифи. Маҷмӯи бо амали бинарии гурӯҳ 
 номида мешавад, агар амали дорои хосиятҳои зерин 
 бошад. 
 - маҳдуд; 
 - дорои элементи нейтралӣ; 
 - ассотсиативӣ; 
 - вобаста ба он барои ҳар як элемент мавҷуд будани
 элементи баръакс. 
 Гурӯҳ бо амали комутативӣ гурӯҳи комутативӣ ё абелӣ
 номида мешавад. Тақрибан ҳамаи гурӯҳҳои дар 
 криптография истифодаша-ванда абелӣ мебошанд. Маҳз 
 ин хосият сабаби истифодаи васеъи онҳо дар 
 криптография гардидаааст. Бо суханҳои дигар, дилхоҳ 
 маҷмӯи бо амали бинарӣ хосиятҳои --ро қаноаткунанда
 гурӯҳ номида мешавад. Агар ин маҷмӯъ ба ғайр аз ин 
 хосиятҳо, хосияти -ро низ доро бошад, гурӯҳи абелӣ 
 номида мешавад. Гурӯҳи абелиро одатан бо рамзи 
 ишорат мекунанд. 
 Мисолҳои стандартии гурӯҳ, ки ҳатто аз математикаи
 элементарӣ маълуманд инҳо мебошанд: 
 - Маҷмӯи ададҳои бутун-, ҳақиқӣ- ва комплексӣ- 
 аз рӯйи амали ҷамъ. Дар ин ҷо элементи нейтралӣ,
 ва элементи муқобил барои ягон элементи 
 мебошад. 
 – 
 - Ададҳои ғайринулии ратсионалӣ, ҳақиқӣ ва 
 комплексӣ аз рӯйи амали зарб. Дар ин ҷо элементи
 нейтралӣ ва элементи баръакс ба ягон элементи
 мебошад. 
 - М а ҷмӯи ададҳои ҷуфт 
 Илова бар мисолҳои овардашуда, маҷмӯи ҳамаи 
 қиматҳои решаи n-ум аз воҳид, маҷмӯи ҳамаи ададҳои
 Нилс Ҳенрик Абел (норв. Niels Henrik Abel; августа, Финнёй —
 апрели, Фроланн) — математики норвегиягӣ. 
 комплексӣ аз рӯйи модули ба баробар, маҷмӯи 
 векторҳои ҳамворӣ ва фазо аз рӯйи амали ҷамъ, 
 маҷмӯи ададҳои шакли (дар ин ҷо 
 дошта низ гӯруҳро ташкил 
 ( ) 
 медиҳанд. 
 Мисоли. Исбот карда шавад, ки маҷмӯи {}, ки аз як
 сифр таркиб ёфтааст, гурӯҳи комутативиро аз рӯйи амали
 ҷамъ ташкил медиҳад. 
 Ҳал. Дар ҳақиқат, амали ҷамъ дар ин маҷмӯъ муайян 
 гардидааст, чунки барои он баробарии зерин ҷой дорад:
 += 
 Аз ин баробарӣ бармеояд, ки - ин элементи ягонаи
 маҷмӯи додашуда, элементи нейтралӣ буда, инчунин 
 барои худаш элементи муқобил ба ҳисоб меравад. Дар ин
 ҷо хосияти ассотсиативӣ аён мебошад: 
 (+)+=+(+) 
 Ҳамин тариқ дар ин ҷо ҳар се шарти муайянкунии 
 гурӯҳ иҷро мегарданд. Бо назардошти хосияти 
 комутативии ҷамъ хулоса мебарорем, ки маҷмӯи 
 дидашуда гурӯҳи комутативӣ аст. 
 Мисоли. Исбот карда шавад, ки маҷмӯи {+,−} (ки аз
 ду элемент иборат аст) аз рӯйи амали зарб гурӯҳи 
 комутативиро ифода мекунад. 
 Ҳал. Дар ҳақиқат амали комутативӣ дар ин маҷмуъ 
 муайян гардидааст, чунки 
 (+) (+)=+, (+) (−)=(−) (+)=−, (−) (−)=+ аст.
 ⋅ ⋅ ⋅ ⋅ 
 Ҳамин тариқ, ҳосили зарби элементҳо, низ дар ин
 маҷмӯъ мехобад. Аз баробарии охирон бармеояд, ки дар
 он элементи воҳидии e=+ низ мавҷуд аст. Илова бар ин
 ҳар як элемент дорои элементи баръакс мебошад. 
 +, =-, 
 Тавре ки дида ме ш авад, ҳар с е шарти таърифи гурӯҳ
 иҷро мешаванд. Бо назардошти хосияти комутативии зарб
 хулоса мебарорем, ки маҷмӯи додашуда комутативӣ аст.
 Таърифи. Маҷмӯи R бо ду амали бинарӣ (бо 
 таври анъанави бо символҳои «+» ва « » ишора карда 
 мешаванд), ки хосиятҳои --қаноат мекунонанд, ҳалқа
 номида мешавад. Ҳалқаро бо рамзи ишорат 
 мекунанд. 
 〈 〉 
 Агар дар ҳалқа амали зарб комутативӣ бошад, 
 ҳалқаро ҳалқаи коммутативӣ меноманд. 
 Мисолҳои стандартии ҳалқа, ки ҳатто аз мактаби миёна
 маълуманд инҳо мебошанд: 
 - Маҷмӯи ададҳои бутун-; 
 - Маҷмӯи ададҳои ҷуфт 
 - Маҷмӯи ададҳои шакли 
 дошта, ки дар ин ҷо ададҳои бутун 
 √ √ √ 
 мебошанд. 
 Таърифи. Ҳалқа ҳалқаи бо воҳид номида 
 мешавад, агар он дорои воҳиди мултипликативӣ бошад, 
 яъне дар он чунин элементи мавҷуд бошад, ки 
 шавад. 
 Теоремаи. Маҷмӯи (синфи тафриқҳо аз рӯйи 
 модули бо амалҳои ҷамъ ва зарб ҳалқаи тафриқҳоро бо
 воҳид ташкил мекунад. 
 Исбот. Иҷроиши ҳамаи хосиятҳои ҳалқаи 
 комутативӣ бо воҳидро барои месанҷем: 
 Қайд. Барои тафтиши хосиятҳои - аз хосияти 
 комутативӣ ва ассотсиативии амали ҷамъ истифода бурда
 шудааст. 
 Қайд. Ба сифати элементи нейтралӣ дар ин хосият аз
 маҷмӯи ададҳои каратии истифода бурдан мумкин аст. 
 Дар класси элементи баръакс ба ҳисоб 
 меравад. 
 Қайд. Ҳангоми тафтиши хосиятҳои - аз хосияти 
 ассотсиативӣ, комутативӣ ва дистрибутивии ададҳои бутун
 истифода карда шудааст. 
 Тавре ки аён гашт, барои синфи ҳамаи хосиятҳои 
 ҳалқаи комутативӣ бо воҳид иҷро мегарданд. 
 Ҳалқаи ҳалқаи класси тафриқҳо номида 
 мешавад. Иҷроиши шартҳои - маънои абелӣ будани 
 маҷмӯи -ро аз рӯйи амали ҷамъ ифода мекунанд. Ин 
 маҷмӯъ гӯрӯҳи аддитивии ҳалқаи номида мешавад. 
 Дар ҳолати хусусӣ метавон барои синфи амали тарҳи 
 синфҳоро муайян кард. 
 Қайд кардан ба маврид аст, ки дар ҳалқа метавон
 амали зарби синф ба адади бутун ва ба дараҷаи бутуни
 ғайриманфӣ бардоштани синфро иҷро кард: 
 ⏟ 
 Барои д и лх оҳ ⏟ с и н ф и б а р об ар и ҳ ои зерин
 ҷой доранд: 
 дар ин ҷо с – ададҳои бутун буд а, аст. 
 Қайд кардан ба маврид аст, ки ҳангоми m= будан
 элементҳои класси ададҳои буда, амали ҷамъ 
 аз рӯйи модули m= чунин муайян карда мешавад: 
 ̅ ̅ ̅ ̅ ̅ 
 ва ҳоказо. Моҳияти 
 амали ҷамъ дар синфи чунин муайян карда мешавад: 
 ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ 
 Ибтидо ду элемент бо ҳамдигар ҷамъ карда шуда, сипас
 натиҷа аз рӯйи модули m= навишта мешавад. Ба ҳамин 
 монанд барои синфи тафриқҳои низ амали ҷамъ 
 муайян карда мешавад. 
 Усули мувофиқи тартибдиҳии гурӯҳҳои охирнок ба 
 шакли ҷадвал мавҷуд аст, ки онро ҷадвали Кэли мегӯянд.
 Дар сатр ва сутуни нахустини ҷадвали мазкур мувофиқан
 ададҳои навишта шуда, сипас, дар катакчаҳои 
 буриши сатру сутунҳо мувофиқан элементҳои 
 навишта мешаванд. 
 Мисоли. Амали ҷамъ ва зарб барои синфи 
 навишта шавад. 
 Ҳал. Тавре, ки қайд кардем, дар ин ҷо панҷ синфи
 тафриқҳоро аз рӯйи модули дорем: Ҷадвали 
 ҷамъ ва зарб мувофиқан чунин шаклро мегиранд: 
 ̅ ̅ ̅ ̅ ̅ 
 «+» 
 Мисол:    ;    . 
 Тавре ки дида мешавад, дар ҳар сатри ҷадвали зарб
 ба ғайр аз нахустин воҳид мавҷуд аст. Ин маънои онро
 дорад, ки барои ҳар як элементи ғайринулии чунин 
 элементи y мавҷуд аст, ки барои он мешавад. 
 Таърифи. Элементи баргарданда номида 
 мешавад, агар чунин элементи y мавҷуд бошад, ки 
 барои он дар ҳалқаи баробарии зерин иҷро гардад:. 
 Агар элементи баргарданда бошад, он гоҳ чунин 
 элементи ягона мебошад ва тавассути рамзи ишора 
 карда мешавад. 
 Таърифи. Элементи тақсимкунандаи сифр 
 номида мешавад, агар чунин элементи ғайрисифрии 
 y мавҷуд бошад, ки барои он дар ҳалқаи 
 баробарии зерин иҷро гардад:. 
 Теоремаи. (Критерияи мавҷудияти элементи 
 баргарданда) Элементи фақат ва фақат ҳамон вақт 
 баргарданда мебошад, агар КТУ( 
 Барои ёфтани элементи баргарданда (баръакс) 
 метавон аз алгоритми васеъкардашудаи Евклид, ки қаблан
 дар боби мавриди баҳс қарор гирифта буд истифода 
 кард. 
 Мисоли. Ҳисоб карда шавад. 
 Ҳал. Ибтидо мисоли додаш у даро ба шакли 
 табдил дода, сипас аз 
 ал горитми васеъ к а рдашудаи Евклид ва формулаи зерин
 истифода мебарем: 
 I A B A%B [A/B] X y 
 - 
 - 
 Ҷавоб. Қимати y=, ки дар сатри нахустини сутуни y
 мехобад, элементи баръакс ба адади мебошад. Дар 
 ҳақиқат мешавад. 
 Қайд м екунем, ки ба ғайр аз АВЕ барои 
 муайянкунии элементи баръакс метавон аз формулаи 
 зерин низ истифода кард: 
 Ҳангоми КТУ( б у д а н, миқдори умумии
 [ ] 
 классҳо ба баробар буда, маҷмӯи онҳо ба ишорат 
 карда мешавад. 
 Аз ин ҷо бармеояд, ки гурӯҳи элементҳои 
 баръакси синфи ро ташкил ка рда, дар сурати адади 
 содаи p будани гурӯҳи дорои элементи баръакс будаи 
 ҳамаи синфҳои ғайрисифриро ташкил медиҳад 
 ( ). 
 Мисоли. Се рақами охирони адади 
 ёфта шавад. 
 Ҳал. Дар ин ҷо гап дар бораи ҳисобкунии 
 дар гурӯҳи меравад. Ҳосил мекунем: 
 Дар ин ҷо мо аз теоремаи Эйлер 
 ва истифода к а р да 
 шуда а ст. 
 Дар натиҷа ба даст меояд. 
 Мисоли. Ҳалқаи - ро дида мебароем. 
 Ҳал. Ҳосил мек унем, 
 Бо истифода аз формулаи () ҳосил мекунем: 
 { } 
 Т а вре ки аён ас т, маҷмӯи аз рӯйи з а рб гурӯҳро
 ташкил медиҳад. 
 Қайд кардан ба маврид аст, ки дар байни ҳамаи 
 классҳои танҳо ду синф ба худашон баръакс 
 мебошанд: 
 Теоремаи. Дар ҳалқаи танҳо ба таври ягона 
 имконияти тақсим ба синфи мавҷуд аст. Ҳосили 
 тақсими синфи бар синфи [b] аз р ӯйи формулаи зерин
 муайян карда мешавад: 
 Мисоли. Дар ҳалқаи ҳ осили тақсими синфи 
 [] бар синфи [] ёфта шавад. 
 Ҳал. Азбаски аст, бинобар ин 
 мешавад. Аз ин ҷо 
 Теоремаи Эйлерро ба ш а кли зерин дида мебароем. 
 Теорема. Агар - синфи баргарданда 
 (обратимий) бошад, он гоҳ форм улаи зерин ҷой дорад.
 Таърифи. Тартиби синфи тафриқҳо 
 гуфта чунин адади хурдтарини ро меноманд, ки баро и 
 он баробарии зерин иҷро мешавад: 
 Мисоли. Тартиби с инфи тафриқҳои ёфта 
 шавад. 
 Ҳал. Ҳосил мекунем 
 аз ин ҷо аён аст, ки = 
 меш авад. 
 Теоремаи. Бигузор тартиби синфи тафриқҳои 
 бошад. Баробарии 
 () 
 фақат ва фақат ҳамо н вақт ҷой дорад, агар 
 шавад. 
 Исбот. Адади k-ро бо тақсими бақиянок карда, 
 ҳосил мекунем: 
 Аз ин ҷо ҳосил мекунем. 
 Ҳамин тариқ баробарии () ба бароб ар ии зери н 
 баробарқувва мебошад. 
 Агар фарз карда ша вад, ки аст, он гоҳ ба 
 таърифи он ки ҳамчун адади хурдтарини натуралиест, 
 ки барои он мешавад, ба зидият дучор мешавем. 
 Аз ин тео рема натиҷаҳои зерин бар меоянд: 
 Натиҷаи. Тартиби дилхоҳ синфи тафриқҳо аз 
 тақсимкунандаи мебошад. 
 Натиҷаи. Баробарии ба муқоисаи 
 баробарқувва мебошад. 
 Натиҷаи. Ҳамаи синфи тафриқҳои, k=,, …, 
 ҷуфт-ҷуфт гуногун мебошанд. 
 Таърифи. Бигузор КТУ( бошад. Агар 
 тартиби синфи тафриқҳо ба баробар бошад, 
 он гоҳ адади решаи ибтидои а з рӯйи модули номида 
 мешавад. 
 Мисоли. Адади аз рӯйи модули ва адади аз
 рӯйи модули решаи ибтидоӣ мебошад. Аммо аз рӯйи 
 модули решаи ибтидоӣ тамоман мавҷуд нест. 
 Барномаи ёфтани решаи ибтидоӣ аз рӯйи модули 
 додашуда шакли зеринро дорад: 
 int powmod (int a, int b, int p) { 
 int res =; 
 while (b) 
 if (b & ) 
 res = int (res * ll * a % p), --b;
 else 
 a = int (a * ll * a % p), b >>=; 
 return res; 
 } 
 int generator (int p) { 
 vector<int> fact; 
 int phi = p-, n = phi; 
 for (int i=; i*i<=n; ++i) 
 if (n % i == ) { 
 fact.push_back (i); 
 while (n % i == ) 
 n /= i; 
 } 
 if (n > ) 
 fact.push_back (n); 
 for (int res=; res<=p; ++res) { 
 bool ok = true; 
 for (size_t i=; i<fact.size() && ok; ++i)
 ok &= powmod (res, phi / fact[i], p)!=; 
 if (ok) return res; 
 } 
 return -; 
 } 
 Дар ин ҷо функсияи powmod() – амали ба 
 дараҷабардориро аз рӯйи модул ва функсияи generator –
 решаи ибтидоиро аз рӯйи модули сода муайян мекунад. 
 Теоремаи (Гаусс). Агар модули адади содаи p 
 бошад, он гоҳ решаи ибтидои ҳамавақт вуҷуд дорад. 
 Таърифи. Маҷмӯи бо ду амал, ки дорои 
 хосиятҳои зерин мебошанд, майдон номида мешавад 
 ⋅ 
 - гурӯҳи абелӣ бо элементи воҳидии; 
 - гурӯҳи абелӣ бо элементи воҳидии; 
 - қонуни дистрибутивиро қаноат мекунонад. 
 { } ⋅ 
 Аз ин ҷо чунин хулоса баровардан мумкин аст, ки
 ⋅ 
 майдон - ин ҳалқаи комутативиест, ки ҳар як элементи он
 дорои элементи баръакс мебошад. 
 Қайд мекунем, ки маҷмӯи элементҳое, ки дар 
 дорои элементи баръакс мебошанд, ба таври математикӣ
 чунин навишта мешаванд:. 
 Мисолҳои стан дартии майдон - ин маҷмӯи ададҳои 
 { | } 
 ратсионалӣ, ҳақиқӣ ва комплексӣ мебошанд. Дар ҳолати
 сода будани маҷмӯи майдони охирнокро ташкил 
 карда, майдони тафриқҳо аз рӯйи модули p номида 
 мешавад. Чунин майдонро бо рамзи ишорат мекунанд. 
 Илова бар мисолҳои стандартӣ маҷмӯи ададҳои 
 намуди ва ки дар ин ҷо ададҳои 
 ададҳои ратсионалӣ мебошанд, низ гурӯҳро 
 √ √ √ 
 ташкил медиҳанд. Системаи алгебравии бо 
 амалҳои бинории (ҷамъ аз рӯйи 
 〈 〉 
 модули ) дар маҷмӯи, низ майдонро ташкил 
 мекунанд. 
 { } 
 Агар миқдори элементҳои майдон охирнок бошанд, 
 майдонро охирнок меноманд. Миқдори элементҳои 
 майдонро тартиби он меноманд. Ҳалқаи тафриқҳои: 
 ={,,,,,, …, }-ро дида мебароем. Дар ин мисол
 танҳо барои элементҳои ғайринулие, ки бо модул байнан
 содаанд (яъне,,,,,, ) элементи баръакс мавҷуд
 аст. Бинобар ин, гурӯҳи мултипликативии 
 майдонро ташкил медиҳад. Агар мо дул 
 адади содаи бошад, он гоҳ дилхоҳ элементҳои 
 { } 
 дорои элементи баръакс мебошанд, аз ин рӯ гурӯҳи 
 мултипликативии майдонро ташкил 
 { } 
 медиҳад. Масалан, мисоли содаи гурӯҳи 
 охирнок мебошад, ки дорои элемент аст. 
 { } 
 Майдони охирнокро майдони Галуа низ меноманд. Аз 
 ин рӯ барои майдони охирноки аз элемент иборат 
 метавон яке аз ишораҳои ва -ро истифода кард. 
 Дар ин ҷо -“майдони Галуа” хонда мешавад. 
 Соли математики амрикоӣ Мур исбот кард, ки ба
 таври ягона то изоморфизм барои дилхоҳ адади содаи ва
 адади мусбати майдони охирноки аз элемент 
 иборат мавҷуд аст. 
 Таърифи. Адади хурдтарини, ки барои он 
 баробарии иҷро мегардад, характеристикаи 
 майдон номида мешавад. 
 Характеристикаи майдон бо ишорат карда 
 мешавад. Масалан, майдони дорои 
 характеристикаи мебошад, чунки баробарии 
 { } 
 танҳо ҳангоми будан иҷро мегардад. 
 Эварист Галуа (фр. Évariste Galois) математики фаронсавӣ асосгузори
 алгебраи олиии муосир, -уми октябри соли дар шаҳр Бур-ля-
 Рене (Франсия) ба дунё омада, -уми майи соли дар шаҳри
 Париж (Франсия) аз дунё чашм пушидааст. 
 Элиаким Гастингс Мур (англ. Eliakim Hastings Moore) –математики
 амрикоӣ -уми январи соли дар шаҳри Мариетта (Огайо) ба
 дунё омадааст. Кори нахустини Мур ба асосҳои алгебра ва геометрияи
 алгебравӣ бахшида шудааст. Ӯ нахустин маротиба соли теорема
 оиди класификатсияи майдонҳои охирнокро исбот кард. -уми
 декабри соли дар Чикаго (ИМА) аз олам чашм пушидааст.
 Таърифи. Гурӯҳи даврӣ номида мешавад, агар 
 дар он чунин элементи мавҷуд бошад, ки дилхоҳ 
 элементи ро ҳамчун дараҷаи он тасвир кардан мукин 
 бошад. 
 Дар ин ҳолат навишта, мегӯянд, ки G 
 тавлидшудаи элементи мебошад ва худи ро 
 〈 〉 
 элементи тавлидкунанда меноманд. 
 Мисол. 
 { } 〈 〉 〈 〉 
 ар ҳақиқат, буда, танҳо барои ин 
 { } 〈 〉 〈 〉 
 элементҳо элементи б аръакс мавҷуд мебошад (мувофиқан,
 { },,,, ). Илова бар ин, тафтишҳо нишон медиҳанд, ки
 (ба ёд меорем, ки тартиби 
 эл емен тҳо д ар ма ҷм ӯъ шарт намебошад). Ин имкон 
 { } 
 медиҳад, ки дар байни гурӯҳи ва аз рӯйи қонуни 
 изоморфизм барқарор кард, яъне 
 н ан ҳамин тавр д байни гурӯҳи ва аз рӯйи 
 { } 〈 〉 
 қонуни метавон изоморфизм барқар ор ка рд, яъне. 
 Т аърифи. Гурӯҳ охирнок номида мешавад, агар
 { } 
 миқдори элементҳои он охирнок бошанд. Миқдори 
 элементҳои гурӯҳро тартиби он меноманд ва бо 
 ишорат мекунанд. 
 | | 
 Таърифи. Тартиби элементи -и гурӯҳи G гуфта,
 чунин адади натуралии хурдтарини ро (дар гурӯҳи 
 G) меноманд, ки барои он баробарии зерин иҷро 
 мешавад:. () 
 Ба шарти о н, ки чунин n мавҷуд бошад, дар сурати
 акс тартиби элементи ба баробар мешавад. Тартиби 
 ро бо низ ишорат мекунанд. 
 Дар () ро элементи нейтралӣ меноманд, яъне 
 аз рӯйи ҷамъ ва аз рӯйи зарб. 
 Мисолҳо. 
 ) Гурӯҳи ҳамаи ададҳои бутун аз рӯйи амали 
 ҷамъ давр ӣ мебошанд, ва барои 
 дилхоҳ аз сифр фарқкуна ндаи. 
 〈 〉 
 ) Тартиби элементҳои гурӯҳҳои 
 мувофиқан чунин мебошад: 
 G 
 ord(g) 
 G 
 ord(g) 
 g 
 ord(g) 
 элементҳои гурӯҳ. 
 ) Агар бошад, он гоҳ баробарии () фақат ва
 фақат ҳамон вақт иҷро мешавад, ки агар n ба 
 тақсим шавад. 
 ) Агар G гурӯҳи абелӣ буда, элементҳои 
 тартибашон байнан сода бошанд, он гоҳ 
 ) Агар гурӯҳи охирноки даврӣ бошад, он 
 гоҳ буда, ҳамаи 
 〈 〉 
 элементҳои овардаш уда г у н о г у н мебошанд.
 { } 
 Исбот. 
 ) Агар n ба тақсим шавад, он гоҳ 
 мешавад. Баръакс, агар баробарии 
 () ҷ о й д о шта бошад, n-ро ба тақсими 
 бақиянок карда, ҳосил мекунем:. Аз ин ҷо 
 мешавад. Барои ба хосияти элемент и м и ни малӣ
 будани зидият нашудан, зарур аст, ки 
 шавад. Ҳамин тариқ, n ба тақсим мешавад. 
 ) Ишораҳои ро 
 дохил карда бо назардошти абелӣ будани гурӯҳи G
 ҳосил мекунем: 
 Бо назардошти ба н ди я к уми тасди қ от ба n 
 тақсим мешавад. Азбаски n ва m байнан сода 
 мебошанд, k ба n низ тақсим мешавад. Ба ҳамин 
 монанд k ба m низ тақсим мешавад, яъне ба 
 тақсим мешавад. Аз дигар тараф, аён аст, ки 
 аст. Азбаски, ин адади минималӣ аз 
 рӯйи хосияти мебошад, пас, 
 мешавад. 
 ) Ҳамаи элеметҳои овардашуда гуногун мебошанд. 
 Дар ҳақиқат, агар ҳангоми 
 будан = бошад, пас, баробарии иҷро 
 мешавад, ки ба хосияти минималностӣ o rd(g) зид
 мебошад. Акнун нишон медиҳем, ки элементи 
 дилхоҳӣ дар маҷмӯи мазкур мехобад. Барои 
 ягон ҳосил мекунем. Адади -ро ба 
 ord(g) тақсими бақиянок карда ҳосил мекунем. Ҳамин тариқ 
 мешавад. 
 Таърифи. Зе рм аҷмӯ и и гурӯҳи G зергурӯҳи ин 
 гурӯҳ номида мешавад, агар H нисбат ба амалҳои гурӯҳи G
 худаш гурӯҳ бошад. 
 Теорема. Зермаҷмӯи и гурӯҳи G фақат ва фақат 
 ҳамон вақт зергурӯҳи G мешавад, агар баробариҳои зерин
 иҷро гарданд: 
 ) 
 ) 
 Мисол. Ҳам аи зергурӯҳҳои гурӯҳи ин 
 ва худи гурӯҳӣ мебошанд. 
 { } { } { } 
 Яке аз теоремаҳои муҳими назарияи гурӯҳро бе исбот
 меорем. 
 Теоремаи Лагранҷ. Тартиби зергурӯҳҳои гурӯҳи 
 охирнок тартиби ин гурӯҳро тақсим мекунад. 
 Саволҳо барои мустаҳкамкунӣ 
 ) Чӣ гуна амалро амали бинарӣ мегуянд? 
 ) Кадом амалҳои бинориро медонед? 
 ) Чӣ гуна маҷмӯъ гурӯҳ номида мешавад? 
 ) Синфи тафриқҳо бо гӯрӯҳ чӣ алоқамандӣ дорад? 
 ) Ҳалқа гуфта чиро меноманд? 
 ) Майдон чист? 
 ) Кадом мисолҳои гурӯҳ, ҳалқа ва майдонро медонед?
 ) Тақсимкунандаи сифр гуфта, чиро дар назар доранд?
 ) Зергурӯҳи гурӯҳ чист? 
 Ҷозеф Луи Лагранҷ (фр. Joseph Louis Lagrange, итал. Giuseppe Lodovico
 Lagrangia; января, Турин (Италия)— апреля, Париж) —
 математик, астрономи ва механики фаронсавӣ зодаи Итолиё мебошад.
 Боби. Логарифмиронии дискретӣ ва 
 масъалаи факторизатсия 
 Теоремаи чинӣ оиди бақияҳо (ТЧБ) яке аз 
 теоремаҳои қадимаи математика ба ҳисоб меравад, ки 
 тақрибан таърихи -сола дорад. Дар оянда аз теоремаи
 ТЧБ чандин маротиба истифода бурда мешавад, масалан 
 барои беҳтаркунии ҷараёни рамзкушоӣ дар алгоритми 
 RSA ва дигар протоколҳо. ТЧБ тасдиқ мекунад, ки 
 системаи муодилаҳои 
 аз рӯӣ модули фақат ва фақат ҳамон вақт решаи 
 { 
 ягона дорад, агар бошад. 
 Мисоли. Системаҳои муодилаҳои 
 дорои решаи мебошад. Бе душворӣ дурустии ин 
 { 
 ҳалро санҷидан мумкин аст, зеро (mod )= ва (mod
 )= мебошад. 
 Акнун тарзи ёфтани ин ҳалро дида мебароем. 
 Ибтидо тарзи ёфтани ҳалро ба шакли схематикӣ дида 
 мебароем. Агар ҳарду муодилаи системаро қаноат 
 кунонад, он гоҳ чунин адади бутуни u ёфт мешавад, ки
 барои он баробариҳои зерин иҷро мегарданд: 
 { 
 Аз муодилаи якуми ин система қимати ёфташудаи 
 ро ба муодилаи дуюми система гузошта ҳосил 
 мекунем. 
 Баробарии охирон табдил дода ба шакли зерин 
 меорем: 
 Азбаски аст, пас метавон 
 муодилаи охиронро нисбат ба ҳал кард. Пеш аз ҳама аз
 рӯйи модули барои адади адади (элементи) баръаксро
 меёбем. Адади мавриди назар ба баробар аст, чунки 
 мешавад. Пас қимати ифодаи зеринро 
 ҳисоб мекунем: 
 Қимати ёфташудаи u-ро ба ифодаи 
 гузошта ҳосил мекунем: 
 гузошта ҳосил мекунем. 
 Системаи ду муодила аз нуқтаи назари амалӣ хеле
 ҷолиб мебошанд, бинобар ин, ибтидо алгоритми ҳалли 
 онҳоро меорем. Бигузор ададҳои байнан сода буда, 
 системаи муодилаҳои зерин дода шуда бошанд. 
 () 
 Алгоритми ҳалли системаи () чунин шаклро дорад:
 { 
 ) Ҳисобкунии қимати (Бо назардошти 
 байнан сода будани ҳисобкунии қимати Т 
 ҳамавақт имкон дорад). 
 ) Ҳисобкунии қимати. 
 ) Аз рӯӣ модули ҳал шакли зеринро мегирад: 
 Барои бовари ҳосил кардан ба дурустии ҳалли 
 ёфташуда санҷиш мегузаронем. 
 Акнун ҳолати умумии ТЧБ-р о мавриди баҳс қарор 
 медиҳем. Бигузор ва ададҳои 
 бутуни байнан ҷуфт-ҷуфт сода бошанд. Талаб карда 
 мешавад, ки чунин элементи аз рӯйи модули 
 барои системаи муодилаҳои зерин ёфта 
 шавад: 
 барои ҳамаи 
 ТЧБ мавҷудият ва ягонагии ҳалро кафолат дода, 
 чунин натиҷа медиҳад: 
 ∑ 
 дар ин ҷо мебошад. 
 Мис о л и. а з рӯ й и мо ду ли 
 ҳалли системаи зерин ёфта шавад: 
 { 
 Ибтидо қимати ҳои дар формулаи () 
 истифодашударо ҳисоб мекунем. 
 Пас аз ёфтани ҳо бо истифода аз формулаи 
 () ҳосил мекунем. 
 ∑ 
 Инак, натиҷа мешавад. 
 Барои ҳалли системаи муқоисаҳо метавон аз 
 алгоритми Горнер низ истифода кард. Мувофиқи 
 алгоритми мазкур ҳамчун аъзои n-уми пайдарпайии 
 ҳисоб карда мешавад. Пайдарпайиҳои ва аз рӯйи 
 { } 
 формулаи зерин сохта мешаванд: 
 { } { } 
 { 
 Бартарии ин алгоритм дар он аст, ки барои 
 ҳисобкунии аъзоҳои ояндаи ( танҳо як қимати 
 пешинаи ( истифода бурда мешавад. 
 Мисол. Қимати хурдтарини ки муодилаи зеринро 
 қаноат мекунонад ёфта шавад: 
 Вилям Ҷорҷ Горнер (англ. William George Horner) математики англис
 соли дар шаҳри Бристол (Англия) ба дунё омадааст. -юми
 сентябри соли дар шаҳри Бат (Англия) аз дунё чашм пушидааст.
 { 
 Ҳал. Дар системаи додашуда, 
 аст. Акнун қимати пайдарпайиҳои 
 ро ҳисоб мекунем: 
 Ҷавоб:. 
 Дар майдони охирноки барои ададҳои ихтиёрии 
 логарифми дискретӣ аз рӯйи асоси гуфта, чунин 
 адади -ро меноманд, ки барои он баробарии зерин иҷро
 гардад: 
 (дар майдони ) () 
 Масъалаи ҳисобкунии логарифми дискретии ададҳои 
 додашудаи ро дар майдони охирнок масъалаи 
 логарифмиронии дискретӣ меноманд. 
 Бо суханҳои дигар барои ва и додашуда ҳали 
 и муодилаи логарифми дискретии элементи a 
 аз рӯйи асоси номида мешавад. Дар ҳолати гурӯҳи 
 https://en.wikipedia.org/wiki/Discrete_logarithm 
 мултипликативии ҳалқаи тафриқҳо аз рӯйи модули m 
 будани G ҳал инчунин индекси адади a аз рӯйи асоси 
 номида мешавад. Агар решаи ибтидои аз рӯйи модули 
 m бошад, он гоҳ мавҷудияти индекси адади a аз рӯйи 
 асоси кафолат дода мешавад. 
 Бигузор адади содаи тоқ буда, ташкилкунандаи 
 гурӯҳи (ҳамин тариқ ) ва адади ба 
 тақсимна шаванда бошад, он гоҳ ёфтани чунин аади, 
 ки баробарии зеринро қаноат мекунонад 
 логарифмиронии дискретӣ меноманд. 
 () 
 Дар ин ҳола т навишта мешавад. Ҳоло 
 алгоритмеро дида мебароем, ки дар сурати суфта 
 (гладкий) будани адади, (яъне ҳангоме, ки адади ба 
 зарбкунандаҳои хурд тақсим шавад) хело тез кор мекунад.
 Барои ёфтани b ҳангоми маълум будани a,n,p 
 метавон зербарномаи (методи) modInverse()дар класси 
 BigInteger ҷойгир аст, истифода кард. Тарзи истифодаи ин
 зербарнома чунин аст: 
 BigInteger S=BigInteger.modPow(BigInteger exponent, 
 BigInteger m) 
 Мисол. 
 import java.math.BigInteger; 
 import java.util.Scanner; 
 public class modPow{ 
 public static void main(String[] args) { 
 BigInteger a,n,p,b; 
 Scanner sc=new Scanner(System.in); 
 a=sc.nextBigInteger(); 
 n=sc.nextBigInteger(); 
 p=sc.nextBigInteger(); 
 b=a.modPow(n, p); 
 System.out.println(S); 
 } 
 } 
 Дар сурати акс, ҳангоми маълум будани барои 
 ёфтани n метавон аз зербарномаи зерин, ки дар забони
 С++ навишта шудааст, истифода кард. 
 #include <iostream> 
 #include <cmath> 
 #include <map> 
 using namespace std; 
 int solve (int a, int b, int m) { 
 int n = (int) sqrt (m +.) +; 
 int an =; 
 for (int i=; i<n; ++i) 
 an = (an * a) % m; 
 map<int,int> vals; 
 for (int i=, cur=an; i<=n; ++i) { 
 if (!vals.count(cur)) 
 vals[cur] = i; 
 cur = (cur * an) % m; 
 } 
 for (int i=, cur=b; i<=n; ++i) { 
 if (vals.count(cur)) { 
 int ans = vals[cur] * n - i; 
 if (ans < m) 
 return ans; 
 } 
 cur = (cur * a) % m; 
 } 
 return -; 
 } 
 int main(int argc, char** argv) { 
 cout<<solve(,,); 
 return; 
 } 
 Қайд. Дар назарияи ададҳо адади суфта гуфта, чунин
 адади бутунро меноманд, ки ҳамаи тақсимкунандаҳои содаи
 он хурд бошанд. 
 Адади натуралӣ B-суфта номида мешавад, агар 
 тақсимкунандаҳои он аз калон набошанд. 
 Масалан, адади бо чунин шакл ба 
 зарбкунандаҳои сода ҷудо карда мешавад, аз ин ҷо —
 ин адади -суфта, инчунин -суфта мебошад, ва ғайра,
 аммо -суфта намебошад. 
 Алгоритми LOGSmooth. Бигузор адади содаи 
 тақсимкунандаи бошад. Он гоҳ маҷмӯи ҳалҳои 
 муодилаи (дар майдони ) аз элементҳои, 
 ибо рат м е бошанд, ки дар и н ҷо а ст. 
 Агар d чунин адади додашудаи муодила и –ро 
 қаноат кунонанда бошад, пас тавассути методи 
 азназаргузаронӣ (перебор) метавон чунин адади - ро ёфт,
 ки барои он шавад. Дар ин ҷо беохир 
 хурд будани фар з карда мешавад. 
 Бигузор бошад (дар ин ҷо ва байнан сода 
 мебошанд), он гоҳ пай дар пай чунин ададҳои 
 ро меёбем, ки барои онҳо баробарии зерин 
 иҷро шавад: 
 () 
 Ҳангоми б удан муқоисаи зеринро ҳосил мекунем:
 Бо назардошти () м уқ оисаи ҳосилшуда ба муқоисаи
 зерин баробарқувва мебошад: 
 Азбаски аст, он гоҳ муқоисаи охирон 
 маънои онро дорад, ки ба тақсим мешавад, 
 яъне 
 Барои ҳамаи тақсимкунандаҳо и содаи –и адади 
 чунин муқоисаҳоро навишта, баъдан тавассути ТЧБ 
 қимати ро ҳисоб мекунем. 
 Акнун тарзи ёфтани ададҳои ро, ки муқоисаи ()-ро 
 қаноат мекунонад, дида мебароем. Метавон 
 гузошт. Агар ягонто аллакай маълум бошанд, он 
 гоҳ аз () бармеояд, ки муодилаи 
 ро қаноат мекунона д. А кнун метавон чун ин
 ро ёфт, ки барои он баробарии зерин иҷро гардад: 
 Гузориши ро дохил мекунем. Пас 
 баробарии зерин иҷро мегар дад, ки ҳангоми будан 
 маънои иҷроиши баробарии ()-ро дорад: 
 Ҳамин т а р иқ аз рӯй и с х емаи зерин –ҳо ёфта
 мешаванд: 
 М исол. Чунин -ро меёбем, ки муқоисаи 
 ро қаноат кунонад. 
 Ҳал. Дар ин ҷо 
 мебошад. Ибтидо мегузорем, он гоҳ 
 мешавад. Илова бар ин, 
 мебошад. Акнун ҷадв а ли зеринро пур 
 м екунем: 
 Аз ин ҷо ҳосил мекунем:. () 
 Акнун мегузорем. Он гоҳ 
 буда, ҷадвали зеринро пур мекунем: 
 - 
 Аз ин ҷо ҳосил мекунем:. () 
 Аз () ва () бармеояд, ки аст. 
 Яке аз масъалаи асосӣ дар назарияи криптография
 бо калидҳои кушода масъалаи факторизатсия ба ҳисоб 
 меравад. Ҳоло масъалаи мазкурро мавриди баҳс қарор 
 медиҳем. 
 Бигузор адади ки ҳосили зарби ду адади содаи 
 ро ифода мекунад, адади тоқ бошад. Ҳангоми дода
 шудани n барои ёфтани зарбшавандаҳои метавон аз 
 методи Ферма истифода кард. Чунин масъаларо (яъне аз
 рӯйи n муайянкунии масъалаи факторизатсия 
 меноманд. Моҳияти методи Ферма - ин ёфтани чунин 
 ададҳои А ва В аст, ки барои онҳо баробарии зерин иҷро
 мегардад: 
 Методи Фермаро метавон ба на муди алгоритмӣ 
 чунин навишт: 
 ) Қисми бутуни решаи квадрати аз адади ҳисоб карда
 мешавад: 
 ) Барои қимати функсияи 
 [√ ] 
 зеринро, 
 то замоне, ки ба квадрати пурра баробар шудан, 
 ҳисоб мекунем. 
 ) Бигузор квадрати пураи ягон адад, масалан В-ро
 ифода кунад, яъне он гоҳ чунин адади 
 ро муайян карда, аз баробарии 
 қимати ва аз ин ҷо 
 қимати м уайя н карда мешаванд: 
 Мисол. Адади ро факторизатсия 
 мекунем. Ибтидо қимати ро ҳисоб 
 мекунем. Ҷараёни ҳисобкунии тақсимкунандаҳои n-ро 
 [√ ] 
 бошад, ба намуди ҷадвал менависем:, 
 √,,,,,,,, 
 Аз катакчаи охирони сутуни сеюми ҷадвал ҳосил 
 мекунем:, аз ин ҷо 
 мешавад. Ҳ амин тар иқ, ҳосил мекунем:, яъне ва. Тавре, ки аз ҷадвал маълум
 аст, дар ин ҷо барои ёфтани қиматҳо итератсия, як
 амали ба дараҷабардорӣ, як амали тарҳ ва як амали аз
 решаи квадратӣ баровардан истифода шудааст, яъне 
 миқдори доимии амалҳо иҷро гардидааст. 
 факторизатсия 
 Барои аз рӯйи ёфтани қиматҳои 
 (яъне масъалаи факторизатсия метавон) аз усули дигар
 низ истифода кард. Ин усулро бо исботи тасдиқоти зерин
 меорем. 
 Лемма. Қимати функсияи Эйлер 
 имконияти ба зарбкунандаҳои сода ҷудо намудани адади
 N-ро фароҳам меорад. 
 Исбот. Ҳосил мекунем 
 Аз ин ҷо гузошта ҳосил мекунем: 
 Мақсади мо ёфтани мебошад, ки суммаи онҳо 
 S ва ҳосили зарбашон ба N баробар аст. Бисёраъзогии 
 зеринро дида мебароем: 
 Муодилаи ро ҳал кар да метавон -ро 
 ба даст овард.,. 
 √ √ 
 Ба сифати мисол модули кушодаи ро 
 дида мебароем: Фарз мекунем, ки 
 мебошад. Ҳисоб мекунем. 
 Бисёраъзогии мувофиқи он шакли зеринро 
 мегирад: 
 Решаҳои ин бисёраъзогӣ: мешаванд. 
 охирнок 
 Майдони охирноки ва адади ро, ки 
 тафриқи квадратӣ аз рӯйи модули аст, дида мебароем. 
 Талаб карда мешавад, ки чунин ро ёбед, ки баробарии 
 зеринро қаноат кунонад. 
 Адади ро ба шакли (дар ин ҷо –адади 
 тоқ аст) тасвир мекунем. Аён аст, к и адади тоқ аст,
 пас мешавад. Бигузор ягон тафриқи ғайриквадратӣ 
 аз рӯйи модули бошад (яъне нишонаи Лежандри он 
 аз - фарқ кунад). 
 ( ) 
 Ду ҳолатро дида мебароем: 
 ). Дар ин ҳолат метавон дар ҳол ҳалро 
 пайдо кард. 
 ). 
 Ибтидо қимати ро ҳисоб мекунем. 
 Азбаски тартиби дилхоҳ эл емент тақсимкунандаи адади
 мебошад, бинобар ин, тартиби низ тақсимкунандаи 
 аст, аз ин ҷо мешавад. Инчунин метавон 
 н ишон дод, ки аст, яъне тартиби 
 элементи дақиқан ба баробар аст. Акнун элементҳои 
 зеринро ҳисоб мекунем: 
 () 
 Бе душво рӣ пай бурдан мумкин аст, ки 
 баробариҳои зерин ҷой доранд: 
 ва 
 () 
 Азбаски тартиби элементи тақсимкунандаи 
 мебошад, пас тартиби низ тақси мкунандаи аст. 
 Ғо яи методи Шенкс-Тоннел аз сохтани ҷ уфти 
 пайдарпайиҳои ( ) иборат аст, ки шарти зеринро 
 қаноат мекунонанд: 
 () 
 Ба ғайр а з ин (зимнан) тартиби тақсимкунанди 
 хоси то замоне, ки тартиби –и навбатӣ ба сифр 
 баробар нашудан, мебошад. Дар он сурат барои –и 
 ёфташуда шартҳои ва иҷро 
 мегарданд. Аз ин ҷо решаи ҷустуҷӯшаванда ба 
 ҳисоб меравад. 
 Азбаски қимати ибтидоии ( бо назардошти 
 шарти () баробарии ()-ро қаноат мекунонад, аллакай
 маълуманд, пас формулаи умумии муайянкунии 
 қиматҳои ро менависем: 
 () 
 дар ин ҷо –тартиб и элементи меб ошад 
 Мисол. Дар майдони ҳангоми будан 
 решаи квадратӣ аз адади ёфта шавад. 
 ) Ҳосил мекунем: аз ин ҷо 
 мешавад. 
 ) Аз рӯӣ формулаи () қиматҳои ибтидоии ро 
 ҳисоб мекунем: 
 ) Тартиби элементи ро меёбем: 
 Аз ин ҷо 
 мешавад. 
 ) Тафриқи ғайриквадратиро меёбем. Ҳангоми 
 будан нишонаи Лежандро ҳисоб мекунем: 
 А з ин ҷ о аён а ст, ки та фриқи ғайриквадратӣ
 ( ) ( ) ( ) ( ) 
 буда, метавонад барои ҳисобкунии ҷуфти 
 истифода шавад. 
 ) Қимати у-ро ҳисоб мекунем. 
 ) Д араҷаеро, ки бояд ро бо m бардорем муайян 
 мекунем: 
 ) Ҳисоб мекунем: 
 Азбаски –и навб а т ӣ ба баробар шуд, пас амали
 ҷустуҷӯи реша ба охир мерасад, яъне решаи матлуб 
 мебошад. Дурустии решаи ёфташударо 
 тафтиш мекунем: 
 Саволҳо барои мустаҳкамкунӣ 
 ) Моҳияти асосии ТЧБ аз чӣ иборат аст? 
 ) Моҳияти методи Горнер аз чӣ иборат аст? 
 ) Чӣ тавр метавон тавассути схемаи Горнер системаи
 муқоисаҳои тартиби се ё чорро ҳал кард? 
 ) Масъалаи факторизатсия чӣ гуна масъала мебошад? 
 ) Моҳияти методи Ферма аз чӣ иборат аст? 
 ) Тавассути қимати функсияи Эйлер чӣ тавр масъалаи
 факторизатсия ҳал карда мешавад? 
 ) Чӣ тавр решаи квадрати аз рӯйи модули додашуда 
 ёфта мешавад? 
 ФАСЛИ. МЕТОДҲОИ 
 КЛАССИКИИ РАМЗГУЗОРӢ 
 Боби.Марҳалаҳои ибтидоии 
 рамзгузорӣ 
 Чӣ тавр метавон итилооти муҳимро ба шахси 
 (канали) лозими тавре равон кард, ки дигарон аз сирри он
 огоҳ нагарданд? Ҳар як инсон дар ҳар давру замон бо 
 мақсадҳои гуногун кӯшиш мекунад, ки ин масъалаи 
 татбиқиро барои худ ҳал кунад. Инсоният аз рӯзи 
 пайдоиши хат бо барои ҳалли масъалаи мазкур методҳои
 зиёдеро эҷод кардааст. Умуман се усули маъмули ҳалли
 ин масъала вуҷуд дорад: 
 ) Сохтани канали алоқаи боваринок (муътабар) байни
 муштариён ба сурате, ки барои дигарон дастнорас 
 бошад; 
 ) Истифодаи канали алоқаи умумӣ, вале ба таври 
 махфиёни равон кардани итилоот; 
 ) Истифодаи канали алоқаи умумӣ, вале равон кардани
 итилооти лозимӣ тавассути он ба сурате, ки танҳо 
 қабулкунандаи асосӣ онро барои хондан барқарор 
 карда тавонаду халос. 
 Дар замони ҳозира техника ва технология дар 
 ҳолату рушду густариш аст, сохтани канали алоқаи 
 бовариноке, ки тавассути он чандин маротиба равон 
 кардани итилооти ҳаҷмаш зиёд ба таври амн имкон 
 дошта бошад, номумкин аст. Коркарди воситаҳо ва 
 методҳои махфисозии тарзи (далели) равон кардани 
 итилоотро стенография меомузад. Мафҳуми стенография 
 (аз ду калимаи юнонии στενός «маҳдуд» (узкое, тесний) ва
 γράφειν «мактуб») – гирифта шуда, усули навиштест, ки
 ба мақсади кӯтоҳнависии нутқи гуфтугӯӣ аз аломатҳои 
 махсус истифода мебарад. Методҳои стенографӣ таърихи
 тулонӣ доранд. Масалан, аз замонҳои қадим чунин усули
 стенографии равон кардани итилоот маъмул буд: Дар 
 аввал сари ғуломонро тарошида, пайғоми лозимиро дар 
 он менавиштанд. Пас аз баромадани мӯи сар ғуломро ба
 адреси лозими равон мекарданд. 
 Коркарди методҳои табдилдиҳии (рамзгузорӣ ё 
 шифрования) итилоот, бо мақсади ҳимоя аз 
 истифодабарандагони ғайриқонуниро - криптография 
 меомӯзад. 
 Криптография (аз юнонӣ: κρυπτός — пӯшида ва 
 γράφω — менависам) — илмест, ки методҳои 
 кофидентсиалӣ (номумкин будани хондани маълумот 
 барои одамони бегона), якпорчагии итилоот (ғайриимкон
 гардонидани ноаён иваз кунии итилоот), аутентификатсия
 (тафтиши соҳибияти муаллиф ё дигар хосияти объект) ва
 ғайриимкон гардонидани дасткаши аз муаллифият 
 (имзои электронӣ)-ро меомӯзад. Чунин методҳо ва 
 усулҳои табдилдиҳии итилоотро шифр (рамз) меноманд. 
 Рамзгузорӣ (шифрования)- бо истифодаи қоидаҳои 
 муайяни рамз (шифр) матни додашударо ба матни 
 рамзгузошташуда (шифротекст, криптограмм) табдил 
 медиҳад. Рамзкушоӣ амали ба рамзгузорӣ баръакс 
 мебошад, яъне матни рамзгузошташударо бо истифода аз
 қоидаҳои рамз (шифр) рамзкушоӣ мекунад. 
 Бояд қайд кард, ки криптография аз стенография 
 фарқи калон доранд. 
 Масъалаи рамзгузорӣ танҳо барои итилооте, ки ба
 ҳимоя ниёз доранд ба вуҷуд меояд. Одатан дар ин ҳолат
 мегӯянд, ки итилоот сирри махфӣ дошта, давлатӣ ё 
 конфидентсиалӣ (махфӣ, пинҳонӣ) мебошад. 
 Криптография илми татбиқӣ буда, даствардҳои илмҳои 
 дақиқ, алалхусус математикаро истифода мебарад. Қайд
 кардан ба маврид аст, ки ҳамаи масъалаҳои криптография
 аз дараҷаи инкишофи илму технология, аз татбиқи 
 воситаҳои алоқа ва усулҳои равон кардани итилоот 
 вобастагии калон доранд. Одатан итилоотҳои, ки онҳоро
 рамзгузорӣ кардан лозим аст, дорои сири 
  давлатӣ; 
  ҳарбӣ; 
  соҳибкорӣ; 
 ва ғайра мебошанд. 
 Се усули маъмули ҳимояи итилоотро мавҷуд аст: 
 Усули физикӣ - ҳимояи барандагони итилоот аз 
 дастёбӣ (перехвата), нест кардани барандагони итилоот
 ҳангоми хавфи бадаст оварӣ (самолётҳои Америка) ва 
 ғайраро меомӯзад. 
 Усули стенография – махфи гардонидани барандагони 
 итилоот (сари ғуломан, ранги ноаён ва ғайра) ро меомӯзад.
 Усули криптография – ин усулҳои ҳимоя дар замони 
 ҳозира нисбатан маъмул ва машҳуртар мебошанд. 
 Криптография таъмин мекунад: 
 ) махфикунонии итилоот; 
 ) аутентификатсияи итилоот, яъне тасдиқкунии 
 соҳибияти итилоот, соҳибияти тарафҳо, вақти 
 сохтан ва ғайра; 
 ) ғайриимкон гардонидани дасткашӣ аз соҳибият, 
 яъне имзоҳои электронӣ; 
 ) якпорчагии итилоот; 
 ва ғайра. 
 Методҳои криптографӣ дар масъалаҳои татбиқии 
 зерин истифода бурда мешаванд: 
 ) имзоҳои электронии рақамӣ (ИЭР); 
 ) пулҳои электронӣ; 
 ) қуръакашии электронӣ; 
 ) шартномаҳои дар як вақт имзогузошташуда; 
 ) ҳимояи коғазҳои қиматнок; 
 ) овоздиҳии электронӣ; 
 ва ғайра. 
 Криптография илмест, ки тақрибан ҳангоми 
 пайдоиши хат ба вуҷуд омада, таърихи ҳазор соларо 
 доро мебошад. Таърихи криптографияро метавон ба 
 марҳила тақсим кард: 
 ) Марҳилаи якум тақрибан аз асри VI-и пеш аз милод
 оғоз гардидааст. Принсипи асосӣ дар ин марҳила иваз
 намудани як ҳарф бо ҳарфи дигар ва ё ивази ягон 
 символ ба символи дигар мебошад. Методҳо ва 
 воситаҳои ин давра: рамзи Атбаш, таҷҳизоти Скитал
 (а. V), диски ва ҷадвали Энея (а. IV), квадрати 
 Полибия (а. II), Рамзи Сезар (I) ва ғайра. 
 ) Марҳилаи дуюм аз асри IX мелодӣ оғоз гардида то 
 ибтидои асри XX давом кардааст. Дар ин давра 
 метавон ибтидо дар Шарқи наздик корҳои Ал- 
 Фараҳидӣ (-), Ал-Киндӣ (-), Ал- 
 Қалкашандӣ (-) ва баъдан сар карда аз асри 
 дар Аврупо корҳои Леон Баттист Алберт (), 
 Кардано (), Блез де Виженер (), Плейфер 
 ( Англия) ва ғайраро номбар кард. 
 ) Марҳилаи сеюм аз ибтидои асри сар карда то 
 нимаи он давом кардааст. Дар ин давра воситаҳои 
 электромеханикии рамзгузорӣ ва рамзкушоӣ пайдо 
 шудаанд. Дар ин давра корҳои Вернам (), Энигма
 (), Хилл () ва ғайраро метавон номбар кард.
 ) Марҳилаи чорум аз миёнаи асри оғоз гардида то
 солҳои -уми ин аср давом кардааст. Ин марҳила 
 марҳилаи гузариш ба криптографияи математикӣ ба 
 ҳисоб меравад. Дар корҳои Шеннон мафҳумҳои 
 миқдори итилоот, интиқоли итилоот, энтропия (дар 
 назарияи ахборӣ дараҷаи ҳолате ё вазъияте 
 итилоотро ифода мекунад), функсияи рамзгузорӣ ва 
 ғайра пайдо шудаанд. 
 ) Марҳилаи муосир аз охирҳои соли оғоз гардида
 то ҳол идома дорад. Дар ин давра равиши нави 
 криптография, яъне криптография бо калидҳои 
 кушода пайдо шуд. Дар ин давра метавон корҳои 
 Деффи-Ҳеллман (), Шамир, Тоҳир Ал-Ҷамол, 
 методҳои DES (..), RSA (), ГОСТ -
 (), ГОСТ Р.. (ГОСТ дар ХКЭ) ва ғайраро
 номбар кард. 
 Қайд кардан ба маврид аст, ки дар криптографияи
 муосир истифодабарии алгоритмҳои рамзгузории бо 
 калидҳои кушод хос мебошад, ки истифодабарии 
 воситаҳои ҳисобарорро талаб мекунад. Зиёда аз 
 даҳҳо алгоритмҳои рамзгузории санҷидашуда маълум аст,
 ки ин алгоритмҳо калиди кифоя калон (дароз) ва саҳеҳро
 истифода мебаранд. Дар ин алгоритмҳо устувории 
 кариптографӣ низ ба назар гирифта мешавад. 
 Алгоритмҳои маъмули марҳилаи ҳозира: 
  Симметрӣ ҳамаи рамзҳои ҷараёнӣ (поточный), 
 блокӣ, DES, AES, ГОСТ -, 
 Camellia, Twofish, Blowfish, IDEA, RC, RC, RC ва
 ғайраҳо; 
  Ассиметрӣ RSA, Elgamal (Ал-Ҷамол), ECDSA 
 (Elliptic Curve Digital Signature Algorithm), Rabin, Luc,
 Диффи-Ҳеллман DH (Diffie, Hellman), DSA (Digital 
 Signature Algorithm), ГОСТ Р.-, McEliece, Williams
 System; 
  Ҳэш-функсия MD, MD, MD, SHA (Secure Hash 
 Algorithm), SHA-, ГОСТ Р.-. 
 Қайд. Дар оянда мафҳумҳои симметрӣ, асимметрӣ, ҳэш-
 функсия ва алгоритмҳои овардашударо шарҳу эзоҳ медиҳем.
 Дар бисёр мамлакатҳо стандарти миллии 
 рамзгузориро қабул кардаанд. Масалан, соли 
 дар ИМА стандарти рамзгузории симетрӣ AES дар асоси 
 алгоритми Rijndael бо дарозии калиди, ва бит
 сохта шуда, қабул гардид. Алгоритми AES ба ҷои 
 алгоритми пешинаи DES омад, ки ҳоло барои истифода 
 фақат дар режими Triple DES тавсия карда шудааст. Дар
 Федератсияи Русия бошад, стандарти ГОСТ -, ки
 алгоритми блокии рамзгузорӣ бо калиди битро дар 
 бар мегирад ва ичунин алгоритми имзои рақамӣ ГОСТ Р 
 Матни ошкор — додаҳое (шарт нест, ки матнӣ 
 бошанд), ки бе истифодаи криптография равон карда 
 мешаванд. Бо суханҳои дигар, матни ошкор – ин итилооти
 додашуда пеш аз рамзгузорӣ мебошад. 
 Шифротекст ё матни рамзгузошташуда – додаҳое, 
 ки пас аз татбиқи криптосистема ба даст меояд. (одатан -
 бо истифода ягон калид). 
 Калид - ин параметри рамз (шифр) мебошад, ки 
 барои рамзгузорӣ ва рамзкушоии итилоот истифода 
 бурда мешавад. 
 Рамз (Шифр, криптосистема) — системаи 
 (семейство) табдилдиҳии матни кушод ба матни 
 рамзгузошташуда. 
 Рамзгузорӣ (Шифрования) — ҷараёни татбиқи 
 табдилдиҳии криптографии матни кушод дар асоси 
 алгоритм ва калид, ки дар натиҷа матни рамзгузошташуда
 ба вуҷуд меояд. 
 Рамзкушоӣ (Расшифровывания) — ҷараёни татбиқи 
 табдилдиҳии криптографӣ, ки матни рамзгузоштаро ба 
 матни ошкор табдил медиҳад. 
 Рамзи ассиметрӣ (Асимметричный шифр) - рамзи 
 ду калида ё рамзи бо калиди кушода, рамзест, ки дорои ду
 калид, калиди рамзгузорӣ ва калиди рамзкушоӣ мебошад.
 Барои чунин намуди рамзгузорӣ бо донистани калиди 
 рамзгузорӣ наметавон матнро рамзкушоӣ кард ва баръакс.
 Калиди кушод - яке аз ду калидҳои криптографии 
 ассиметрӣ, ки ба ҳар ду тараф дастрас аст ва ё дар шабака
 ба таври озодона паҳн карда мешавад. 
 Калиди махфӣ - яке аз ду калидҳои криптографии 
 ассиметрӣ, ки махфӣ нигоҳ дошта мешавад. 
 Криптоаналитик — олиме, ки методҳои 
 криптографиро сохта ва истифода мекунад. 
 Илме, ки бо ҳифзи иттилоот машғул аст, 
 криптология ном дорад. 
 Криптология аз ду калимаи юнонӣ гирифта шуда, 
 маънояш сryptos- махфӣ, logos-илм мебошад. 
 Криптология ба ду самт ҷудо мешавад: 
  криптография; 
  криптоанализ. 
 Криптография – ҷустуҷӯ ва тадқиқи усулҳои 
 математикии табдилдиҳии иттилоотро меомӯзад. 
 Криптоанализ — илмест, ки методҳои математикии 
 халалдоркунии конфиденсиалӣ ва ягонагии иттилоотро 
 барои рамзкушоӣ кардан истифода мебарад. 
 Алифбо гуфта, маҷмӯи ба тартибоварда шудаи 
 элементҳои алифборо меноманд. Бо сифати алифбоҳо дар
 системаҳои иттилооти ҳозиразамон чунин алифбоҳоро 
 истифода мебаранд: 
  русӣ -ҳарф; 
  лотинӣ -ҳарф; 
  бинарӣ,; 
 ва ғайра 
 Ҳамлаҳои криптографӣ – кӯшиши криптоанализ, 
 ки ба системаи ҳимоякардашуда мубодилаи итилооти ба 
 мақсади ба даст овардани итилоот равона карда шудааст.
 Ҳамлаи бо мувафақият анҷомёфтаи криптоанализро 
 шикастан (взлом) ё ошкоркунӣ меноманд. 
 Дешифрование (дешифровка) — ҷараёни 
 табдилдиҳии ё кушодани матни рамзгузошташуда бе 
 донистани калид дар асоси маълумотҳои маъмули 
 рамзгузорӣ. 
 Ҳэш-функсия — функсияест, ки пайғомҳои 
 дарозиашон гуногунро ба пайғомҳои дарозиашон 
 қайдкардашуда табдил медиҳанд. 
 Рамзи Атбаш (калимаи яҳудӣ. ש "בתא ) яке аз 
 рамзҳои кадимтарини яҳудиҳо мебошад, ки тақрибан 
 асри VI – и п.м. аз тарафи Ессея (иудейкой сектой 
 повтанцев) сохта шудааст. Усули рамзгузории методи 
 мазкур чунин аст: Ҳарфи аввали алифбо бо ҳарфи охир,
 ҳарфи дуюм ба ҳарфи пеш аз охир ва ҳоказо иваз карда
 мешавад. Бо суханҳои дигар, дар як сатр алифбое, ки 
 тавассути он пайғом навишта мешавад, менависем. Дар 
 сатри дуюм бошад, алифборо ба таври баръакс тавре 
 менависем, ки ҳар як ҳарф дар зери ҳарфи дигар қарор
 гирад. Пас, барои рамзгузорӣ ҳар як ҳарфи матни 
 пайғомро мувофиқан бо ҳарфи сатри дуюм иваз мекунем.
 Масалан, тарзи навиштани алифбои лотинӣ чунин аст. 
 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
 Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
 Мисол: 
 Матни ошкор:WORD. 
 Матни рамзгузошташуда: DMJW 
 Бо суханҳои дигар агар сар карда аз як ҳарфҳои 
 алифборо рақамгузорӣ кунем. Он гоҳ усули рамзгузории
 методи мазкурро метавон чунин баён кард: Ҳарфи i – юми
 алифбо бо ҳарфи (n+-i) mod n иваз карда мешавад. Дар
 ин ҷо i –рақами тартибии ҳарф дар алифбо буда, n – 
 миқдори ҳарфҳои алифбо мебошад. 
 Калимаи Атбаш аз чор ҳарф: Алеф, Тае, Бет ва Шит
 гирифта шудааст, ки ҳарфи якум, охирон, ҳарфи дуюм, 
 ҳарфи пеш аз охирони алифбои Рими Қадим мебошанд. 
 Барномаи рамзгузории методи Атбаш дар забони С++ 
 барои ҳарфҳои калони алифбои лотинӣ. 
 #include <iostream> 
 #include <string> 
 using namespace std; 
 int main(int argc, char** argv) { 
 string S; 
 cin>>S; 
 for (int i =; i <= S.size(); i++){ 
 int T = (int)S[i] -; 
 T = - T; 
 S[i] = (char)T +; 
 } 
 cout<<S; 
 return; 
 Дар криптография скитал (ё сцитал аз калимаи 
 юнонии σκυτάλη- шашпар, гурз, амуд, чӯбдасти махсуси
 идора кардани ҳаракати кӯча) ҳамчун рамзи Спартаи 
 Қадим маълум буда, барои иҷрои рамзгузории 
 ҷойивазкуни истифода бурда мешавад. 
 Асбоби мазкур аз силиндри борик ва 
 тасмачаи пергаментие (пӯсти хайвонот, ки ба таври махсус
 кор карда шуда, то пайдоиши коғаз барои хатнависӣ 
 истифода мешуд), ки дар атрофи силиндр ба сурати 
 спиралӣ печонида шудааст, иборат буда, ҳангоми 
 рамзгузорӣ (рамзкушоӣ) пайғоми лозимӣ дар он навишта
 мешавад. Юнониҳои қадим ва спартаҳо асбоби мазкурро 
 баъзан дар вақти ҷангҳо истифода мебурданд. 
 Рамзгузорӣ 
 Барои рамзгузорӣ аввал тасмачаи пергамен-тиро 
 дар атрофи найча(силинд) ба сурати спиралӣ печонида,
 сипас, матни лозимиро дар болои он ба шакли уфуқӣ 
 менависем. Пас аз навиштани матни лозимӣ тасмачаро 
 мекушоем, ки дар он матни рамзгузошташуда пайдо 
 мешавад. Барои рамзкушоӣ найчаи андозааш ба андозаи 
 найчае, ки тавассути он рамзгузорӣ карда будем, лозим
 меояд. 
 Ҳангоми рамзгузорӣ ду параметри асосӣ нақши 
 (роли) калон мебозанд: миқдори ҳарфҳои дар як сатр 
 (силинд) навишташуда ба шакли уфуқӣ – n ва миқдори 
 символҳои дар як даври силинд навишташуда – m. 
 Масалан, бигузор силиндре, ки дар як даври он навиштани
 рамз ва ба дарозии он навиштани рамз имкон дорад,
 дода шуда бошад. Ҳангоми рамзгузории пайғоми “Ин 
 рамзи Спартаи қадим аст!” шакли «И_ _ 
 енсқб_паорадшариамтмдза _!ним» - ро мегирад. 
 Ба таври схематикӣ ин амал чуниин шакл дорад: 
 Тавре ки аз ин мисол дида мешавад, ҳангоми 
 рамзгузорӣ ҷадвале сохта мешавад, ки дорои сатр ва 
 сутун мебошад. Аз баски ҳангоми мубодилаи итилоот, 
 итилооте мавҷуданд, ки дорои дарозиҳои гуногун 
 мебошанд, бинобар ин, бо назардошти ҳар ду тарафҳо яке
 аз ин параметрҳо, яъне миқдори сатрҳо ё сутунҳо интихоб
 карда мешавад (одатан m). Параметри дуюм бошад, 
 тавассути формулаи ҳисоб карда мешавад. 
 Дар ин ҷо миқдори символҳои мактуб ва - қисми 
 [ ] 
 бутуни адади х мебошад. 
 Алгоритми рамзгузорӣ 
 ) Ибтидо матн ба қисмҳои иборат аз n – символ ҷудо
 карда мешавад; 
 ) Дар ҳар як сатри ҷадвал n символ (як қисми 
 ҷудокардашуда) навишта мешавад; 
 ) Пас аз навиштани ҳамаи символҳо, агар ягон катакча
 холӣ монад, он бо ҷойи холӣ ё ягон символи дигар
 пур карда мешавад. 
 ) Агар ҷадвал (тасмача) пеш аз баохиррасии пайғом 
 пур шавад, маънои онро дорад, ки андозаҳо нодуруст
 интихоб карда шудаанд. 
 ) Дар охир матни дар ҷадвал навишташударо ба 
 намуди амудӣ пайиҳам навишта, пайғоми 
 рамзгузошташуда ҳосил мекунем. 
 Рамзкушоӣ 
 Барои рамзкушоӣ силиндри диаметраш ба силиндре, 
 ки тавассути он пайғом рамзгузорӣ карда шуда буд, лозим
 аст, ки дар он тасмача ба сурати спиралӣ барои 
 рамзкушоӣ печонида мешавад. Бартарияти рамзи мазкур 
 аз он иборат аст, ки ҳангоми рамзгузорӣ хатогӣ кам ба
 амал меояд. Аммо чунин рамзро метавон зуд шикаст. 
 Масалан, усули рамзшиканиии рамзи мазкурро Эдгар 
 Аллан По дар кори худ «A Few Words on Secret Writing»
 пешниҳод кардааст. Моҳияти ин усул аз он иборат аст, ки
 ҳангоми надонистани диаметри силиндр конуси 
 диаметраш тағйирёбанда гирифта мешавад. Пас аз ин 
 лента дар атрофи он печонида шуда, ба ин тараф ва ба он
 тарафи конус то барқарор кардани пайғом ҳаракат дода
 шуда, пайғом рамзкушоӣ карда мешавад. 
 Алгоритми рамзкушоӣ 
 Талаб карда мешавад, ки матни «И_ 
 _енсқб_паорадшариамтмдза_!ним.» рамзкушоӣ карда 
 шавад. 
 Барои рамзкушоӣ ҷадвали дорои сатр ва сутунро
 истифода мебарем. Барои рамзкушоӣ матн сутун ба сутун
 навишта мешавад. Илова бар ин, дар ҳар як сатр символ
 ва дар ҳар як сутун символ навиштан лозим аст. 
 ) 
 http://www.eapoe.org/works/essays/fwsw.htm 
 ) http://knowingpoe.thinkport.org/classconn/Secret_Writing_Overview.pdf
 ) Бо назардошти ҷои холӣ (пробел) матни додашуда ба
 қисматҳое, ки аз символ иборатанд, ҷудо карда 
 мешавад. «И_ _ н сқб_ паор адша риам тмдз а_!н им. »
 ) Ибтидо сутуни якумро барқарор мекунем, барои ин 
 чор ҳарфи гурӯҳи аввалро дар сутуни якум менависем:
 И * * * * * * * * 
 _ * * * * * * * * 
 _ * * * * * * * * 
 Е * * * * * * * * 
 ) Дар сутуни дуюм низ символи гурӯҳи баъдиро 
 менависем: 
 И н * * * * * * 
 _ с * * * * * * 
 _ қ * * * * * * 
 Е б * * * * * * 
 ) Ҳамин тариқ ҳамаи гурӯҳҳоро дар ҷадвал навишта 
 мешаванд: 
 ) Баъди навиштан матнро сатр ба сатр мехонем, ки “Ин
 рамзи Спартаи қадим аст!” ҳосил мешавад. 
 Барномаи рамзгузории тавассути Скитал дар забони С#
 using System; 
 namespace SCITAL 
 { 
 class Program 
 { 
 static void Main(string[] args) { 
 string skiText = Console.ReadLine(); 
 int stolbci =, count =; 
 string[] mass = skiText.Split(" ".ToCharArray(),
 StringSplitOptions.RemoveEmptyEntries); //Сатрро 
 ба калимаҳо ҷудо карда, ҷойҳои холиро нест 
 мекунем. 
 skiText = null; 
 foreach (string r in mass) 
 skiText += r; //Сатри бе ҷойи холиро ба 
 даст меорем 
 char[] rezArray = new char[skiText.Length]; 
 //Барои таҳия намудани рамзи Скитал массиви 
 типи char-ро месозем 
 for (int i =; i < skiText.Length; i++) { 
 if (skiText.Length / i == ){ 
 stolbci = i; //миқдори сатрҳо дар рамз 
 ба таври пешфарз баробар аст ба 
 break; 
 } 
 } 
 for (int i =; i < stolbci; i++){ 
 int plus = i; 
 { 
 for (int j =; j <; j++) { 
 rezArray[count] += skiText[plus]; //Аз 
 рӯӣ ҳарфҳо сатр месозем 
 plus += stolbci; 
 count++; 
 } 
 } 
 } 
 for (int i =; i < rezArray.Length; i++) 
 Console.Write(rezArray[i]); //Хориҷкунии 
 натиҷа 
 Console.WriteLine(); 
 Console.ReadKey(); 
 } 
 } 
 } 
 Диски Энея – асбоби криптографӣ барои ҳифзи 
 итилоот мебошад, дар асри IV –и п.м. аз
 тарафи Энея Тактик (юнонӣ. Αινείας ο 
 Τακτικός; а. IV п.м.) сипаҳсолор ва 
 сиёстмадори Юнони Қадим сохта 
 шудааст. Асбоби мазкур дискест, ки 
 диаметри он ба см ва ғафсиаш ба - см баробар буда,
 ба миқдори алифбо сурохӣ дорад. Ҳар як сурохи ба як
 ҳарф мувофиқ гузошта мешавад. Дар маркази диск 
 ғалтаке мавҷуд аст, ки дар он ришта печонида шудааст.
 http://www.xlegio.ru/sources/aeneas-tacticus/st-military-theorist-of-
 antiquity.html 
 Рамзгузорӣ 
 Механизми рамзгузорӣ хеле сода мебошад. Барои 
 рамзгузории пайғом пайдарпай риштаро ба сурохие, ки 
 ҳарфро ифода мекунад мегузаронем. Дар натиҷа диск ва
 ришта пайғоми рамзгузошташударо ифода мекунанд. 
 Рамзкушоӣ 
 Барои рамзкушоӣ риштаро пайдарпай аз ҳар як 
 сурохи бароварда, ҳарфи мувофиқи онро менависем. Пас
 аз навиштани ҳамаи ҳарфҳо матнро аз рост ба чап 
 мехонем. 
 Дар ин навъ асбоби ҳимояи итилоот норасоии хеле
 зиёд мавҷуд мебошад. Матни рамзгузошташуда, барои 
 ҳама дастрас буда, ҳар касе, ки дискро ба даст меорад,
 метавонад пайғомро хонад, агар моҳияти ин методро 
 сарфаҳм равад. 
 Рамз ё квадрати Полибия (англ. Polybius square) аз
 тарафи корманди давлатӣ, сипаҳсолор ва 
 таърихнигори Юнони Қадим Полибий 
 (асри II п.м.) сохта шудааст. Барои 
 рамзгузории итилооти муҳим ҷадвали 
 дорои n сатр ва m сутун сохта мешавад, ки сатрҳо ва 
 сутунҳои он сар карда аз рақамгузорӣ карда мешаванд.
 Дар ин ҷо параметрҳои n ва m тавре интихоб карда 
 Юнонӣ. Πολύβιος, лот. Polybius; тақрибан соли п.м.
 дар Мегалопол, Аркадия тавал-луд шуда, дар соли. вафот кардааст.
 мешаванд, ки ҳосили зарбашон тақрибан ба миқдори 
 ҳарфҳои алифбо баробар шавад. Пас аз сохтани ҷадвал дар
 ҳар як катакча яктогӣ ҳарфҳои алифбо навишта 
 мешаванд. Дар натиҷа ҳар як ҳарф ба ҷуфти рақамҳо, ки
 нишондиҳандаи сатр ва сутун мебошанд, мувофиқ меояд.
 Ҳангоми дар ҷадвал пурра нағунҷидани ҳамаи ҳарфҳои 
 алифбо дар баъзе катакчаҳо дутогӣ ҳарф низ навиштан 
 мумкин аст. Аммо агар ягон катакча холӣ монад, он бо ҷои
 холӣ ва ё ягон символи дигар пур карда мешавад. Ба 
 сифати намуна якчанд алифборо дида мебароем. 
 Алифбои лотинӣ 
 Тавре ки медонем алифбои ҳозираи лотинӣ дорои 
 ҳарф мебошад. Бинобар ин, ҷадвали дорои сатр ва 
 сутун варианти наздиктарин мебошад. (чунки *= адади
 наздиктарин ба аст). Азбаски ҳарфҳои I ва J бо ҳам
 монанд мебошанд, аз ин рӯ онҳоро дар як катакча 
 менависем. Дар натиҷа ҷадвал ба сурати зерин ҳосил 
 мешавад: 
 A B C D E 
 F G H I/J K 
 L M N O P 
 Q R S T U 
 V W X Y Z 
 Алифбои криллӣ 
 Ғояи (Идеяи) сохтани ҷадвалро барои алифбои 
 криллӣ дида мебароем. Аз баски миқдори ҳарфҳои 
 алифбои криллӣ ба баробар аст, бинобар ин, ҷадвали
 дорои сатр ва сутун месозем, чунки наздиктарин
 адад ба аст: 
 А Б В Г Д Е 
 Ё Ж З И Й К 
 Л М Н О П Р 
 С Т У Ф Х Ц 
 Ч Ш Щ Ъ Ы Ь 
 Э Ю Я - - - 
 Илова бар ин, метавон бо усули дигар барои 
 алифбои криллӣ ҷадвал сохт. Дар ин усул ҳар як ҷуфти
 ҳарфҳои Е ва Э, И ва Й, Р ва С, Ф ва Х, Ш ва Щ – ро 
 мувофиқан дар як катакча навишта ҳарфҳои Ы, Ь ва Ё –ро
 сарфи назар мекунем. Дар натиҷа ҷадвали зерин ҳосил 
 мегардад: 
 А Б В Г Д 
 Е/Э Ж З И/Й К 
 Л М Н О П 
 Р/С Т У Ф/Х Ц 
 Ч Ш/ Щ Ы Ю Я 
 Ба ҳамин монанд метавон барои дилхоҳ алифбо 
 квадрат сохт. 
 Пас аз сохтани квадрат қадами дуввум тавассути он
 ягон итилоотро рамзгузорӣ карда мешавад. Барои 
 рамзгузорӣ намудан якчанд усул бо истифода аз квадрати
 Полибия мавҷуд аст. Ҳоло сето маъмултарини онҳоро 
 дида мебароем. 
 Усули 
 Талаб карда мешавад, ки матни «DONISHVAR» 
 рамзгузорӣ карда шавад: 
 Барои рамзгузорӣ намудани матни додашуда аз 
 ҷадвали Полибия, ки қаблан барои алифбои лотинӣ сохта
 будем, истифода мебарем. Қоидаи рамзгузорӣ чунин аст:
 агар матни додашуда дар сатри охири ҷадвал ҷойгир 
 бошад, он гоҳ ҳарфи сатри аввали ҷадвал, ки бо ҳарфи
 додашуда дар як сутун мехобад гирифта мешавад. Дар 
 ҳолати акс, ҳарфе, ки дар катакчаи поёнии ҳарфи 
 додашуда ҷойгир аст гирифта мешавад. 
 Ҷадвали координатаҳо 
 Ҳарфҳои матни ошкор: D O N I S H V A R 
 Ҳарфҳои мати I T S O X N A F W 
 рамзгузошташуда: 
 Ҳамин тариқ, пас аз рамзгузорӣ ҳосил мекунем 
 “ITSOXNAFW”. 
 Барномаи рамзгузории усули якуми квадрати Полибия 
 дар java 
 public class Polibiy { 
 public byte[] encrypt(String text, char[][] matr) {
 byte[] ans = new byte[text.length() * ]; 
 for (int c =; c < text.length(); c++) { 
 for (int i =; i < matr.length; i++) { 
 for (int j =; j < matr[i].length; j++) { 
 if (matr[i][j] == text.charAt(c)) { 
 ans[c * ] = (byte)i; 
 ans[c * + ] = (byte)j; 
 } 
 } 
 } 
 } 
 return ans; 
 } 
 public String decrypt(byte[] text, char[][] matr){
 StringBuilder s = new StringBuilder(); 
 for (int i =; i < text.length /; i++) { 
 s.append(matr[text[i * ]][text[i * + ]]);
 } 
 return s.toString(); 
 } 
 } 
 Усули 
 ) Ибтидо ҷадвали дорои се сатр ва n сутун месозем. Дар
 ин ҷо n миқдори ҳарфҳои матни ошкорро ифода 
 мекунад. Пас аз сохтани ҷадвал дар сатри якум 
 ҳарфҳои матни ошкор, дар сатри дуюм координатаҳои
 уфуқии мувофиқи ҳар як ҳарф ва дар сатри сеюм 
 координатаҳои амудии мувофиқи ҳар як ҳарф 
 навишта мешаванд. Дар натиҷа ҷадвали зерин ҳосил 
 мешавад: 
 Ҷадвали координатаҳо 
 Ҳарфҳои матни D O N I S H V A R 
 ошкор: 
 Координатаи уфуқӣ: 
 Координатаҳои 
 амудӣ: 
 менависем, ки шакли зеринро мегиранд: 
 ( ) 
 ҳарф табдил медиҳем: 
 Ҷадвали координатаҳо 
 Координатаи уфуқӣ: 
 Координатаҳои амудӣ: 
 Ҳарфҳо: T S N A B N R Q 
 Ҳамин тариқ матни додашуда рамзгузорӣ карда 
 мешавад, ки шакли “TSNABNRQ” –ро дорад. 
 Барномаи рамзгузории усули дуюми квадрати 
 Полибия дар забони С++ 
 void __fastcall TForm::ButtonClick(TObject *Sender)
 { 
 int v[], v[]; 
 bool y = false; 
 AnsiString S, S; 
 char w[][]; 
 int i, j, k, len, n, m; 
 char c = ’A’ -; 
 StringGrid->ColCount =; 
 StringGrid->RowCount =; 
 StringGrid->FixedCols =; 
 StringGrid->FixedRows =; 
 StringGrid->DefaultColWidth =; 
 for (i =; i<; i++){ 
 for (j =; j<; j++){ 
 if (c == ’I’) 
 c +=; 
 else 
 c++; 
 w[i][j] = c; 
 StringGrid->Cells[j + ][i + ] = 
 (AnsiString)w[i][j]; 
 } 
 StringGrid->Cells[i + ][] = IntToStr(i); 
 StringGrid->Cells[][i + ] = IntToStr(i); 
 } 
 S = Memo->Text; 
 S = S.Trim(); 
 S = S; 
 len = S.Length(); 
 for (k =; k <= len; k++){ 
 y = true; 
 for (int i =; i<; i++) 
 for (int j =; j<; j++) 
 if (S[k] == w[i][j]){ 
 v[k] = j; 
 v[k] = i; 
 y = false; 
 break; 
 } 
 if (y){ 
 v[k] =; 
 v[k] =; 
 } 
 } 
 for (i =; i <= len; i++){ 
 S[i] = w[v[i]][v[i]]; 
 ListBox->Items->Add(IntToStr(v[i]) + " " + IntToStr(v[i]));
 } 
 Memo->Text = S; 
 } 
 Усули 
 Ин усул нисбат ба ду усули дар боло овардашуда 
 душвортар мебошад. Алгоритми ин усул чунин аст: 
 )Ибтидо шифротексти аввала – ро ҳосил карда, дар 
 ягон ҷо бе ҷои холӣ менависем. 
 )Пайдарпайии рақамҳои ҳосилшударо ба таври даврӣ 
 як мавқеъ ба тарафи чап мекӯчонем (дилхоҳ миқдори
 қадамҳои ғайриҷуфт): 
 ) Пайдарпайии ҳосилшударо ба гурӯҳҳои дутогӣ тақсим
 мекунем: 
 ) Координатаҳои ҳосилшударо аз рӯйи ҷадвал ба ҳарф 
 табдил медиҳем, ки дар натиҷа матни рамзгузошташуда
 ба сурати “OOCFLHIET” пайдо мешавад. 
 Ҷадвали координатаҳо 
 Координатаи уфуқӣ: 
 Координатаҳои амудӣ: 
 Ҳарфҳо: O O C F L H I E T 
 Барномаи рамзгузории усули сеюми квадрати 
 Полибия дар забони С++ 
 void __fastcall TForm::ButtonClick(TObject *Sender)
 { 
 vector <int> vec; 
 int v[], v[]; 
 bool y = false; 
 AnsiString S, S; 
 char w[][]; 
 int i, j, k, len, n, m; 
 char c = ’A’ -; 
 StringGrid->ColCount =; 
 StringGrid->RowCount =; 
 StringGrid->FixedCols =; 
 StringGrid->FixedRows =; 
 StringGrid->DefaultColWidth =; 
 for (i =; i<; i++){ 
 for (j =; j<; j++){ 
 if (c == ’I’) 
 c +=; 
 else 
 c++; 
 w[i][j] = c; 
 StringGrid->Cells[j + ][i + ] = (AnsiString)w[i][j];
 } 
 StringGrid->Cells[i + ][] = IntToStr(i + );
 StringGrid->Cells[][i + ] = IntToStr(i + );
 } 
 S = Memo->Text; 
 S = S.Trim(); 
 S = S; 
 len = S.Length(); 
 for (k =; k <= len; k++){ 
 y = true; 
 for (int i =; i<; i++) 
 for (int j =; j<; j++) 
 if (S[k] == w[i][j]){ 
 v[k] = j; 
 v[k] = i; 
 y = false; 
 break; 
 } 
 if (y){ 
 v[k] =; 
 v[k] =; 
 } 
 } 
 for (i =; i <= len; i++) 
 vec.push_back(v[i] + ); 
 for (i =; i <= len; i++) 
 vec.push_back(v[i] + ); 
 int h = vec[]; 
 for (i =; i<vec.size() -; i++){ 
 vec[i] = vec[i + ]; 
 } 
 vec[vec.size() - ] = h; 
 for (i =, k =; i<vec.size() -; i += ) {
 v[k] = vec[i]; 
 v[k] = vec[i + ]; 
 k++; 
 } 
 for (i =; i <= len; i++){ 
 S[i] = w[v[i] - ][v[i] - ]; 
 ListBox->Items->Add(IntToStr(v[i]) + " " +
 IntToStr(v[i])); } 
 Memo->Text = S; 
 } 
 Қайд кардан ба маврид аст, ки барои квадрати 
 Полибия инчунин метавон калид низ истифода кард. Дар
 ибтидо ҳарфҳои калид бетакроршавии ҳарфҳо дар ҷадвал
 навишта шуда, дар катакчаҳои боқимонда ҳарфҳои дигари
 алифбо, ки дар таркиби калид мавҷуд нестанд, навишта
 мешаванд. 
 Мисол. Бо истифода аз калиди «DAFTAR» матни 
 «DONISHVAR» рамзгузорӣ карда шавад. 
 Ҳал. Барои рамзгузорӣ намудан аз алгоритми зерин
 истифода мебарем: 
 ) Ибтидо квадрат месозем. Барои сохтани квадрат аввал
 ҳарфҳои калид ва сипас ҳарфҳои боқимондаи 
 алифборо дар квадрат пайдарпай менависем: 
 D A F T R 
 B C E G H 
 I K L M N 
 O P Q S U 
 V W X Y Z 
 ) Аз рӯӣ квадрати сохтаамон координатаҳои ҳарфҳоро
 менависем: 
 Ҷадвали координатаҳо 
 Ҳарфҳои матни ошкор: D O N I S H V A R 
 Координатаҳои уфуқӣ: 
 Координатаҳои амудӣ: 
 ) Координатаҳои ҳосилшударо аз рӯйи сатр навишта, 
 дутогӣ ба гурӯҳҳо тақсим мекунем: 
 Координатаҳои ҳосилшударо аз рӯйи ҷадвал ба 
 ҳарф табдил медиҳем, ки дар натиҷа матни 
 рамзгузошташуда ба сурати “DRYBRMQWD” пайдо 
 мешавад. 
 Ҷадвали координатаҳо 
 Координатаҳои уфуқӣ: 
 Координатаҳои амудӣ: 
 Ҳарфҳо: D R Y B R M Q W D 
 Рамзи Сезар (рамзи лағжиш ё коди Сезар) яке аз 
 методҳои сода ва маъмули рамзгузорӣ 
 мебошад, ки тақрибан асри I –и п.м. аз 
 тарафи ходими давлатӣ, сиёсатмадор, 
 сипаҳсолор, нависанда, консули (номи 
 шахсони олимартабаи ҳукумати дар Рими Қадим ва 
 Франсия) Рими Қадим Гай Юлий Сезар (талафузи 
 дурусти ин калима ба Қайсар наздик мебошад; лот. Gaius
 Iulius Caesar [ˈgaːiʊs ˈjuːliʊs ˈkae sar]; ё июли соли 
 п.м. — марти соли п.м.) сохта шудааст. 
 Рамзи мазкур – рамзи ҷойгузорӣ (подстановка) 
 буда, дар он ҳар як ҳарфи матни ошкор бо ҳарфе, ки дар
 алифбо якчанд мавқеъ дар тарафи рост ё чапи он ҷойгир
 аст, иваз карда мешавад. Масалан, дар рамзи се лағжиш
 ба тарафи чап ҳарфи A бо ҳарфи D, ҳарфи B бо ҳарфи E,
 ҳарфи C бо ҳарфи F ва ҳоказо иваз карда мешаванд. 
 Модели математикӣ 
 Агар сар карда аз ҳарфҳои алифборо рақамгузорӣ
 кунем, он гоҳ барои рамзгузорӣ ва рамзкушоӣ мувофиқан
 аз формулаҳои зерин истифода бурда мешавад: 
 Дар ин ҷо рақами рамзи матни кушод(қимати ададии 
 ҳарфи матни кушод), рақами рамзи (символи) матни 
 рамзгузошташуда, миқдори ҳарфҳои алифбо ва 
 калид мебошад. Қайд мекунем, ки параметри 
 https://en.wikipedia.org/wiki/Caesar_cipher 
 https://en.wikipedia.org/wiki/Substitution_cipher 
 миқдори лағжиш ба чап ва ё ростро ифода мекунад. Тавре
 ки аз асари “зиндагии дувоздаҳ шоҳ”-и Гай Светоний 
 Транквилл маълум аст, Сезар дар ибтидо калиди -ро 
 истифода кардаааст. 
 Мисол. Бо истифода аз калиди матни 
 “MAKTAB” рамзгузорӣ карда шавад. 
 Ҳал. Барои рамзгузорӣ намудани матни додашуда, 
 метавон аз усулҳои зиёде истифода кард, аммо аз ҳама
 усули содатарин он аст, ки ҷадвали дорои (миқдори
 ҳарфҳои алифбои лотинӣ) сутун ва ду сатр сохта шавад.
 Дар сатри якуми ин ҷадвал ҳарфҳои алифбои 
 лотиниро бо тартиб аз рӯйи алифбо менависем. Дар сатри
 дуюм бошад, ҳарфҳои алифборои пас аз лағжонидани 
 даврӣ се мавқеъба тарафи рост менависем: 
 Пас аз сохтани ҷадвал барои рамзгузорӣ намудани
 матни додашудаи “MAKTAB” ҳар як ҳарфи онро ба ҳарфи 
 дар сатри дуюм навишташуда мувофиқан иваз мекунем. 
 Аз баски дар зери ҳарфи М ҳарфи J ҷойгир аст, бинобар
 ин, онро бо J ва ҳарфи А –ро бо Х ва ҳоказо иваз мекунем.
 Дар натиҷа, пайғоми рамзгузошташуда шакли “JXHQXY” 
 - ро мегирад. 
 Барои рамзкушоӣ бошад, баръакси амал карда 
 мешавад, яъне аз сатри дуюм ба якум. 
 Барномаи рамзи Сезар дар забони С++ барои 
 алифбои калони лотинӣ 
 #include <iostream> 
 #include <string> 
 using namespace std; 
 int main(int argc, char** argv) { 
 string S; 
 int k=, i,n,T; 
 cout<<"S=";cin>>S; 
 cout<<"k=";cin>>k; 
 n=S.length(); 
 for (int i =; i <n; i++){ 
 T = (int)S[i] + k; 
 if (T>) 
 T = T -; 
 S[i] = (char)T; 
 } 
 cout<<S; 
 return; 
 } 
 Шарқи наздик 
 Тавре ки қайд кардем марҳилаи дуюми рамзгузорӣ 
 дар мамолики Шарқи наздик ба вуҷуд омада, рушту 
 густариш ёфтаст. Бинобар ин дар ин ҷо хизмати якчанд
 олимони машриқро меорем. 
 Абу Абдураҳмон ал –Халил ибни Аҳмад ал- 
 Фараҳидӣ 
 Ал-Фараҳидӣ соли дар сарзамини ҳозира Омон
 ба дунё омадааст. Соли дар Басра (Ироқ)
 вафот кардааст. Дар алифбои арабӣ ҳамза ва
 ҳаракатро дохил намуда, хурдтарин воҳиди 
 овоз ҳарфро муқаррар намуд. Ӯ асаре бо номи
 “Китоб-ал-муаммо” навишт, ки дар он доир ба методҳои 
 криптографӣ ҳарф меравад. Ал–Фараҳидӣ нахустин шуда бо
 имконияти истифодаи ҷумлаҳои стандартии матни ошкор 
 барои рамзгузории матнӣ таваҷҷуҳ кард. 
 Дар асоси методи рамзкушоии сохтаи худ китоби 
 “Китоб ал-Муаммо” – ро навишт. Боре аз Ал-Фараҳидӣ 
 талаб карда шуд, ки мактуби императори Юнонро, ки бо
 забони юнонӣ навишта шуда буд рамзкушоӣ кунад. Ӯ 
 методи рамзкушоии худро чунин маънидод кард: 
 Ман ба худ гуфтам, ки мактуб бояд бо ибораи “Ба номи
 Худо” ё бо ин монанд оғоз шавад. Сипас, дар асоси ин
 калима матнро рамзкушоӣ кардам, ки ҳаммааш дуруст 
 баромад. 
 https://en.wikipedia.org/wiki/Al-Khalil_ibn_Ahmad_al-Farahidi
 ) Reuschel W. Al-Halil Ibn Ahmad, der Lebrer Slbawaihs, als Grammatiker.
 Berlin,. 
 ) Ryding K. C. Early Medieval Arabic: Studies on Al-Khalil ibn Ahmad.
 Georgetown,. 
 Ин метод солҳои - дар Ҷанги дуюми ҷаҳони 
 барои шикастани комуникатсияи олмониҳо истифода 
 шудааст. 
 Абӯ Юсуф Яъқуб ал-Киндӣ 
 Ал-Киндӣ тақрибан соли дар шаҳри Куфа ё Басра 
 таваллуд шудааст. Ал-Киндӣ муаллифи асарҳои 
 зиёде оиди мантиқ, этика, математика, 
 криптография, астрономия, тиб, метеорология,
 оптика ва мусиқӣ мебошад. Дар ғарби Европа 
 бо номи Alkindus машҳур аст. Соли дар 
 Бағдод вафот кардааст. 
 Қайд кардан ба маврид аст, ки асари “Китоб ал- 
 Муаммо”-и Фараҳидӣ то замони мо омада нарасидааст, 
 танҳо олимони дигар дар бораи он ёд кардаанд. Дар асоси
 асари мазкур Абу Юсуф Яъқуб ибни Исҳоқ ибни Собеъ ал
 Киндӣ асари бо номи “Рисола оиди хондани мактубҳои 
 рамзгузошташуда(О дешифровке криптографических 
 сообщений)” асари боарзише навишт. 
 https://en.wikipedia.org/wiki/History_of_cryptography
 Саҳифаи нахустини дастнависи асари ал-Киндӣ 
 Дар методҳои пешниҳод кардаи Халил ибни Аҳмад 
 навгониҳои зиёде мавҷуд буданд, аз ҷумла истифодаи 
 ҷойивазкунӣ ва комбинатсияи калимаҳои гуногун. Ҳамаи
 навгониҳо ва инқилобҳои системаҳои криптографии 
 пешниҳодкардаи Ал-Киндиро дар ду ҷумлаи зерин 
 меорем. 
 “...яке аз усулҳои хондани матни рамзгузошташуда 
 (агар мо донем, ки дар кадом забон навишта шудааст) ин
 гирифтани матни ошкоре бо андозаи ҳамон мактуб ё 
 тақрибан ба он баробар (дар ҳамон забон) ва ҳисоб 
 намудани миқдори такроршавии ҳар як ҳарф мебошад. 
 Ҳарфи аз ҳама зиёд такроршударо “якум”, ҳарфи дуюм 
 зиёдтар такроршударо “дуюм”, ҳарфе ки басомади он дар
 ҷои сеюм меистад “сеюм” ва ҳоказо номгузорӣ мекунем.
 Ин амалро то ҳисоб намудани миқдори такроршавии 
 ҳамаи ҳарфҳои матни ошкори интихобкардаамон давом 
 медиҳем. 
 Пас аз ин, дар матни рамзгузошташудае, (матни ки
 мо мехоҳем онро хонем) ба ҳамин монанд символҳои онро
 мураттаб мекунем. 
 Ҳарфи (символи) аз ҳама зиёд такроршударо дар 
 матни рамзгузошташуда ёфта онро бо ҳарфи аввали 
 матни ошкоро иваз мекунем ва ҳарфи дуюмине, ки 
 бисёртар такрор шудааст, бо ҳарфи дуюми матни ошкор 
 ва ба ҳамин минвол то охир ҳамаи символҳои матни 
 рамзгузошташударо (матне ки мо мехоҳем рамзкушоӣ 
 кунем) иваз мекунем.” Дар натиҷа мактуб рамзкушоӣ 
 карда мешавад. 
 Дар ҷойи дигар Алкиндӣ чунин мефармояд: 
 “Агар Шумо хоҳед, ки мактуби рамзгузошташудае, ки 
 ба дастатон расидааст хонед, бояд дар аввал миқдори 
 ҳарфҳои мактуб ва сипас миқдори такроршавии ҳар як 
 ҳарфро муайян кунед. Агар созандаи рамз бодиққат буда
 ҳудуди байни калимаҳоро махфӣ карда бошад, пас нахуст
 масъала ёфтани аломати ҷудокунандаи байни калимаҳо 
 мебошад. Ин амал чунин иҷро карда мешавад: 
 Шумо ҳарфҳоро интихоб карда, бо он кор мекунед, 
 бо назардошти пешфарзе ки ҳарфи оянда символи 
 ҷудокунандаи калимаҳо мебошад. Ҳамин тариқ, Шумо 
 ҳамаи номаро бо назардошти комбинатсияи мувофиҳи 
 ҳарфҳо, ки тавассути онҳо калима сохтан мумкин аст, 
 меомӯзед. Агар ин амал бо мувафақият ба анҷом расид, ба
 ҳамин кор ба анҷом мерасад, дар ҳолати акс Шумо бо 
 навбат ҳарфи навбатиро интихоб карда, то пайдо кардани
 аломати ҷудокунандаи калимаҳо, амали қаблиро анҷом 
 медиҳед. 
 Сипас ба Шумо лозим аст, ки ҳарфе, ки дар мактуб
 бисёр такрор шудааст пайдо карда, онро ба намунаи 
 басомади ҳарфҳое, ки дар матн вомехурад муқоиса кунед.
 Вақте муайян мекунед, ки як ҳарф нисбат ба дигар ҳарф
 бисёртар дар мактуб во мехурад, фарз ин “алиф” аст. Баъд
 аз ин фарз мекунем, ки ҳарфи дигаре, ки бисёр такрор
 мешавад “лом” мебошад. Дурустии фарзи Шуморо бояд 
 дохили он, ки дар бисёр матнҳо ҳарфи “лом” баъд аз 
 “алиф” меояд исбот мекунад. 
 Калимаи нахустине, ки дар мактуб тахмин мекунед, 
 бояд аз ду ҳарф иборат бошад. Ин амал ба роҳи баҳодиҳии
 эҳтимолияти калонтарин камбинатсияи ҳарфҳо иҷро 
 карда мешавад. Шумо эквиваленти онҳоро ҳар маротиба 
 ҳангоми дар мактуб рӯй ба рӯй шуданатон менависед. 
 Айнан ин амалҳоро бо калимаҳои дорои се ҳарф иҷро 
 мекунед. Шумо эквиваленти онҳоро ҳар маротиба 
 менависед. Ин амал барои калимаҳои чор ё панҷ ҳарф 
 дошта низ тадбиқ мекунед. Ҳангоми пайдо шудани ягон 
 шубҳа, ҳар маротиба бояд ду ё се ва ё зиёд фарз карда, ҳар
 яки онҳоро қайд кунед, то он замоне, ки дар асоси дигар
 калима онҳо тасдиқ карда мешаванд”. 
 Методи Ал-Киндиро метавон ба таври содда дар 
 алифбои русӣ тадбиқ кард. Барои ин бояд, матни дилхоҳ ё
 ягон матнро гирифта, миқдори такроршавии ҳарфҳоро 
 муайян кард. Дар забони русӣ ҳарфи аз ҳама бештар 
 истифода мешуда аввал – “о” баъд “е” сипас “а” ва ғайра
 мебошад. Сипас, матни пушидаро хонда, дар он басомади
 ҳар як ҳарфро бояд муайян кард. Агар дар матни 
 рамзгузошташуда миқдори такроршавии “ю” аз ҳама 
 бештар бошад, бояд он бо ҳарфи “о” иваз карда шавад.
 Агар ҳарфи дуюм зиёдтар истифодашуда “э” бошад, он 
 бояд бо “е” ва ҳамин тавр то охир бояд корро анҷом дод.
 Методи Ал-Киндӣ ба ҷойи тафтиши калидҳои бешумор 
 матни рамзгузошташуда бо истифодаи таҳлили 
 криптографии ҳарфҳо рамзкушоӣ карда мешавад. 
 Ҷадвали. Ҷадвали басомади ҳарфҳо дар алифбои криллӣ
 Ҳар Басома Ҳар Басома Ҳар Басома Ҳар Басом 
 ф д % ф д % ф д % ф ад % 
 О, Р, Ы, Х, 
 Е, Ё, В, Ь, Ш, 
 А, К, З, Ю, 
 И, М, Г, Э, 
 Н, Д, Б, Щ, 
 Т, П, Ч, Ц, 
 С, У, Й, Ф, 
 Л, Я, Ж, Ъ, 
 Муайянкунии миқдори такроршавии ҳарф 
 масъалаи шикастани рамзҳои якалифбогироо ҳал 
 мекунад. Онро вобаста аз бузургӣ ва характери матн 
 истифода мекунад. Басомади ҳарфҳои баъзе забон 
 наметавонанд ба басомади ҳарфҳои мактуб мувофиқ 
 бошанд. Масалан, дар мактубҳои кутоҳе, ки дар он 
 таъсири атмосфераро дар ҳаракати зебра дар Африко баҳс
 мекунад. «Из-за озоновых дыр от Занзибары до Замбии и
 Заира зебры бегают зигзагами». Агар бо истифодаи 
 алгоритми якалифбогӣ рамзгузорӣ карда шавад, тавассути
 басомади ҳарфҳо рамзкушоии он ғайриимкон аст. Чунки 
 дар ин ҷо ҳарфи “з” нисбат ба нутқи гуфтугӯӣ зиёдтар
 истифода шудааст. Дар матнҳои техникӣ бошад ҳарфи 
 “ф” нисбати дигар ҳарфҳо баъзан зиёдтар истифода 
 мешавад, чунки калимаҳои функсия, дифференсиал, 
 диффузия, коэффитсиент ва ғайра бисёртар истифода 
 мешаванд. 
 Агар пайғоми рамзгузошташуда бо роҳи 
 муайянкунии миқдори такроршавии ҳарфҳо рамзкушои 
 карда нашавад, (агар пайғом хеле кутоҳ бошад) Ал-Киндӣ
 пешниҳод мекунад, ки хислати якҷоя истифодабарии 
 ҳарфҳо ва ё хислати якҷоя истифодабарии ҳарфҳои 
 мушаххас истифода карда шавад. Масалан, биаграммаҳои
 (гурӯҳи аз ду ҳарф) дар забони русӣ 
 бисёристифодашаванда: ет, но, ен, то, на, ра, ли, во
 мебошанд. Статистикаи якҷоя истифодабарии ҳарфҳои 
 садонок ва ҳамсадо хеле муҳим мебошад. Масалан, пеш аз
 ҳарфҳои ь, ы, ъ, и баъди ҳарфи э метавонад, садонок 
 истифода шавад. Пас аз садонок омадани ҳамсадо 
 эҳтимолияти %-ро дорад. Илова бар ин, калимае, ки дар
 ибтидои мактуб навишта мешавад, нақши калон дорад. 
 Масалан, дар мактубҳои бо забони арабӣ навишташуда, 
 дар ибтидо калимаи “Бисмиллаҳир Раҳманир Раҳим” (Ба 
 номӣ Аллоҳи Бахшояндаи Меҳрубон) навишта мешавад. 
 Ал-Киндӣ ҷадвали такроршавии ҳарфҳои алифбои 
 арабиро, ки дар асоси матнҳои саҳифа чунин пешниҳод
 кардааст: 
 Ҳарф Басомад Ҳарф Басомад Ҳарф Басомад Ҳарф Басомад 
 ا ﺭ ﺱ ﺵ — 
 ﻝ ﻉ ﻕ ﺽ — 
 ﻡ ﻑ ﺡ ﺥ — 
 ﻩ ﺕ ﺝ ﺙ 
 ﻭ ﺏ ﺫ ﻁ 
 ﻱ ﻙ ﺹ ﻍ 
 ﻥ ﺩ ﺥ ﻅ 
 Ал-Киндӣ ҳамчун олими нахустини “басомади 
 криптографӣ” ба ҳисоб меравад. То нимаи асри IX дар 
 дунё фақат методҳои криптографии моноалфавитӣ (дар 
 он ҳар як ҳарфи матни ошкор ба ягон ҳарфи матни 
 рамзгузошташуда, якқиммата иваз карда мешавад), 
 маъмул буданд. Математик ва файласуфи араб Ал-Киндӣ 
 дар корҳои худ методи рамзкушои мактубҳои бо чунин 
 усул рамзгузошташударо бо таври комил оварда, инчунин
 ба инкишофи рамзгузорӣ рамзи бисёралифбогӣ таъсири 
 зиёд расонидааст. Дар кишварҳои Аврупо рамзи 
 полиалфавитӣ тақрибан дар асри XV ба вуҷуд омадааст.
 Дастнависи Ал-Киндӣ то замони мо омада 
 нарасидааст. Аммо то замони мо нусхаи он расидааст, аз
 китобхонаи Сулаймонии шаҳри Истанбули Туркия ёфт 
 шудааст. Ин нусха дорои хатогиҳои синтаксисӣ ва мавзӯии
 зиёд мебошад. 
 Шаҳобуддин Абӯ Аббос Аҳмад ибни Али ибни 
 Аҳмад ал – Қалқашандӣ 
 Шаҳобуддин Абӯ Аббос Аҳмад ибни Алӣ ибни Аҳмад ал – 
 Қалқашандӣ соли дар Каир таваллуд шуда, соли 
 дар Иерусалим вафот кардааст. 
 Соли Ал – Қалкашандӣ энсиклопедияи 
 ҷилдаеро навишт, ки ҷилди -уми он 
 “Шауба ал-Аша” ё “Рисола оиди хондани 
 мактубҳои рамзгузошташуда” ном дошт, ки дар он маълумот
 оиди методи рамзгузорӣ оварда шудааст. 
 ) Иваз намудани як ҳарф ба ҳарфи дигар; 
 ) Навиштани ҳарфҳо бо тартиби дигар; 
 ) Ба таври баръакс навиштани якчанд ҳарфи калима;
 ) Иваз намудани ҳарф бо рақам, бо назардошти иваз
 намудани ҳарфи арабӣ ба адад; 
 ) Иваз намудани ҳар як ҳарфи матни ошкор бо ду 
 ҳарфи арабӣ, ки метавон онҳоро ба сифати ададҳое,
 ки суммаи онҳо ба бузургии ҳарфӣ (рақамӣ) матни
 кушод баробар мешавад; 
 ) Ивази ҳар як ҳарф бо номи ягон одам; 
 ) Истифодаи номи шаҳрҳо, ҳолати сайёраҳо, номи 
 меваҳо, дарахтҳо ва ғайраҳо. 
 http://www.vostlit.info/Texts/rus/Al_Kalkasandi/pred.phtml?id=
 Нахустин маротиба дар таърихи рамзгузорӣ дар ин 
 инсклопедия руйхати системаҳои ҷойгардонӣ 
 (перестановка) ва ивазкуни (замена) оварда шудааст. Аз
 ҳама асос нахустин маротиба дар бораи таҳлили 
 криптографӣ тадқиқи шифротекст дар инсклопедияи 
 мазкур сухан рафтааст. Олимони араб ба муайянкунии 
 басомад такроршавии калимаҳо машғул шудаанд. 
 Ҳангоми сохтани вожанома муаллиф пайдоиши басомади 
 ҳарфҳоро ба назар гирифт, инчунин муайян кард, ки 
 кадом ҳарф баъди кадом ҳарф меояд ва кадом ҳарфҳо дар
 ҳамсоягӣ ҳеҷ вақт вонамехуранд. 
 Леон Батист Алберт (-), математик, 
 архитектор, ва гуманист соли - асаре бо номи 
 “Принсипи кодҳои таркибёфта (De 
 componendis Cypris)” навишт, ки яке аз 
 китобҳои криптографии куҳнатарин дар 
 мамлакатҳои Ғарб ба ҳисоб меравад. Дар ин 
 рисола ибтидо рамзҳои якалифбогии ҷойгузориро таҳлил
 карда, сипас нахустин ҷадвали басомади ҳарфҳоро 
 сохтааст. 
 Алберт нахустин касест, ки рамзи бисёралифбогии 
 ҷойгардониро бо номи диски (рамзи) Алберт пешниҳод 
 кардааст. Дар асари “José Luis Tábara, Breve Historia de La
 Criptografía Clásica” истифода онро бо шакли зайл тавзеҳ
 медиҳад: 
 “Бигузор ду диски мисин, ки яке аз дигараш / 
 ҳисса калон буда, беҳаракат аст дода шуда бошад. Ҳалқаи
 дискҳоро ба қисм, ки сектор ном дорад ҷудо карда, дар
 ҳар як сектори диски калони яктоги ҳамаи ҳарфҳои 
 алифбои лотиниро бо ранги сурх менависем, яъне ибтидо
 ҳарфи А баъд В ва ҳоказо ба ғайр аз ҳарфи Н, К ва якчанд
 ҳарфи дигар, ки зарурати навиштан надоранд, боқимонда
 ҳамаи ҳарфҳоро менависем”. 
 Қайд. Дар алифбои лотинӣ ҳарфҳои «С» ва «K» як овозро
 ифода карда, аз партофтани ҳарфи “H” маънои калима дигар
 намешавад. 
 Дар забони лотинӣ ҳарфҳои j, u, w ва у мавҷуд 
 нестанд, аз ин рӯ бо назардошти қайд ҳангоми навиштани
 ҳарфҳои дар диски калон сектор холӣ мемонад, ки 
 онҳоро бо ададҳои,,, пур мекунем. Айнан ба ҳамин
 монанд диски хурдро пур мекунем. 
 “... ҳарфҳои хурдро на аз рӯйи алифбо ҳамчун диски 
 калон, балки бо шакли тасодуфӣ дар диски хурд 
 менависем. Масалан, метавон фарз кард, ки ҳарфи якум а,
 дуюм с, сеюм е ва ҳоказо мебошанд. Ҳамин тариқ 
 сектор диски хурд бо илова намудани символҳои &, k, h ва
 y пур карда мешаванд. Пас аз иҷрои ин амал, диски 
 хурдро дар дохили диски калон тавре мегузорем, ки аз
 маркази онҳо тири умумие, ки дар атрофи он бояд диски
 хурд чарх занад гузарад“. 
 Дар диски хурд ягон ҳарфро интихоб мекунем, 
 масалан k. Пас аз ин диски хурдро тавре ҳаракат медиҳем,
 ки ҳарфи интихобшуда дар зери ягон ҳарф қарор гирад,
 масалан В. Ин ҳарфро ба ҷои ҳарфи k дар мактубе, ки бояд
 рамзгузорӣ кунем менависем. 
 Ин тарз ҷойгиршавии дискҳоро истифода карда, 
 ҳамаи ҳарфҳои пайғомро мувофиқан ба 
 ҳарфҳои дар диски беруна (калон) 
 навишташуда иваз мекунем. Пас аз 
 навиштани се ё чор мактуб метавон ҳолати 
 ҷойгиршавии дискҳоро тавре иваз кард, ки 
 ҳарфи k ба ҳарфи D ( ё ягон ҳарфи дигар) мувофиқ ояд.
 Акнун мактубҳои навбатиро аз рӯйи ин ҳолати 
 ҷойгиршавии дискҳо менависем (рамзгузорӣ мекунем). 
 Соли математики итолиёвӣ Ҷ. Кардано (-
 ) барои рамзгузорӣ ва рамзкушои кардани мактубҳои
 бисёр муҳим воситаи рамзгузорие сохт, ки бо номи 
 панҷараи Кардано маъмул аст. Панҷараи 
 мазкур шакли росткунҷавӣ ё квадратӣ дошта, аз
 картони одӣ, пергамент ва ё метали пластикии
 тунук сохта мешавад, ки дорои якчанд сурохи мебошад.
 Дар ҳар як сурохии он имконияти навиштани як символ ва
 ё як калима мавҷуд аст. Одатан миқдори чунин панҷара
 вобаста ба миқдори тарафҳо сохта мешаванд. Якчанд 
 усули рамзгузорӣ тавассути панҷараи Кардано мавҷуд аст.
 Дар ин ҷо усули содатарини онро меорем. Бо назардошти
 тарафҳо бигузор чунин панҷара сохта шуда бошад: 
 дар ин ҷо катакчаҳои ранги хокистарӣ дошта, сурохиҳои
 панҷараро ифода мекунанд. 
 Пас аз оне, ки панҷара сохта шуд, барои рамзгузорӣ
 онро дар болои варақе, ки дар он бояд матни 
 рамзгузошташуда навишта шавад, гузошта мешавад. Дар 
 https://en.wikipedia.org/wiki/Cardan_grille 
 варақи мазкур низ монанди панҷара рахҳои амудӣ ва 
 уфуқӣ тавре, кашида мешаванд, ки андозаи ҳар як катакча
 ба андозаи катакчаҳои панҷара (катакчаҳое, ки дар онҳо
 танҳо як символ навиштан мумкин аст) мувофиқ оянд. 
 Мисол. Бо истифода аз панҷараи сохтаамон матни 
 "Шифрование с помощью решетки Кардано"-ро 
 рамзгузорӣ мекунем. 
 Барои иҷрои ин амал панҷараро дар болои варақ 
 гузошта як қисми матнро менависем: 
 Пас аз навиштани як қисми матн панҷарораро ё 
 тоб дода, дар катакчаҳои холӣ қисми дигари матн ро
 мен ависем: 
 Агар амали тобдиҳии панҷараро ду маротибаи 
 дигар такрор кунем, ш акли зерин ҳосил мешавад: 
 Қадами навбати панҷараро аз рӯйи варақ гирифта,
 дар катакчаҳои холӣ ҳарф (символ) –ҳои дилхоҳе то 
 пуршавии ҷадвал менависем. Дар натиҷа матни додашуда
 ба сурати зерин рамзгузорӣ карда мешавад: 
 Қайд. Ҳангоми тоб додани панҷараи Кардано бояд 
 диққат дод, ки ду ҳарф болои ҳам наоянд. 
 Саволҳо барои мустаҳкамкунӣ 
 ) Кадом мафҳуми асосии криптографияро медонед? 
 ) Таърихи криптография чанд марҳиларо дарбар 
 мегирад? 
 ) Рамзи Атбаш чӣ гуна рамз аст? 
 ) Сохти асбоби скитал чӣ гуна буд? 
 ) Диски Энея бо чи мақсад сохта шуд? 
 ) Тарзи рамзкушоии диски Энея чӣ гуна аст? 
 ) Моҳияти асоси квадрати Полиби аз чӣ иборат аст? 
 ) Рамзи Сезар чӣ гуна рамз аст ва аз рамзҳои пешина чӣ
 фарқ мекунад? 
 ) Тарақиёти рамзгузорӣ дар мамолики машриқ чӣ гуна
 буд? 
 ) Ки аввалин шуда, ҷадвали басомади ҳарфҳоро сохт?
 ) Бо кадом усул дар машриқ рамзшиканӣ мекарданд? 
 ) Дар кишварҳои Шарқ кадом китобҳои оиди 
 криптография навишта шудааст? 
 ) Диски Алберт чӣ гуна диск буд ва чӣ тавр итилоот
 тавасути он рамзгузорӣ мешуданд? 
 ) Моҳияти асосии панҷараи Кардано аз чӣ иборат аст?
 ) Тавассути панҷараи Кардани чӣ тавр рамзгузорӣ 
 сурат мегирифт? 
 Боби. Рамзҳои бисёралифбогӣ ва 
 математикӣ 
 Рамзи мазкур модификатсияи рамзи Сезар буда, 
 дар он калид на аз як адад, балки аз пайдарпайии рақамҳо
 иборат мебошад. Барои рамзгузории итилоот ибтидо 
 ҳамаи ҳарфҳои алифбо сар карда аз рақамгузоӣ карда
 мешаванд, сипас ҷадвали дорои сатр ва n сутун сохта
 шуда, дар сатри якуми ҷадвал ҳарфҳои матни ошкор ва 
 дар сатри дуюм рақамҳои калид навишта мешаванд. Агар
 дарозии калид аз дарозии матни ошкор кутоҳ бошад, 
 калидро якчанд маротиба пайдарпай то баробар шудан ба
 матни ошкорро менависем. Барои ҳосил намудани 
 элементҳои сатри сеюм, қимати ададии ҳар як ҳарфи 
 сатри якумро ба қимати мувофиқи калид ҷамъ карда, 
 сипас барои натиҷаи ҳосилшуда ҳарфи ба он мувофиқро 
 менависем. 
 Умуман якчанд усули рамзгузорӣ тавассути методи 
 мазкур мавҷуд аст, ҳоло бо мисоле яке аз ин усулҳоро дида
 мебароем. 
 Мисол. Бо истифода аз калиди матни DONISH 
 рамзгузорӣ карда шавад. Алгоритми рамзгузорӣ чунин 
 аст: 
 Ҷадвали дорои се сатр ва сутун тасвир мекунем.
 Матни ошкор 
 Калид 
 Матни рамзгузошташуда 
 Дар сатри якуми ҷадвал ҳарфҳои матни ошкор ва дар
 сатри дуюм рақамҳои калид навишта мешаванд. Азбаски 
 дарозии калид аз дарозии матн хурд аст, бинобар ин 
 рақамҳои калидро то баробар шудан ба матни ошкор 
 такроран менависем. 
 Матни ошкор D O N I S H 
 Калид 
 Матни рамзгузошташуда 
 Барои ҳосил намудани сатри сеюм қимати ададии 
 (рақами тартибӣ) ҳарфҳои сатри якумро бо қимати калид
 ҷамъ карда, ҳарфи ба адади ҳосилшударо мувофиқро 
 менависем. Бо суханҳои дигар дар сатри сеюм ҳарферо 
 менависем, ки сар карда аз ҳарфи матни ошкор k мавқеъ
 дар тарафи рости алифбо ҷойгир аст. Дар ин ҷо k рақами
 ба ҳарфи додашуда мувофиқи ҳарфи матни ошкор аст. 
 Азбаски дар алифбо ҳарфе, ки пас аз як мавқеи ҳарфи D
 ҷойгир аст, ҳарфи E мебошад, бинобар ин, дар катакчаи
 якуми сатри сеюм ҳарфи E - ро менависем. Дар катакчаи
 дуюм бошад, ҳарферо менависем, ки дар алифбо чор ду 
 дар тарафи рости ҳарфи Q ҷойгир аст. Ин ҳарф S аст. 
 Ҳамин тариқ ҳамаи катакчаҳои сатри сеюмро пур 
 мекунем. 
 Матни ошкор D O N I S H 
 Калид 
 Матни рамзгузошташуда E Q Q M T J 
 Бо ҳамин минвол матни лозимӣ рамзгузорӣ карда 
 мешавад. 
 Модели математикии рамзгузоӣ ва рамзкушои 
 тавассути методи Гронсфилд мувофиқан чунин шакл 
 доранд: 
 Илова бар ин, барои рамзгузоӣ метавон аз ҷадвали
 Гронсфилд истифода кард, ки шакли зеринро дорад: 
 Қайд. Тарзи истифодаи ин ҷадвал хело сода мебошад.
 Масалан, барои ба калиди рамзгузорӣ кардан ҳарфи S ҳарферо
 мегирем, ки дар бурриши сатри ва сутуни S ҷойгир аст. Ин
 ҳарфи Т аст. 
 Барномаи рамзгузории методи Гронсфилд дар 
 забони С#: 
 string key = "", text = "gronsfeld"; 
 string abc = "abcdefghijklmnopqrstuvwxyz", newKey =
 key, result = ""; 
 bool encode = true; 
 int op = encode? +: -, offset, indexOf =; 
 while (newKey.Length < text.Length) 
 { 
 newKey += key; 
 } 
 if (newKey.Length > text.Length) 
 { 
 newKey = newKey.Substring(, newKey.Length - 
 (newKey.Length - text.Length)); 
 } 
 for (int i =; i < text.Length; i++) 
 { 
 indexOf = abc.IndexOf(text[i]); 
 if (indexOf!= -) 
 { 
 offset = abc.IndexOf(text[i]) + 
 (Convert.ToInt(newKey[i]) - ) * op; 
 if (offset > abc.Length) 
 offset = offset - abc.Length; 
 else if (offset < ) 
 offset = abc.Length + offset; 
 result += abc[offset]; 
 } else 
 result += text[i]; 
 } 
 Тавре медонем, дар рамзҳои ивазкунӣ (замена) – и
 сода барои калиди қайдкардашудаи k 
 дилхоҳ ҳарфи матни кушода ба яке аз 
 ҳарфҳои алифбое, ки тавассути он навишта 
 шудааст ё алифбои дигар иваз карда 
 мешавад. Аз ин рӯ рамзи ивазкунии содаро метавон ба 
 таври осон бо ҳисобкунии басомади ҳарфҳои матни 
 рамзгузошташуда шикаст. Қайд кардан ба маврид аст, ки
 дар алифбоҳои гуногун як ҳарф метавонад бо басомадҳои
 гуногун истифода шавад. 
 Дар асри XVI олими немис Иоганн Тритемия 
 (аксари таърихнигорон онро падари дуюми криптография
 меноманд) дар китоби панҷуми силсилаи “Poligraphia” 
 чопи соли методи рамзгузории наверо пешниҳод 
 намудааст, ки дар он ҳар як ҳарфи оянда тавассути рамзи
 хусусии лағжиш рамзгузорӣ карда мешаванд. Барои ин 
 Тритемия ҷадвалеро фикр карда баромад, дар сатри 
 https://en.wikipedia.org/wiki/Johannes_Trithemius 
 якуми он ҳарфҳои алифбо бе тағйир навишта шуда, дар 
 сатри дуюм сар карда аз ҳарфи дуюми алифбо то охир ва
 баъд ҳарфи якум (лағжиши даври як мавқеъ ба тарафи 
 рост) навишта мешуд. Ҳамин тариқ, дар ҳар сатри 
 минбаъда алифбо як мавқеъ ба тарафи рост ба таври 
 даврӣ (кучонида шуда) навишта мешаванд. Масалан, 
 барои алифбои лотинӣ ин ҷадвал шакли зеринро дорад: 
 Алгоритми рамзгузорӣ тавассути ин ҷадвал чунин 
 аст: Агар ҳарфи матни ошкор дар сатри якум дорои 
 координатаи (, j) бошад, (дар ин ҷо j-рақами тартибии
 сутунро ифода мекунад) он гоҳ дар сатри i-юм он бо 
 ҳарфе ки дорои координатаи (i, j) аст иваз карда мешавад
 (i-рақами тартибии ҳарф дар матн). Бо суханҳои дигар
 ҳарфе, ки дар сатри якум дорои рақами тартибии j 
 мебошад, бо ҳарфи j-юми сатри i иваз карда мешавад. Пас
 аз оне, ки сатри охирон истифода карда шуд, боз ба сатри
 якум бармегардем. Бо ин усул як ҳарфи матни кушод 
 метавонад бо ҳарфҳои гуногун иваз карда шавад. 
 Мисол. Матни MAKTAB-ро бо истифода аз ҷадвали 
 Тритемия рамзгузорӣ мекунем. 
 Ҳал. Ҳарфи якуми матн М бе тағйир гузошта шуда, 
 ҳарфи дуюм А бо ҳарфи В, ҳарфи сеюм К бо ҳарфи М, ҳарфи
 чорум Т бо ҳарфи У, ҳарфи панҷум А бо ҳарфи Е, ҳарфи
 шашум Б бо ҳарфи G иваз карда мешавад. Дар натиҷа матни
 рамзгузошташуда шакли “МBMYEG”– ро мегирад. 
 Тавре ки дида мешавад, калид дар ин метод вуҷуд
 надорад. Баъзан варианти душвори методи мазкурро 
 ҳангоми бо тартиби тасодуфӣ ҷойгиркунии тартиби 
 ҳарфҳо ва интихоби усули душвори тартиби сатрҳо 
 истифода кардан мумкин аст. 
 Рамз ё квадрати Виженер аз тарафи олими 
 фаронсавӣ Блейз де Виженер) (Blaise de Vigenere) соли
 сохта шудааст, ки монанди ҷадвали 
 Тритемия ба таври даври кучонидани 
 ҳарфҳои алифбо ҳосил карда мешавад, яъне 
 дар сатри якуми ҷадвал ҳарфҳои алифбо 
 https://en.wikipedia.org/wiki/Blaise_de_Vigen%C%Are
 бетағйир навишта мешаванд. Сатри i-юми ҷадвал аз сатри
 i- –ум бо тариқи даври лағжонидан ба як мавқеъ ҳосил
 карда мешавад. Дар сатри якум ҳарфҳои алифбо 
 метавонанд аз рӯйи тартиб ва ё ба таври тасодуфӣ ҷойгир
 карда шаванд. Фарқияти асосии ҷадвали Виженер аз 
 ҷадвали Тритемия дар он аст, ки дар ҷадвали Виженер як
 сатр ва як сутуни иловагӣ мавҷуд аст, ки мувофиқан барои
 ифодакунии алифбои матни кушод ва алифбои калид 
 истифода бурда мешаванд. Илова бар ин дар рамзи 
 Виженер метавон аз калид низ истифода кард. Калид аз
 пайдарпайии ҳарфҳои алифбое, ки тавассути он ҷадвал 
 сохта шудааст, иборат мебошад. Агар дарозии калид аз
 дарозии матни ошкор хурд бошад, он гоҳ калид ба таври
 даврӣ то ба дарозии матни ошкор баробар шудан навишта
 мешавад. 
 Ҷадвали Виженер барои алифбои лотинӣ шакли 
 зеринро дорад: 
 Тавре ки дида мешавад дар ин ҷадвал рамзи 
 гуногуни Сезар мавҷуд аст. Қоидаи рамзгузории методи
 мазкур чунин аст: Агар ҳарфи матни кушод дорои 
 координатаҳои (, j) (дар ин ҷо j-рақами тартибии сутунро
 ифода мекунад) ва ҳарфи калид дорои координатаҳои (i,)
 бошад, он гоҳ ба сифати ҳарфи матни рамзгузошташуда,
 ҳарфе интихоб карда мешавад, ки дорои координатаҳои 
 (i, j) аст. Дар ин ҷо фарз карда мешавад, ки ҳар як символи
 матни кушод ба як символи калид мувофиқат гузошта 
 мешавад. 
 Мисол. Матни MAKTAB-ро бо истифода аз ҷадвали 
 Виженер ва калиди DARS рамзгузорӣ мекунем: 
 Ҳал. Азбаски дарозии калид аз дарозии матни 
 ошкор хурд мебошад, бинобар ин, аввал калидро якчанд
 маротиба навишта, дарозиашро ба матни ошкор баробар 
 мекунем: 
 Матни ошкор: MAKTAB 
 Калид: DARSDA 
 Пас аз оне ки дарозии калид бо дарозии матни 
 ошкор баробар шуд, матни ошкорро рамзгузорӣ мекунем.
 Азбаски ҳарфи якуми матни кушод М дорои 
 координатаҳои (,) ва ҳарфи якуми калид D дорои 
 координатаҳои (,) мебошад, бинобар ин ҳарфи М-ро бо
 ҳарфи дорои координатаҳои (, ), яъне P иваз мекунем.
 Ҳарфи дуюми матни ошкор А бошад, дорои 
 координатаҳои (,) буда, ҳарфи дуюми калид A низ дорои
 координатаҳои (,) мебошад, аз ин рӯ онро бетағйир 
 мегузорем. Ба ҳамин монанд ҳамаи ҳарфҳои матни ошкор
 рамзгузорӣ карда мешаванд. Дар натиҷа матни 
 рамзгузошташуда ба сурати “PABLDB” ҳосил мешавад. 
 Модели математикӣ 
 Агар ҳамаи ҳарфҳои ягон алифборо сар карда аз 
 рақамгузорӣ кунем, он гоҳ формулаҳои рамзгузорӣ ва 
 рамзкушоӣ мувофиқан ба сурати зерин ҳосил карда 
 мешаванд: 
 Қайд кардан ба маврид аст, ки рамзи Виженер якчанд
 маротиба сохта шудааст. Нахустин маротиба ин методро
 Ҷован Баттист Беллазо (итал. Giovan Battista Bellaso) дар
 китоби “La cifra del. Sig. Giovan Battista Bellasо” соли 
 навиштааст. Аммо дар асри XIX номи дипломати 
 фаронсавӣ Блез Виженер гирифт. 
 Барномаи рамзгузории методи Виженер ар забони С++
 string crypt(string S, string K){ 
 int i, T, m, n; 
 m = S.size(); 
 n = K.size(); 
 for (i =; i < m; i++){ 
 T = ((int)S[i] + (int)K[i % n]) %; 
 S[i] = (char)(T + ); 
 } 
 return S; 
 } 
 Рамзи Плейфер ё квадрати Плейфер соли аз 
 тарафи физикдони англис Чарлз Уитсон 
 сохта шудааст. Азбаски дӯсти Уитсон 
 Лорд Леон Плейфер ин рамзро дар 
 корҳои давлатии Англия бисёр истифода 
 бурдааст, бинобар ин, бо номи Рамзи 
 Плейфер маъмул мебошад. 
 https://en.wikipedia.org/wiki/Playfair_cipher 
 Рамзи мазкур матритсаи дорои сатр ва сутунро
 (барои алифбои лотинӣ) истифода 
 мебарад, ки дорои калид ва ҳарфҳои 
 алифбо мебошад. Барои сохтани ҷадвал 
 ва истифодаи рамз бояд калид ва чор 
 қоидаи асосиро дар ёд гирифт. Ибтидо 
 дар ҷадвал ҳарфҳои калид бе 
 такроршавӣ ва ҳарфҳои боқимондаи алифбо, ки дар калид
 вуҷуд надоранд, навишта мешаванд. Ҳарфҳои калидро 
 метавон дар сатри нахустин ва ё ба таври ихтиёрӣ аз кунҷи
 чапи болоӣ ба марказ навишт. Одатан дар ҳангоми 
 сохтани ҷадвали барои алифбои лотинӣ ҳарфи Q сарфи 
 назар карда мешавад ва ё ҳарфҳои I ва J дар як катакча
 навишта мешаванд. 
 Барои рамзгузорӣ ибтидо матн ба биаграммаҳо 
 (гурӯҳои иборат аз ду символ) ҷудо карда мешавад. 
 Масалан, матни «Hello World» пас аз ҷудокунӣ шакли «HE
 LL OW OR LD» -ро соҳиб мешавад. Пас аз оне ки матн ба
 биаграммаҳо ҷудо карда шуд, аз қоидаҳои зерин истифода
 бурда мешавад: 
 ) Агар ду символи биаграмма бо ҳамдигар монанд 
 бошанд, (ё дар охир як символ боқи монад), он гоҳ пас
 аз символи якум ҳарфи Х (баъзан Q) илова карда, 
 мешавад. Пас аз ин ҷуфти нави символҳоро рамзгузорӣ
 карда амали рамзгузориамонро давом медиҳем. 
 Масалан, калимаи Balloon ба сурати Ba-lx-lo-on ҷудо
 карда мешавад. 
 ) Агар символҳои биаграмаи матни кушод дар як сатр 
 хобанд, он гоҳ ин символҳо мувофиқан ба символҳои 
 тарафи росташон иваз карда мешаванд. Агар ягонто аз
 ин символҳо дар охири сатр ҷойгир бошад, он гоҳ ба
 символи аввалаи сатр иваз карда мешавад. 
 ) Агар символҳои биаграммаи матни кушод дар як сутун
 хобанд, он гоҳ ин символҳо мувофиқан ба символҳои 
 дар поёнашон ҷойгирбуда иваз карда мешаванд. Агар 
 ягонто аз ин символҳо дар охири сутун ҷойгир бошад,
 он гоҳ ба символи аввалаи сутун иваз карда мешавад.
 ) Агар символҳои биаграмма дар сатр ва сутунҳои 
 гуногун ҷойгир бошанд, он гоҳ ба символҳои ҳамон 
 сатр, ки дар кунҷҳои дигари ин ҷадвал ҷойгиранд, иваз
 карда мешаванд. 
 Барои рамзкушоӣ бошад, аз инверсияи ин қоидаҳо 
 истифода бурда шуда, ҳарфи зиёдатии Х (Q) аз матн нест
 карда мешавад. Ҳоло бо мисоле ҳамаи ин қоидаҳоро 
 нишон медиҳем. Масалан, барои рамзгузорӣ кардани 
 биаграммаи OR чор қоидаи (ҳолати) асосиро дида 
 мебароем. 
 ) ) ) ) 
 * * * * * * * O * * Z * * O * * * * * * 
 * O Y R Z * * B * * * * * * * * * * * * 
 * * * * * * * * * * * * * * * Y O Z * R 
 * * * * * * * R * * R * * X * * * * * * 
 * * * * * * * Y * * * * * * * * * * * * 
 OR бо YZ OR бо BY OR бо ZX OR бо ZY 
 иваз карда иваз карда иваз карда иваз карда 
 мешавад мешавад мешавад мешавад 
 Акнун мисоли содаеро дида мебароем. 
 Мисол. Бигузор калимаи калид DAFTAR ошад, он 
 гоҳ ҷадвали зеринро ҳосил мекунем: 
 D A F T R 
 B C E G H 
 I K L M N 
 O P Q S U 
 V W X Y Z 
 Матни «HALLI MASALA»-ро рамзгузорӣ мекунем. 
 Барои рамзгузорӣ намудан ибтидо матнро бо 
 биаграммаҳо тақсим мекуне: HA LL IM AS AL A 
 Аз баски дар биаграммаи дуюм ду ҳарфи L 
 пайдарпай омадааст, бинобар ин, дар байни онҳо ҳарфи
 Х- ро гузошта, давоми матро аз нав ба биаграммаҳо 
 тақсим мекунем. 
 HA LX LI MA SA LA 
 Акнун қоидаҳои дар боло овардашуда ва ҷадвали 
 сохтамонро истифода бурда ҳар як биаграммаро 
 пайдарпай рамзгузорӣ мекунем: 
 Матни ошкор: HA LX LI MA SA LA 
 Матни рамзгузошташуда: RC QF MK TK TP FK 
 Ҳамин тариқ матни « HALLI MASALA» ба сурати 
 «RCQFMKTKTPFK» рамзгузорӣ карда шуд. 
 Рамзи Вернам соли аз тарафи кормандони 
 ширкати полиграфии AT&T (Амрико) 
 Гилберт Вернам ва Мейджор Ҷозеф Моборн 
 сохта шудааст. Ибтидо онҳо ақидаи ба таври
 автоматӣ рамзгузорӣ намудани пайғомҳои 
 телеграфиро бо истифода аз кодҳои 
 телетайпии Бодо, яъне «комбинатсияи импулсӣ» 
 панҷқимата пешниҳод карда буданд. Масалан, 
 комбинатсияи («– – – + +») ҳарфи А-ро ифода намуда, 
 комбинатсияи («+ + – + +») бошад, символи гузариш аз
 ҳарф ба рақамро ифода менамояд. 
 https://en.wikipedia.org/wiki/One-time_pad 
 Дар лентаи коғазӣ ҳангоми кор бо телетайп аломати
 «+» мавҷудияти сурохӣ ва аломати «–» мавҷуд набудани
 онро ифода мекунад. 
 Вернам ба таври электромеханикӣ аз рӯйи 
 координатҳо ҷамъ намудани импулсҳои матни кушодро 
 бо истифода аз импулсҳои гамма, ки қаблан дар лента 
 насб карда шуда буданд, пешниҳод кард. Амали ҷамъ аз
 рӯйи модули иҷро карда мешавад, ки чунин амалкард 
 дорад: 
 Қайд. Дар ин ҷо гамма гуфта символҳои калид дар
 назар дошта мешаванд. Агар дарозии калид аз дарозии матн
 хурд бошад, он гоҳ такроран чанд маротиба то ба андозаи
 матн баробар шудан символҳои онро менависем. 
 Барои моҳияти ин методро дарк кардан ибтидо 
 амали xor-ро дар забони Паскал дида мебароем. 
 Амали ё (xor)-амали кор бо битҳо буда, ба қимати ҳақ
 доро аст, агар танҳо қимати яке аз амалвандҳои додашуда
 ҳақ бошад, яъне: 
 Мисол. Бигузор х= ва у= бошад. Онҳоро ба 
 намуди системаи дӯӣ мегардонем: 
 Аз ин ҷо x xor y= xor = мешавад. 
 Умуман, формулаҳои математикии рамзгузорӣ ва 
 рамзкушоии рамзи Вернам шакли зеринро доранд: 
 Дар ин ҷо амали амали XOR- ро ифода мекунад. 
 Соли К. Шеннон устувории математикии рамзи 
 Вернамро исбот намуд. 
 Қайд кардан ба маврид аст, ки рамзи 
 гаммиронидашударо солҳои -ум олмониҳо дар корҳои 
 дипломатии худ, англисҳо ва амрикоиҳо дар ҷанги дуюми
 ҷаҳони истифода карданд. 
 Рамзи Хилл рамзи полиграмии ҷойгардонӣ буда, 
 метавонад, дар як вақт як блоки матнро бо истифода аз
 алгебраи хаттӣ ва арифметикаи бақияҳо рамзгузорӣ 
 https://en.wikipedia.org/wiki/Hill_cipher 
 Рамзи полиграмии ҷойгардонӣ рамзест, ки як бора на як символ балки як
 гурӯҳи символҳоро рамзгузорӣ (рамзкушоӣ) мекунад. 
 кунад. Рамзи мазкур соли аз тарафи математики 
 амрикоӣ Лестер Хилл сохта шудааст. Ибтидо Хилл ин 
 рамзро моҳи июн-июли ҳамон сол дар мақолаи 
 «Cryptography in an Algebraic Alphabet» дар журнали «The
 American Mathematical Monthly» чоп намуд. Моҳи августи
 ҳамон сол Хилл дар штати Колорадо (Боулдере) пеши 
 ҷамъияти математикони Амрико ин рамзро муаррифӣ 
 намуд (баромад кард). Баъдтар моҳи марти соли Хилл
 бо номи «Concerning Certain Linear Transformation Apparatus
 of Cryptography» дар журнали «The American Mathematical
 Monthly» мақолаеро чоп намуд. 
 Рамзи Хилл нахустин рамзест, ки дар 
 амалия барои якбора рамзгузории зиёда аз 
 се символ истифода шуд (ҳарчанд ки бо 
 душворӣ). Рамзи мазкурро бо иллати заъиф 
 будани устуворӣ ва мавҷуд набудани алгоритми ҳосил 
 намудани матритсаи рост ва баръакс дар амалия бисёр 
 истифода нашуд. 
 Ҳангоми истифодаи методи Хилл ибтидо ҳарфҳои 
 алифбо сар карда аз рақамгузорӣ карда мешаванд. Блоки
 иборат аз n ҳарф ҳамчун вектори n – ченака ба назар 
 гирифта шуда, бо матритсаи квадратии тартиби n аз рӯйи
 модули M (М-миқдори ҳарфҳои алифбо, масалан барои 
 алифбои лотинӣ М= мебошад) зарб карда мешавад. Дар
 ин ҷо элементҳои матритсаи квадратӣ аз символҳои 
 (рақами символҳои) калид тартиб дода мешаванд. 
 Матритсаи квадратӣ тавре интихоб карда мешавад, ки дар
 барои он матритсаи баръакс вуҷуд дошта бошад. Дар 
 сурати акс, матни рамзгузошташударо рамзкушои кардан
 ғайриимкон мегардад. 
 Ҳангоми n = будан, барои алифбои лотинӣ 
 метавон системаро ба сурати зерин навишт: 
 { 
 Агар ин системаро ба сурати матритсавӣ нависем 
 шакли зеринро мегирад: 
 [ ] [ ] 
 ё 
 дар ин ҷо P ва C — векторҳои сутунии дорои се элемента
 буда, мувофиқан матни ошкор ва рамзгузошташударо 
 ифода мекунанд. K — матритсаи x буда калидро ифода
 мекунад. Барои ин мисол ҳамаи амалҳо аз рӯйи модули 
 иҷро карда мешаванд. 
 Барои рамзкушоӣ намудан матни рамзгузошта 
 ибтидо матритсаи баръакс ба, яъне ҳисоб карда 
 мешавад. Тавре медонем барои матритсаи додашуда 
 матритсаи баръакс ҳамон вақт мавҷуд аст, агар 
 муайянкунандаи матритса аз фарқ карда, бо асоси модул
 тақсимкунандаи умумӣ надошта бошанд, яъне бо модул 
 байнан сода бошад. Дар ҳолати мавҷуд набудани 
 матритсаи баъакс истифодаи матриса дар методи Хилл 
 ғайриимкон аст. Аз ин рӯ, матритсаи дигар бояд тартиб
 дода шавад, яъне калиди нав бояд интихоб карда шавад.
 Дар ҳолати умумӣ алгоритмҳои рамзгузорӣ ва 
 рамзкушоӣ методи Хилл мувофиқан шакли зеринро 
 доранд: 
 Пеш аз рамз г узорӣ намудан, ибтидо дар ҷадвале,
 ҳарфҳои ягон алифбо, масалан, лотиниро мувофиқан бо 
 кодҳояшон (рақамҳои тартибӣ) менависем. 
 Мисол. Матни “MAKTAB” – ро бо истифода аз 
 калиди “OMUZGORON” рамзгузорӣ мекунем. Аз 
 ҳарфҳои (коди ҳарфҳои) калид матритсаи квадратии K –
 ро ҳосил мекунем: 
 [ ] [ ] 
 Муайянкунандаи маритсаи K–ро меёмем. 
 | | | | 
 Барои матритсаи К матритсаи баръакс вуҷуд дорад,
 чунки муайянкунандаи асосии он аз фарқ карда, бо 
 модул () байнан сода аст. Акнун матни додашударо бо
 блокҳои иборат аз символ ҷудо карда, пайдарпай ҳар як
 блокро рамзгузорӣ мекунем. Аз баски коди ҳарфи 'М' =, ’A’ = ва 'K’ = мебошад, бинобар ин, се ҳарфи аввалаи
 матн ба намуди векторӣ шакли зеринро мегиранд: 
 =. 
 [ ] [ ] 
 Акнун ин векторро бо калид аз рӯи модули зарб
 карда ҳосил мекунем: 
 [ ][ ] 
 [ ] [ ] 
 Вектори рамзгузошташуда шакли “EYW” –ро соҳиб 
 мешавад. Акнун матни “TAB” –ро ба сурати вектори 
 менависем: 
 = 
 [ ] [ ] 
 Барои рамзгузорӣ намудан, ин векторро низ бо 
 матрисаи К зарб мекунем: 
 [ ][ ] 
 [ ] [ ] 
 Ин вектор матни рамзгузошташудаи “AVY”-ро 
 мувофиқ меояд. Пас аз рамзгузорӣ намудани ҳамаи 
 блокҳо онҳоро пасиҳам менависем, ки дар натиҷа матни
 рамзгузошташудаи “EYWAVY” - ҳосил мешавад. 
 Рамзкушоӣ 
 Барои рамзкушӣ намудан, ибтидо матритсаи 
 баръакси К – ро ҳисоб мекунем: 
 [ ] 
 Матни рамзгузошташудаи “EYWAVY”-ро низ ба 
 блокҳо тақсим карда, рамзкушоӣ мекунем. Ба сифати 
 намуна блоки “EYW”-ро рамзкушоӣ мекунем. 
 [ ][ ]. 
 [ ] [ ] 
 Ин вектор ба матни “MAK” мувофиқ меояд. Ба 
 ҳамин монанд, қисми дуюми матни рамзгузошташуда, 
 рамзкушоӣ карда мешавад. 
 Барномаи методи рамзгузории Хилл дар С++: 
 #include <string.h> 
 #include <iostream> 
 using namespace std; 
 //функсия барои ҳисобкунии дарозии массив 
 unsigned int Lenght(const char s[]) 
 { 
 int L =; 
 while (s[L++]); 
 return (L - ); 
 } 
 //Функсия барои ҳисобкунӣ аз рӯйи модули 
 unsigned short mod(int c) 
 { 
 if (c>) 
 { 
 unsigned int c = c /; 
 return c - ( * c); 
 } 
 if (c<) 
 { 
 unsigned int c = abs(c) / +; 
 return c + ( * c); 
 } 
 return; 
 } 
 double determ(int** Arr, int size) 
 { 
 int i, j; 
 double det =; 
 int** matr; 
 if (size == ) 
 { 
 det = Arr[][]; 
 } 
 else if (size == ) 
 { 
 det = Arr[][] * Arr[][] - Arr[][] * Arr[][];
 } 
 else{ 
 matr = new int*[size - ]; 
 for (i =; i<size; ++i){ 
 for (j =; j<size -; ++j) 
 { 
 if (j<i) 
 matr[j] = Arr[j]; 
 else 
 matr[j] = Arr[j + ]; 
 } 
 det += pow((double)-, (i + j))*determ(matr, size -
 )*Arr[i][size - ]; 
 } 
 delete[] matr; 
 } 
 return det; 
 } 
 int _tmain(int argc, _TCHAR* argv[]){ 
 int size =, S =, w=; 
 string abc = 
 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
 string text = "ARABOVM"; 
 unsigned short *cript;; 
 cript = new unsigned short[text.size()]; 
 unsigned short *word;; 
 word = new unsigned short[text.size()]; 
 int**key; 
 key = new int*[size]; 
 //Сохтани калид 
 for (int i =; i < size; ++i) 
 key[i] = new int[size]; 
 while (S == ){ 
 for (int i =; i < size; ++i){ 
 for (int j =; j < size; ++j){ 
 key[i][j] = rand() % +; 
 } 
 } 
 S = determ(key, size); 
 } 
 //Хориҷкунии калид ба намуди матритса 
 for (int i =; i<size; ++i){ 
 for (int j =; j<size; ++j) 
 cout << key[i][j] << ’ ’; 
 cout << endl; 
 } 
 // Агар дарозии матн каратии набошад, бо 
 илова намудани символи хати поён онро бо каратӣ
 мекунем 
 if (text.size() %!= ){ 
 while (text.size() %!= ) 
 text += ’_’; 
 cout << text.c_str() << endl;; 
 } 
 cout << "матни ошкор:"<<text.c_str() << endl;
 //то ҳол массиви text ба охир нарасидааст 
 while (w <= text.size()){ 
 for (int i =; i<; i++){ 
 //ба массиви word қимати ададдии коди ҳарфро 
 мебахшем 
 if (text[w] == abc[i]) 
 word[w] = i; 
 } 
 w++; 
 } 
 cout << "Ба даст оварии shifr ба намуди қисматҳо
 ба тақсимшуда" << endl << " " << endl; 
 //Зарби матритсаи key ба вектори slova аз рӯйи
 mod 
 for (int k =; k<text.size(); k += ){ 
 for (int i =; i<; i++){ 
 cript[i + k] = mod(key[i][] * word[ + k] +
 key[i][] * word[ + k] + key[i][] * word[ + k]);
 cout << cript[i + k] << " "; 
 } 
 cout << endl; 
 } 
 cout << " Хориҷкунии шифр ба намуди массиви 
 сатрӣ:" << endl; 
 for (int i =; i<text.size(); i++) 
 cout << cript[i] << "=" << abc[cript[i]] << endl;
 cin.get(); 
 return; 
 } 
 Рамзи Афинавӣ – ин ҳолати умумии рамзи 
 моноалфавитии ивазкунӣ мебошад. Дар рамзи мазкур ҳар
 як ҳарфи алифбо бо як адади бутуни фосилаи [, m-] 
 мувофиқ гузошта мешавад. Дар ин ҷо m миқдори ҳарфҳои
 алифборо ифода мекунад. Сипас, тавассути арифметикаи
 бақияҳо барои ҳар як ададе, ки ба як символи матни 
 кушода мувофиқ меояд, адади нав ҳисоб карда мешавад.
 https://en.wikipedia.org/wiki/Affine_cipher 
 Адади ҳисоб--кардашуда шифротексти куҳнаро иваз 
 мекунад. Функсияи рамзгузорӣ барои ҳар як символ 
 шакли зеринро дорад: 
 дар ин ҷо миқдори ҳарфҳои алифбо буда, калид 
 ба ҳисоб мераванд. Адади тавре интихоб карда мешавад,
 ки бо адади байнан сода бошанд. 
 Функсияи рамзкушоӣ бошад шакли зеринро дорад: 
 дар ин ҷо адади ба аз рӯйи модули баръакс 
 мебошад, яън е он ададест, ки шарти зеринро қаноат 
 кунонад: 
 mod m. 
 Тавре медонем, адад и баръакс ба адади танҳо 
 ҳолате вуҷуд дошта метавонад, ки агар ва байнан сода
 бошанд. Агар ин хосият ба назар гирифта нашавад, амали
 рамзкушоӣ ғайриимкон мегардад. Ҳоло нишон медиҳем, 
 ки функсияи рамзкушоӣ ба функсияи рамзгузорӣ баръакс
 мебошад. Дар ҳақиқат 
 ( ) 
 (( ) ) 
 Миқдори имконпазири калидро барои рамзи афинавӣ
 метавон тавассути функсияи Эйлер муайян кард. 
 Рамзгузорӣ 
 Бигузор ҳамаи ҳарфҳои алифбои лотинӣ бо қимати 
 рақамиашон (рақами тартибиашон) дар ҷадвали зерин гирд
 оварда шуда бошанд: 
 Мисол. Талаб карда мешавад, ки матни "DUSHANBE" –ро
 бо истифодаи ҷадвали дар боло овардашуда ва қиматҳои
 миқдори ҳарфҳои алифбои лотинӣ) 
 рамзгузорӣ карда шавад. Тавре ки қайд кардем, дар ин ҷо танҳо
 барои адади маҳдудият (шарт) гузошта мешавад, чунки дар
 сурати бо адади байнан сода набудани он рамзкушоӣ 
 ғайриимкон мегардад. Қимати метавонад яке аз ададҳои {,,,,,,,,,,, } бошад. Қимати ба таври ихтиёрӣ
 интихоб карда мешавад. Ҳамин тариқ, барои мисоли мо функсияи
 рамзгузорӣ шакли зеринро мегирад: 
 Қадами нахустин дар рамзгузорӣ навиштани ададҳои
 мувофиқи ҳарфҳои матни ошкор мебошад, барои матни 
 додашудаи мо чунин ҷадвал ҳосил карда мешавад: 
 Матни ошкор D U S H A N B E 
 Акнун барои ҳар як қимати қимати ро ҳисоб 
 карда натиҷаро ба тақсим мекунем ва бақияи тақсимро дар
 ҷадвали зерин менависем: 
 Матни ошкор D U S H A N B E 
 ( 
 Пас аз иҷрои ин амал, ба ҷои рақамҳои ҳосилшуда ҳарфҳои
 мувофиқро менависем, дар натиҷа матни рамз-гузошташуда ба
 сурати “NMGZERHQ” пайдо мешавад. Дар ҷадвали зерин ҳамаи
 қадамҳои рамзи аффинавӣ оварда шудаанд. 
 Матни ошкор D U S H A N B E 
 Матни рамзгузошташуда N M G Z E R H Q 
 Рамзкушоӣ 
 Дар ин ҷо матне, ки қаблан рамзгузорӣ карда будем, яъне
 "EJJEKIEJNESR" -ро рамзкушоӣ мекунем. Дар ин ҳолат аз
 функсияи рамзкушоӣ истифода 
 бурда мешавад. Дар ин ҷ о 
 мебошад. Ибтидо қиматҳои ададии матни "NMGZERH Q "-ро
 дар ҷадвали зерин менависем: 
 Матни рамзгузошташуда N M G Z E R H Q 
 Акнун барои ҳар як қимати у қимати -ро ҳисоб 
 карда, ба тақсим мекунем ва бақияро дар ҷадвали зерин
 менависем. 
 Матни N M G Z E R H Q 
 рамзгузошташуда 
 Дар қадами охирон матни рамзгузошташударо 
 рамзкушоӣ мекунем, яъне ба ҷои қиматҳои сатри охирони ҷадвал
 ҳафҳои мувофиқашонро менависем, ки "DUSHANBE" ҳосил 
 мешавад. 
 Матни N M G Z E R H Q 
 рамзгузошташуда 
 Матни ошкор D U S H A N B E 
 Барои тез намудани суръати рамзгузорӣ ва рамзкушоӣ
 ибтидо ҳамаи ҳарфҳои алифборо рамзгузорӣ карда ҷадвали
 мувофиқро ҳосил мекунем. 
 Қайд. Ҳангоми будан аз рамзи аффиавӣ рамзи Сезар ҳосил
 мешавад. 
 Барномаи рамзгузорӣ ва рамзкушоии методи Афиавӣ дар
 забони Java: 
 public static void main(String[] args) { 
 String input = "ATTACKATDAWN"; 
 int x =; 
 int y =; 
 String enc = encrypt(input,x,y); 
 String dec = decrypt(enc,x,y); 
 System.out.println("Input: " + input); 
 System.out.println("Decrypted: " + enc); 
 System.out.println("Decrypted: " + dec); 
 } 
 public static String encrypt(String input,int FK,int SK) {
 String str = ""; 
 for (int in =; in < input.length(); in++) { 
 char get = input.charAt(in); 
 if (Character.isLetter(get)) { 
 // ax + b % 
 get = (char) ((FK * (int)(get + ’A’) + SK) % + ’A’);
 } 
 str +=get; 
 } 
 return str; 
 } 
 public static String decrypt(String input,int FK,int SK) {
 String str = ""; 
 int x =; 
 int inverse =; 
 while(true) { 
 inverse = FK * x %; 
 if(inverse == ) 
 break; 
 x++; 
 } 
 for (int in =; in < input.length(); in++) { 
 char get = input.charAt(in); 
 if (Character.isLetter(get)) { 
 get = (char)(x * ((get + ’A’) - SK) % + ’A’); 
 } 
 str +=get; 
 } 
 return str; 
 } 
 Тавре медонем, муодилаи мавҷ 
 дорои лаппиши (амплитудаи) доимӣ буда, дар тамоми тири
 ададӣ ( ) бефосила мебошад. Ҳолати аз ҳама ҷолиб
 ин аст, ки агар бошад (дар ин ҷо дилхоҳ адади бутун), он
 гоҳ даври амплитудаи функсияи мазкур беохир мешавад.
 Соли В.П. Сазов дар конфронси умумиросиягии
 «РусКрипто» методи нави криптографиеро пешниҳод кард, ки дар
 он муодилаи () истифода шудааст. Соли бошад Городилов
 А. Ю. ва Митраков А. А. мақолае чоп карданд, ки дар он
 гуфта шудааст, ки методи тригонометрӣ як воситаи содаи
 рамзгузорӣ буда, бар муқобили ягон алгоритм ва стандарт сохта
 нашудааст. 
 Шарҳи алгоритм 
 Дар тири ҳамаи символҳои ягон алифбо ё ҳамаи 
 символҳои клавиатураро ( символ), ки сар карда аз то 
 рақамгузорӣ шудаанд, ба тартиб (метавонанд ба таври тасодуфӣ)
 навишта мешаванд. Формулаҳои рамзгузорӣ ва рамзкушоӣ
 мувофиқан шакли зеринро доранд: 
 дар ин ҷо қимати рақамии (рақами тартибии) ҳарфе, ки бояд
 рамзгузорӣ карда шавад, N-миқдори ҳарфҳои алифбо, z ва
 калид (ададҳои ҳақиқӣ), рақами тартибии ҳарфе, ки бояд
 рамзгузорӣ карда шавад (мавқеи ҳарф дар матни ошкор) ва y
 символи рамзгузошташуда мебошад. 
 Сизов В.П. Криптографические алгоритмы на основе тригонометрических
 функций. URL: http://www.ruscrypto.ru/sources/conference/rc
 Городилов А. Ю., Митраков А. А. Криптоанализ тригонометрического
 шифра с помощью генетичес-кого алгоритма // Вестник Пермского уни вер си
 тета,. Вып. (). 
 Пас аз рамзгузорӣ матне ҳосил мешавад, ки 
 андозааш ба андозаи матни ошкор баробар буда, ба ҳамон
 алифбо ифода карда мешавад. Қайд кардан ба маврид аст,
 ки ҳангоми рамзгузорӣ ва рамзкушоӣ ададҳои ҳосилшуда
 то бутун яклухт карда мешаванд. Дар ин навъ рамзгузорӣ
 ба сифати қимати ададии ҳарфҳо метавон аз ададҳои 
 ҳақиқӣ низ истифода кард. Бо мисоли кучаке истифодаи
 алгоритми мазкурро дида мебароем. 
 Мисол. Матни “АБГ” –ро ки дар алифбои ҳарфаи
 алифбои криллӣ навишта шудааст, бо истифода аз рамзи
 тригонометри рамзгузорӣ мекунем. Қимати калидҳои 
 махфӣ ва мегирем. Ҳар як ҳарфи алифбо 
 на бо як адад, балки бо ниминтервали ададҳои ҳақиқӣ 
 мувофиқ гузошта мешавад: 
 Ба сифати маркази интервалҳоро гирифта, ба 
 формулаи () мегузорем ва ҳосил мекунем. 
 ( ) 
 ( ) 
 ( ) 
 Дар натиҷа матни рамзгузошташуда ба сурати 
 “КХЖ” ҳосил мешавад. 
 Барои рамзкушоӣ бошад, аз формулаи () истифода
 бурда мешавад. 
 ( ) 
 ( ) 
 Қ а й д к а р 
 ( 
 да н л о 
 ) 
 з им ас т, к и у с ту в ор и и
 криптографиро дар ин ҷо ададҳои махфӣ кафолат 
 медиҳанд. 
 Барои рамзгузорӣ ва рамзкушоӣ кардан мувофиқан 
 метавон аз зербарномаҳои зерин истифода кард. 
 Барномаи рамзгузорӣ. 
 #include <iostream> 
 #include <string.h> 
 #include <cmath> 
 using namespace std; 
 int main(int argc, char** argv) { 
 string S=" man ba maktab"; 
 double z=.,dx=, x; 
 int i, n, k, y; 
 k=S.length(); 
 for (i=; i<k; i++){ 
 x=(int)S[i]; 
 y=(int)x+n*cos(z+i*dx); 
 y=y%; 
 S[i]=(char) y; 
 } 
 cout<<S<<endl; 
 return; 
 } 
 Барномаи рамзкушоӣ 
 #include <iostream> 
 #include <string.h> 
 #include <cmath> 
 using namespace std; 
 int main(int argc, char** argv) { 
 string S; 
 double z=.,dx=, x; 
 int i, n, k, y; 
 cin>>S; 
 cout<<”n=”; cin>>n; //n=; 
 k=S.length(); 
 for (i=; i<k; i++){ 
 x=(int)S[i]; 
 y=(int)x-n*cos(z+i*dx); 
 y=y%; 
 S[i]=(char) y; 
 } 
 cout<<S<<endl; 
 return; 
 } 
 Саволҳо барои мустаҳкамкунӣ 
 рамзи Сезар чӣ фарқ мекунад? 
 иборат аст? 
 тавр калид интихоб карда мешавад? 
 ФАСЛИ. МЕТОДҲОИ МУОСИРИ 
 РАМЗГУЗОРӢ 
 Боби. Методҳои рамзгузории бо 
 калидҳои кушода 
 То ҳол мо методҳои криптографиеро мавриди баҳс қарор
 додем, ки барои рамзгузорӣ ва рамзкушоӣ танҳо аз як калид
 истифода карда мешуд. Ҳоло бошад усули нави рамзгузориро
 дида меброем, ки дар барои рамзгузорӣ ва рамзкушоӣ калидҳои
 алоҳида истифода бурда мешавад. 
 Асосгузори методҳои криптографии бо 
 калидҳои кушода олимони амрикоӣ Уитфилд 
 Диффи (Whitfield Diffie) ва Мартин Ҳеллман (Martin
 Hellman) буда, инчунин новобаста аз онҳо Ралф
 Меркл (Ralph Merkle) низ ба ҳисоб меравад. Нахустин маротиба
 Диффи-Ҳеллман пешниҳод карданд, ки дар криптография на аз
 як калид, балки аз ду калид: калиди рамзгузорӣ ва
 калиди рамзкушоӣ истифода бурда шавад. Диффи ва
 Ҳеллман соли ин ақидаро дар конференсияи
 миллии компютерии Амрико пешниҳод карда, пас аз чанд моҳ
 https://en.wikipedia.org/wiki/Diffie%E%%Hellman_key_exchange
 таҳти унвони «New Directions in Cryptography» мақолаеро чоп
 карданд. 
 Пас аз як соли ин ҳодиса алгоритми рамзгузории 
 ассиметрии RSA пайдо шуд. Ин алгоритмро баъдан мавриди баҳс
 қарор медиҳем. 
 Соли Мартин Ҳеллман хизматҳои Меркл-ро ба назар
 гирифта, пешниҳод кард, ки ин алгоритм „алгоритми Диффи-
 Ҳеллман-Меркл“ номгузорӣ карда шавад. Бо назардошти 
 пешниҳод Мартин Хелман дар патенти U.S. Patent номи
 се муаллиф Ҳеллман, Диффи ва Меркл зикр карда шудааст.
 Декабри соли маълумоте пайдо шуд, ки гӯё соли 
 Малколм Вилямс алгоритми математикии дар асоси қонуни
 комутативии дараҷа, ҳангоми пай дар пай ба дараҷабардориро
 исбот карда будааст 
 =. 
 Методи мазкурро ме та вон а на логи алгоритми Диффи-
 Ҳеллман номид. 
 Шарҳи алгоритм 
 Фарз мекунем, ки ду муштарӣ бо номҳои Алӣ ва Валӣ
 мехоҳанд бо ҳамдигар мубодилаи итилоот кунанд. Фарз мекунем,
 ки ибтидо барои онҳо ду адади p ва маълум мебошанд. Баъдтар
 тарзи интихоби ин параметрҳоро мавриди баҳс қарор медиҳем.
 http://www.cse.msstate.edu/~ramkumar/diffie-hellman.pdf
 Барои сохтани калиди махфӣ ҳарду муштарӣ яктогӣ адади
 ихтиёрии тасодуфиро интихоб мекунанд: масалан, Алӣ — адади, Вали - ададӣ b. Пас аз ин, Алӣ қимати ифодаи зеринро ҳисоб
 карда, натиҷаро ба Валӣ равон мекунад. 
 Валӣ дар навбати худ қимати ифодаи 
 – ро ҳисоб намуда, натиҷ аро ба Алӣ равон мекунад. 
 Қадами навбати Алӣ дар асоси адади a ва B қимати
 ифодаи зеринро ҳисоб мекунад: 
 Дар ҳами н ҳол Валӣ д а р асоси адади b ва A қимати ифодаи
 –ро ҳисоб мекуна д: 
 Бе душвори метавон дид, ки Алӣ ва Валӣ як адад (калид)-ро
 ба даст меоранд: 
 Дар ҳақиқат: 
 Адади ҳосилшуда, я ъне ро онҳо мет авонанд ҳамчун
 калиди махфӣ истифода кунанд. Дар ин ҷо ададҳои ба 
 қадри кифоя калон буда, суиқасдкунанда наметавонад ҳангоми ба
 даст овардани A қимати ифодаҳои () ва () – ро ҳисоб кунад.
 Шакли схематикии ин алгоритм чунин аст: 
 Тавре, ки қайд кардем барои ҳисоб намудани 
 метавон аз методи modInverse() истифода кард.
 М исол. 
 import java.math.BigInteger; 
 import java.util.Scanner; 
 public class modPow{ 
 public static void main(String[] args) 
 { 
 BigInteger g,a,p,S; 
 Scanner sc=new Scanner(System.in); 
 g=sc.nextBigInteger(); 
 a=sc.nextBigInteger(); 
 p=sc.nextBigInteger(); 
 S=g.modPow(a, p); 
 System.out.println(S); 
 } 
 } 
 Дар амалия ба сифати a ва b ададҳои тартибӣ ва барои
 p тартиби истифода бурда мешавад. Адади шарт нест, ки
 калон бошад, одатан аз доираи даҳии якум гирифта мешавад.
 Қайд. Барои мубодилаи итилоот намудан, ибтидо адади содаи
 калони р ва адади g ( интихоб карда мешавад. Дар ин ҷо
 адади тавре интихоб карда мешавад, ки барои он ҳамаи ададҳои
 – ро ҳамчун дараҷаи гуногуни тасвир 
 кардан мумкин бошад. Барои таъмини бехатарии криптографӣ, адади
 { } 
 р тавре интихоб карда мешавад, ки шарти зеринро қаноат кунонад.
 дар ин ҷо низ ягон адади сода мебошад. Аз ин ҷо ба сифати
 метавон чунин ададеро интихоб кард, ки барои он нобаробариҳои
 зерин иҷро гарданд: 
 (*) 
 Мисол. Бигузор 
 мешавад, аз ин ҷо мешавад. Акнун параметри ро интихоб
 мекунем. Ибтидо месанҷем: азбаски 
 буда, шарти (*) иҷро намегардад, бинобар ин қимати д и гаре барои
 интихоб мекунем. Бигузор бошад, он гоҳ 
 мешавад. Тавре ки аён аст, барои ҳарду н обаробарии (*) иҷро
 мешаванд. Ҳамин тариқ, мо параметрҳои ро 
 интихоб кардем. 
 Одатан ададҳои p ва –ро яке аз тарафҳо интихоб карда, ба
 дигараш равон мекунад (дар шабака паҳн мекунад). 
 Тасдиқот. Бигузор Карим криптоаналитик аст. Ҳарчанд ки ӯ
 пайғомҳои Алӣ ва Валиро ба даст оварда бошад ҳам, наметавонад
 маълумоти асл (калидҳои махфиро)-ро иваз кунад. 
 Дурустии ин тасдиқотро бо мисол дида мебароем. Дар
 ҳақиқат, бигузор Муштариён Алӣ ва Валӣ параметрҳои зеринро
 интихоб ва ҳисоб карда бошанд. 
 s = калиди махфӣ. 
 = решаи ибтидоӣ аз рӯйи модули р ( ) 
 p = адади содаи кушода ( p = ) 
 = калиди махфии Алӣ ( ) 
 A = калиди кушодаи Алӣ ( ) 
 b = калиди махфии Валӣ ( b = ) 
 B == калиди кушодаи Валӣ ( ) 
 Алӣ Валӣ Карим 
 Қимат Намедонад Медонад Намедонад медонад намедонад
 p = b =? p = a =? p = a =? 
 = = = b =? 
 a = b = s =? 
 A = B = A = 
 mod mod = mod = 
 = 
 B = A = B = 
 mod mod = mod = 
 = s = 
 s = mod = s = 
 mod s = mod 
 = mod = s = 
 s = s = mod 
 mod mod = s = 
 = mod mod = 
 s = mod 
 mod s = 
 = 
 mod 
 s = 
 муштарӣ 
 Алгоритми Диффи-Ҳеллман на танҳо барои ду муштарӣ
 (иштирокчӣ) пешбинӣ шудааст, балки онро метавон барои якчанд
 муштари низ истифода кард. Ҳолатеро мебинем, ки Алӣ, Валӣ ва
 Карим якҷоя калиди умумӣ ҳосил мекунанд. Дар ин ҳолат
 пайдарпай амалҳо ба сурати зерин иҷро карда мешаванд:
 )Тарафҳо оиди параметрҳои алгоритм ва ба мувофиқа 
 мерасанд; 
 )Ҳар як муштарӣ мувофиқан калидҳои махфии худ — 
 –ро интихоб мекунад: 
 )Алӣ қимати ифодаи – ро ҳисоб карда ба Валӣ
 равон мекунад; 
 )Валӣ бошад, қимати ифодаҳои ва 
 ро ҳисоб карда, ба Кар и м мефиристонад; 
 )Дар навбати худ Карим қимати ифодаи 
 ва –ро ҳисо б карда ба Алӣ 
 мефиристонад, қимати 
 –ро ҳисоб карда ҳам чун ка л иди махфӣ н и гоҳ
 м е д орад. 
 )Алӣ қимати ифодаи 
 –ро ҳисоб кард а ҳамч ун калиди ма х фӣ нигоҳ
 до ш та, қимати –ро ҳисоб 
 карда ба Валӣ мефи ристон а д; 
 ) Валӣ барои ҳосил кардани калиди махфии умумӣ қимати
 ифодаи –ро ҳисоб 
 карда ҳамчун кали ди махфӣ ниго ҳ медо р а д; 
 Дар ин ҳолат ҳар як муштарӣ метавонад қиматҳои 
 мушоҳ ида кун ад, амм о дид а ни дил х оҳ ком б инатсияи
 ғайриимкон аст. 
 Ша к л и схематикии ин алгоритм чунин аст: 
 Рамзи Шамир соли аз тарафи криптоаналитикӣ изроилӣ
 Ади Шамир (Adi Shamir) барои мубодилаи 
 пайғомҳои махфӣ бо истифода аз алгоритми 
 Диффи-Ҳеллман сохта шудааст. 
 Рамзи мазкурро дида мебароем. Бигузор ду муштарӣ Алӣ
 ва Валӣ мехоҳанд тавассути канали алоқа бо ҳам мубодилаи
 итилоот кунанд, масалан, Алӣ мехоҳад, ки пайғоми m – ро ба Валӣ
 тавре равон кунад, ки касе аз моҳияти он огоҳ нагардад. Барои
 иҷрои ин амал Алӣ адади содаи бузурги -ро интихоб карда, ба
 Ади Шамир (яҳудӣ. רימש ידע, июли соли дар шаҳри Тел-
 Абиби Изроил ба дунё омадааст) — криптоаналитикӣ машҳури
 изроилӣ, олими соҳаи назарияи системаи ҳисобкуниниҳо,
 профессори информатики ва математикаи амалӣ дар институти
 Вейстман дорандаи лаурети Тюринг. 
 Валӣ равон мекунад. Илова бар ин, Алӣ ду адади ихтиёрии ва
 ро тавре интихоб мекунад, ки барои онҳо баробарии зерин
 иҷро гардад. 
 Ин ададҳоро Алӣ махфӣ нигоҳ медорад. Валӣ дар навбати
 худ ду адади ва ро тавре интихоб мекунад, ки барои онҳо
 баробарии зерин иҷро гардад: 
 Ин ададҳоро Валӣ махфӣ нигоҳ медорад. Пас аз ин, Алӣ бо
 истифодаи протоколи се зинагӣ пайғоми m – ро ба Валӣ равон
 мекунад. Агар (m ҳамчун адад дар назар гирифта мешавад)
 бошад, он гоҳ дарҳол равон карда мешавад. Дар ҳолати акс, агар
 бошад, пайғоми m ба сурати (дар ин ҷо 
 ) тасвир карда шуда, пайдарпай равон карда мешавад. Дар
 ин ҳолат барои рамзгузории ҳар як хуб мешавад, ки ҷуфтҳои
 (, ) ва (, ) интихоб карда шаванд, дар ҳолати акс
 эътиборнокии (надёжность) система кам мешавад. Дар ҳоли ҳозир
 чунин рамзро барои равон кардани ададҳое (калидҳои махфӣ) ки
 аз р хурданд истифода мебаранд. Аз ин рӯ ҳолати –ро 
 мавриди баҳс қарор медиҳем. 
 Умуман, алгоритми Шамир аз чор қадам иборат аст.
 Қадами. Алӣ адади ( пайғоми 
 ошкор) – ро ҳисоб карда, ба Валӣ равон ме к унад. 
 Қадами. Валӣ адади ро ба даст оварда, адади 
 ро ҳисоб карда, натиҷаро ба Алӣ равон мекунад.
 Қадами. Алӣ адади –ро ҳисоб карда, ба
 Валӣ равон мекунад. 
 Қадами. Валӣ адади –ро ҳисоб карда, 
 соҳиби матни ошкор мешавад. 
 Бедушворӣ дидан мукин аст, ки 
 )Адади ст, яъне дар натиҷаи амаликунии протокол аз
 Алӣ ба ҷониби Валӣ ҳақиқатан матни ошкор равон карда
 мешавад. 
 )Рамзшикан (злоумышленник) наметавонад, муайян кунад, ки
 чӣ гуна итилоот равон карда шудааст. 
 Исбот. Тавре медонем, дилхоҳ адади бутуни –ро метавон
 ба шакли тасвир кард, ки дар ин ҷо
 аст. Бинобар ин, аз рӯйи теоремаи Ферма
 ҳосил мекунем. 
 Дурустии қисми аввал и т а с д и қот аз баробарии зерин
 бармеояд. 
 Исботи қисми дуюми теорема аз фарзе, ки барои 
 муайянкунии m рамзшикан истифода мебарад, истифода 
 мекунем. Ибтидо он қимати -ро ҳисоб карда, пас ва дар охир
 қимати –ро ҳисоб мекунад. Аммо барои иҷрои ин амал ба
 рамзшикан лозим аст, ки масъалаи логарифмиронии дискретиро
 ҳал кунад, лекин дар амалия барои адади кифоя калони р ин амал
 ғайриимкон аст. 
 Методи ёфтани ҷуфтҳои ва - ро, ки 
 муодилаҳои () () –ро қаноат мекунонанд, тавзеҳ медиҳем. Барои
 ин кифоя аст, ки амалҳои яке аз муштариён, масалан Алиро
 нишон диҳем, амалҳои Валӣ низ ба ҳамин монанд иҷро карда
 мешаванд. Алӣ адади ро ба сурати тасодуфӣ тавре интихоб
 мекунад, ки бо байнан сода бошад. Пас аз ин, қимати бо
 истифода аз алгоритми васеъкардашудаи Евклид ҳисоб карда
 мешавад. 
 Мисол. Бигузор Алӣ мехоҳад пайғоми – ро ба Валӣ
 равон кунад. 
 Ҳал. Барои иҷрои ин амал ибтидо адади содаи ва 
 ро интихоб карда, сипас қимати 
 - ро ҳисоб мекунад. Ба ҳамин монанд Валӣ параметри
 (бо адади байни ҳам сода) – ро интихоб карда, қимати
 –ро ҳисоб мекунад. 
 Акнун онҳо аз қадамҳои алгоритми Шамир истифода
 мекунанд. 
 Қадами. 
 Қадами. 
 Қадами. 
 Қадами. 
 Ҳамин тариқ, Вал ӣ пайғоми фиристодашударо ба даст
 меорад. Намуди схематикии ин алгоритм чунин аст: 
 Рамз (алгоритми) Ал-Ҷамол соли - аз тарафи
 криптографӣ мисрӣ Тоҳир Ал-Ҷамол барои мубодилаи 
 Тоҳир Ал-Ҷамол -уми августи соли дар шаҳри Қоҳираи Миср ба дунё
 омадааст. Соли пас аз хатми мактаби миёна ба донишгоҳи Қоҳира дар
 факултети Электромеханика дохил шуд. Усули тадриси устодон ва чанд
 омилҳои дигар сабаб шуданд, ки Тоҳир донишгоҳро тарк карда, соли ба
 донишгоҳи Стенфорди Амрико дохил шуд. Бо роҳбарии Мартин Говард соли
 Тоҳир қадами нахустини худро ба олами криптографӣ ниҳод. Соли 
 унвони PhD ро дар донишгоҳи Стенфорд соҳиб шуд. Тоҳир дар ширкатҳои
 монанди Hewlett-Packard, Netscape, Kroll ва ғайра кору фаъолият кардааст.
 Соли Тоҳир ба сифати директори техникии 
 ширкати Tumbleweed Communications таъин шуд. 
 Илова бар ин, Тоҳир яке аз мушовирони директори Vindicia, ва
 ширкатҳои Onset Ventures, Glenbrook partners, PGP corporation, Arcot
 Systems, Finjan, Facetime, Simplified ва Zetta мебошад.
 мактубҳои рамзгузошташуда, тавассути канали алоқаи кушод,
 сохта шудааст. Фарқияти асосии методи мазкур аз методи Шамир
 дар он аст, ки дар ин метод танҳо як маротиба пайғом равон карда
 мешавад. Ҳоло шарҳи мухтасари методи Ал-Ҷамолро меорем.
 Бигузор якчанд муштарӣ бо номҳои Алӣ, Валӣ, Карим,...,
 мехоҳанд бо ҳамдигар тавассути канали алоқаи
 кушод (умумӣ) мубодилаи итилоот кунанд. Барои
 иҷрои ин амал аз алгоритми Ал-Ҷамол истифода
 карда мешавад. 
 Ибтидо барои ҳамаи гурӯҳи муштариён чунин адади содаи
 калони р ва адади интихоб карда мешавад. Ададҳои мазкурро
 метавонад яке аз онҳо интихоб карда ба дигарон равон кунад ва ё
 ҳамаи муштариён дар якҷоягӣ ин ададҳоро интихоб кунанд. Пас аз
 ин, ҳар як муштарӣ адади махфии ро 
 интихоб карда, мувофиқи он қимати ро ҳисоб мекунад. 
 Дар натиҷа ҷадвали з е рин ҳосил мешавад. 
 Муштарӣ Калиди махфӣ Калиди кушода 
 Алӣ 
 Валӣ 
 Карим 
 Акнун ба сифати намуна, нишон медиҳем, ки Алӣ чӣ
 тавр пайғоми m-ро ба Валӣ равон мекунад. Тавре ки 
 қаблан дар методи Шамир гуфта будем, ҳар як символи 
 мактуб ба сурати адади тасвир карда мешавад. 
 Қадами. Валӣ қимати ифодаи 
 ро ҳисоб карда, дар ш а бака интишор мекунад (ба Алӣ равон
 мекунад). 
 Қадами. Алӣ адади тасодуфии 
 ро интихоб карда, қимати ифодаҳои 
 ҳисоб мекунад ва нати ҷ а, ҷуфти (,C)-ро ба Валӣ равон
 мекунад. 
 Қадами. Валӣ ҷуфти ададҳои (,C)-ро ба даст оварда,
 қимати ифодаи зеринро ҳисоб мекунад. 
 Бе душворӣ дидан м у м к т ин аст, ки: 
 )Валӣ пайғоми ро ба даст меорад. 
 )Рамзшикан наметавонад ҳатто бо донистани ададҳои 
 C қимати ро ба даст орад. 
 Дар ҳақиқат, бо ифодаи () қимати С-ро ба ифодаи ()
 мегузорем. 
 Акнун ба сифати иф о даи ( ) в а ба сифати ифодаи ()-
 ро истифода, бурда ҳосил мекунем. 
 Аз ин ҷо мувофиқи теорем а и Ф ерма ҳосил мекунем:
 Ҳамин тари қ, д у р у стии пайғом и равонкардашуда исбот шуд.
 Барои исботи қисми дуюм, дида мешавад, ки душман бо
 истифода аз () наметавонад –ро ҳисоб кунад, чунки ин
 масъалаи логарифмиронии дискретӣ мебошад. Аз ин рӯ он
 наметавонад дар ифодаи () m–ро ёбад, чунки он бо адади
 номаълум зарб карда шудааст. Илова бар ин, душман наметавонад
 пайғоми Валиро низ ба даст орад, зеро барои он адади махфии
 низ номаълум мебошад. (ҳисобкунии аз рӯйи формулаи ()
 низ масъалаи логарифмиронии дискретӣ мебошад). 
 Мисол. Алӣ мехоҳад, ки пайғоми m= –ро ба Валӣ равон
 кунад. Параметрҳоро монанди мисоли дар рамзи Шамир дида
 баромадаамон интихоб мекунем, яъне p= ва =. Бигузор Валӣ
 адади тасодуфии (калиди мах-фӣ) ро интихоб карда 
 бошад, бо истифода аз () ро ҳисоб карда, 
 ба Алӣ равон мекунад. Алӣ дар на в бати худ ададӣ тасодуфии = -
 ро интихоб мекунад. Пас аз ин қимати ифодаҳои () ва ()
 ро ҳисоб карда, натиҷаҳои ҳосилшуда ва С–ро ба Валӣ равон
 мекунад. Валӣ бошад бо истифода аз () қимати ифодаи
 ро ҳисоб карда, пайғоми лозимиро ба даст меорад. 
 Ба ҳамин монанд, ҳамаи муштариён метавонанд бо ҳам
 мубодилаи итилоот кунанд. тавре ки аён аст, ҳар як муштарие, ки
 калиди кушодаи Валиро медонад метавонад бо он, пайғомеро, ки
 тавассути калиди кушодаи рамзгузорӣ шудааст, равон кунад.
 Лекин ба ғайр аз Валӣ каси дигар наметавонад, танҳо бо истифодаи
 калиди ба худаш махфии мактуби равонкардашударо 
 рамзкушоӣ кунад. Қайд кардан ба маврид аст, ки дар ин усули
 рамзгузорӣ ҳаҷми шифр аз ҳаҷми матн ду маротиба зиёдтар
 мешавад. 
 Ба намуди схематикӣ ин алгоритм шакли зеринро дорад:
 Рамзи RSA аз ҷониби се олими амрикоӣ Ривест 
 (Ron Rivesst), Шамир(Adi Shamir), Л.Адлеман (Leonard
 Роналд Линн Ривест(англ. Ronald Linn Rivest) соли дар шаҳри
 Скенектади штати Ню-Йорк ба дунё омадааст. Соли мактаби
 Adleman) сохта шудааст, ки то ҳоло васеъ истифода бурда
 мешавад. 
 Тавре ки медонем, рамзи 
 Шамир масъалаи равон кардани 
 иттилооти муҳимро тавассути 
 хати алоқаи кушода пурра ҳал 
 карда буд. Аммо иттилоот дар 
 ин вақт (тавассути ин рамз) аз як муштарӣ ба муштари
 дигар се маротиба равон карда мешуд, ин бошад норасоии
 алгоритми мазкурро ифода мекунад. Рамзи Ал-Ҷамол ин 
 масъаларо бо як маротиба равонкунӣ ҳал намуд, лекин дар
 давлатӣ «Niskayuna high school» -ро хатм кард. Соли дар
 донишгоҳи Иелск соҳиби унвони бакалавр шуда, соли бошад, дар
 донишгоҳи Стенфордс соҳиби унвони докторӣ Ph.D дар соҳаи илмҳои
 компютерӣ гардид. Ибтидо дар донишгоҳи Стенфорд дар соҳаи зеҳни
 сунъӣ кор карда, сипас ҳамчун математик ва информатикаи
 назариявӣ кор кард. Айни ҳол дар институти технологиии
 Массачусетия кор мекунад. Ҳамчун таҳиякунандаи алгоритмҳои
 криптографии RSA, RC, RC, RC, RC, MD, MD, MD, MD
 маъруф мебошад. 
 Леонард Макс Адлеман (англ. Leonard Adleman — Эйдлмен) -уми
 декабри соли дар Калифорнияи ИМА ба дунё омадааст. Соли
 Адлеман дар факултети илмҳои компютерии донишгоҳи
 Калифорнияи Ҷанубӣ ҳамчун коргари асосӣ ба кор оғоз кард. Соли
 соҳиби унвони профессори гардида, соли бошад, соҳиби
 рутбаи профессори илмҳои компютерии Генри Салватор (the Henry
 Salvatori professor of Computer Science) шуд. Илова бар ин ӯ биологияи
 молекулярӣ буда, ҳаммуалифӣ алгоритми RSA ва ҳисобкуниҳои ДНК
 мебошад. 
 ин рамз ҳаҷми иттилооти равонкардашуда, аз ҳаҷми 
 иттилооти ошкор ду маротиба зиёд мешавад. Системаи 
 RSA бошад, чунин норасоиҳоро бартараф намуд. 
 Алгоритми мазкур аз се қадам иборат мебошад. 
 Ҳоло ҳар яки ин қадамҳоро мухтасар мавриди баҳс қарор
 медиҳем 
 Қадами. Ибтидо калидҳои махфӣ ва ошкор интихоб 
 карда мешаванд. 
 ) Ду адади содаи интихоб карда 
 мешаванд. 
 ) Ададҳои додашударо зарб карда модул, яъне n-ро 
 меёбем: 
 ) Қимати функсияи Эйлер ҳисоб карда мешавад: 
 ) Чунин адади, ки шартҳои зеринро қаноат 
 мекунонад, интихоб карда мешавад. 
 метавон ададҳои,,, -ро истифода кард. 
 метавон ададҳои,, -ро истифода кард.. 
 Дар ин ҷо Алӣ ҷуфти ададҳои — ро ҳамчун 
 калиди кушода интихоб карда, ба Валӣ равон мекунад. Пас
 { } 
 аз ин, Алӣ калиди махфиашро интихоб мекунад. Барои 
 иҷрои ин амал, бояд ададе интихоб карда шавад, ки аз
 рӯйи модули ба адади баръакс бошад, яъне d интихоб 
 карда мешавад. Дар ин ҷо метавонад бо назардошти 
 маълумотҳои дар боло овардашуда - ро истифода 
 кард. Ҳамин тариқ, ҷуфти ададҳои ро Алӣ ҳамчун 
 калиди махфии интихоб карда, махфӣ нигоҳ медорад. 
 { } 
 Қадами. Рамзгузорӣ. 
 Пас аз интихоби параметрҳои лозимӣ Алӣ 
 метавонад ба рамзгузорӣ оғоз кунад. Масалан, барои 
 рамзгузорӣ намудани матни m= бо истифода аз 
 калидҳои {e, n} = {, } чунин амал карда мешавад. 
 Алӣ бо истифода аз формулаи матни 
 додашуда рамзгузорӣ карда, натиҷаи ҳоси лшуда, яъне 
 С=-ро ба Валӣ равон мекунад. 
 Қайд. Набояд қимати ададии пайғом m аз адади n калон
 бошад, вагарна ягон натиҷаи дуруст ба даст намеояд. 
 Қадами. Валӣ пас аз оне, ки пайғоми Алиро ба 
 даст меорад, бо истифода аз калидҳои 
 метавонад матнро рамзкушоӣ кунад. Барои иҷрои 
 { } 
 ин амал, аз формулаи 
 { } 
 истифода карда, пайғоми аслро ба даст меор а д. 
 Мисол. Бо истифода аз алгоритми RSA пайғоми 
 m=САВ рамзгузорӣ карда шавад. 
 Ҳал. Ибтидо ададҳои содаи - ро 
 интихоб карда, қимати модул ва функсияи 
 Эйлер ҳисоб карда мешавад. Пас 
 аз ин, Алӣ метавонад ба сифати d адади ва бо сифати е
 адади -ро интихоб кунад. 
 Матни додашуда ҳамчун адади бутуни фосилаи аз 
 то тасвир карда мешавад, масалан, ҳарфи А =, В=,
 С= ва ғайра. 
 Али бо истифода аз калиди кушодааш матни 
 додашударо рамзгузорӣ мекунад. 
 { } 
 Барои рамзку шоӣ кардан Валӣ аз калидҳои 
 пушидаи матни рамзгузошташударо рамзкушоӣ 
 мекунад. 
 { } 
 Ҳамин тариқ, матн рамзкушоӣ карда мешавад. 
 Шакли схематикии ин алгоритм чунин аст. 
 гузариши махфӣ (тайный ход) 
 Дар мавзӯӣ қаблӣ варианти таълимии рамзи RSA 
 мавриди баҳс қарор гирифта буд. Ҳоло бошад, ба таври
 пурра рамзи мазкурро дида мебароем. 
 Қайд мекунем, ки системаи RSA метавонад, аз як 
 элементи криптографии муосир, функсияи яктарафа бо 
 гузариши махфӣ (trapdoor function) истифода барад. 
 Ин система аз ду далели назарияи ададҳо ташкил 
 ёфтааст. 
 ) Масъалаи тафтиши сода будани адад, нисбати (қиёсан)
 осон мебошад. 
 ) Масъалаи ҷудокунии адади намуди 
 ба зарбкунандаҳо хеле душвор мебошад, 
 агар мо танҳо n-ро донем, ададҳои калон (ин 
 масъала фактаризатсия номида мешавад). 
 Бигузор дар системаи мо муштариён бо номҳои 
 Алӣ, Валӣ, Карим,…. мавҷуд бошанд. Ҳар як муштарӣ ду
 адади тассодуфии содаи бузургии интихоб 
 карда, сипас қимати адади 
 () 
 -ро ҳисоб мекунад. Дар ин ҷо N- иттилооти кушода буда,
 барои ҳамаи муштариён дастрас мебошад. 
 Баъд аз ин муштарӣ қимати адади 
 ро ҳисоб карда, адади ихтиёрии ки ба 
 байнан сода мебошад, интихоб мекунад. Баъд ин тавассути
 алгоритми васеъкардашудаи Евклид, чунин адади 
 ҳисоб мекунад (меёбад), ки барои он баробарии зерин 
 иҷро гардад 
 () 
 Ҳамаи иттилоотҳои муштариён, чӣ калиди махфӣ 
 ва чӣ калиди пушида дар ҷадвали зерин гирд оварда 
 шудаанд. 
 Муштариён Калиди махфи Калиди кушода 
 A 
 B 
 C 
 Бигузор Алӣ мехоҳад, пайғоми ро ба Валӣ 
 равон кунад. Дар ин ҷо пайғоми ҳамчун ададе, ки 
 шарти қаноат мекунонад, тасвир карда 
 мешавад. (Дар оянда индекси B – ишорагарӣ он аст, ки
 параметрҳо ба Валӣ таалуқ доранд ) 
 Қадами. Алӣ мактубро бо истифодаи 
 параметрҳои кушодаи Валӣ ва формулаи 
 () 
 рамзгузорӣ карда, та в ассути хати алоқаи кушод, қимати
 ро ба Валӣ равон мекунад. 
 Қадами. Валӣ пайғоми рамзгузоштаро ба даст 
 оварда, қимати 
 () 
 -ро ҳисоб мекунад. 
 Тасдиқоти. Барои протоколи RSA 
 аст, яъне Валӣ пайғоми аслро аз Алӣ ба даст меор ад.
 Исбот. Аз тарзи сохтани протокол истифода 
 мебарем 
 Баробари и () м аънои онро д о рад, ки барои ягон k
 баробарии зерин иҷро мегардад. 
 Бо назардошти функсияи Эйлер ҳосил мекунем., 
 яъне дар ин ҷо функсияи Эйлер мебошад. Аз ин ҷо 
 ва хосияти функсияи Эйлер ҳосил мекунем.. 
 Тасдиқоти. (Х о с и я т и протоколи RSA ) 
 ) Протокол иттилоотро дуруст (корректно) рамзгузорӣ ва
 рамзкушоӣ мекунад. 
 ) Душман ( злоумышленник ) ҳангоми калон будани 
 ҳарчанд, ки ҳамаи иттилоот ва параметрҳои 
 кушодаро низ ба даст оварад наметавонад пайғоми аслро
 ба даст орад. 
 Исбот. Исботи қисми аввали тасдиқот аз тасдиқи 
 бармеояд. Барои исботи қисми дуюми тасдиқот пайхас 
 мекунем, ки душман танҳо параметрҳои 
 медонад. Барои ёфтани он бояд қимати 
 -ро донад, лекин барои ин талаб карда мешавад, ки 
 параметрҳои низ донад. Умуман он метавонад 
 N-ро ба зарбкунандаҳо ҷудо карда ро ба даст орад, 
 лекин ин масъала хеле душвор мебошад. 
 Функсияи яктарафаи дар системаи 
 RSA истифодашаванда функсияе м ебошад, ки имконияти 
 ба таври сода ҳисобкунии функсияи ро дар 
 сурати маълум будани ҷудокуни N ба зарбшавандаҳо 
 √ 
 фароҳам меорад. (Дар ҳақиқат метавон ба содагӣ аввал
 қимати ва боъд қимати 
 ро ҳисоб кард). Агар номаълум бошанд, 
 он гоҳ ҳисобкунии қимати функсияи баръакс дар амалия
 ғайриимкон (душвор) мебошад. Чунин функсияҳои 
 яктарафа дар дигар бахшҳои криптография низ татбиқ 
 карда мешаванд. 
 Қайд мекунем, ки барои схемаҳои RSA, ба ҳар як 
 муштарӣ зарур аст, ки ҷуфти ададҳои содаи и 
 худро интихоб кунанд, яъне ҳамаи модулҳои 
 бояд гуногун бошанд. (дар акси ҳол як муштарӣ метавонад
 иттилооти барои муштарии дигар пешбинишударо 
 хонад). Аммо ин аз параметри дуюми талаб карда 
 намешавад. Параметри метавонад барои ҳамаи 
 муштариён якхела бошад. Баъзан пешниҳод карда 
 мешавад, ки (бо мувофиқати ) интихоб карда 
 шавад. он гоҳ рамзгузорӣ хеле зуд, танҳо бо иҷрои ду
 амали зарб иҷро карда мешавад. 
 Мисол. Фарз мекунем, ки Алӣ мехоҳад пайғоми 
 ро ба Валӣ равон кунад. Бигузор Валӣ 
 параметрҳои зеринро интихоб карда бошад: 
 ( байниҳам сода мебошанд). Бо истифода 
 аз алгоритми васеъкардашудаи Евклид, қимати ро 
 меёбад.. Пайғоми ро бо истифода бо 
 формулаи () рамзгузорӣ мекунад: 
 Адади -р о Алӣ ба Валӣ тавассути канали алоқаи
 кушод равон мекунад. Танҳо Валӣ ро медонад, 
 бинобар ин, бо истифодаи формулаи () пайғоми ба 
 дастовардаашро рамзкушоӣ мекунад 
 Ҳа мин тариқ, Вал ӣ пайғоми Алиро рамзкушоӣ 
 кард. 
 Як норасоии рамзи RSA –ро ҳангоми калон будани 
 дида мебароем. Бигузор Алӣ мехоҳад бо истифода 
 аз параметрҳои кушодаи Валӣ (ададҳои ) 
 пайғомеро ба ӯ равона кунад. Дар ин ҳолат душман 
 наметавонад, пайғоми барои Валӣ пешбинӣ шударо 
 хонад, аммо метавонад, аз номи Алӣ ба Валӣ пайғом равон
 кунад. Барои ҳалли ин масъала аз протоколҳои 
 душвортаре истифода бурда мешавад, масалан ҳолати 
 зерин. 
 Алӣ мехоҳад пайғоми ро ба Валӣ равон кунад. 
 Ибтидо Алӣ адади ро ҳисоб мекунад. 
 Душман бошад, ин амалро и ҷро карда наметавонад, чунки
 махфӣ мебошад. Пас аз ин, Алӣ қимати 
 ро ҳисоб карда қиматашро ба Валӣ равон 
 мекун а д. Валӣ ро ба даст оварда, пайдарпай ададҳои
 ро ҳисоб мекунад. 
 Дар натиҷа, Валӣ п айғом ро ба даст меорад. 
 Монанди схемаи муқаррарии RSA дар ин ҷо низ душман 
 наметавонад, пайғомро хонад, аммо фарқияти асосӣ дар
 он аст, ки дар ин ҷо душман наметавонад аз номи Алӣ 
 пайғом равон кунад. (Чунки адади махфии ро 
 намедонад). 
 Дар ин ҷо мо ба ҳолати нав дучор омадем. Валӣ 
 медонад, ки пайғом аз Алӣ омадааст, яъне Алӣ онро 
 тавассути калиди махфии рамзгузорӣ карда “имзо” 
 гузоштааст. Ин мисоли “имзои электронӣ” ба ҳисоб 
 меравад. Дар криптографияи муосир аз ин имзоҳо ба 
 таври васеъ истифода бурда мешуд. Дар оянда “имзоҳои
 электронӣ”-ро пурратар дида мебароем. 
 Ба намуди схематикӣ ин алгоритм шакли зеринро дорад:
 Алгоритми Рабин дар асоси масъалаи душвори 
 факторизатсияи ададҳои калон асос ёфтааст, ки
 соли аз тарафи криптогарфи изроили 
 Михаэл Ошер Рабин (нем. Michael Oser 
 Rabin, ибр. ןיבִ רַ רש(cid:) ֹא לאֵ כָ ימִ,) сохта шудааст. Дақиқан, ин
 алгоритм бо масъалаи мураккаби ҳисобкунии решаи 
 квадратӣ аз рӯйи модули адади алоқаманд 
 мебошад. Бинобар ин, аз рӯйи баъзе муносибатҳо методи
 мазкур нисбат ба методи RSA устувортар мебошад. 
 Қаблан дар боби тарзи ҳисобкунии решаи квадратӣ аз
 Михаэл Рабин соли дар шаҳри Бреслау (пештар Вротслав), ба дунё
 омадааст. Соли дар донишгоҳи яҳудии Иерсулим магистратураро хатм
 кард. Соли дар донишгоҳи Принстонск рисолаашро ҳимоя карда
 доктори фалсафа шуд. Сар карда аз сентябри соли ӯ дар соҳаи бехатарии
 компютер корҳои татқиқотӣ бурда, дар донишгоҳҳои Иерусалим
 ва Гарвардия дарс мегӯяд. Дорои унвони фахрии дошишгоҳҳои Бордо (),
 Хайф (), донишгоҳи озоди (кушоди) Изроил (), донишгоҳи Бен-
 Гуриона (), донишгоҳи Вротслав (). 
 рӯйи модули додашударо мавриди баҳс қарор дода будем.
 Ҳоло бошад, алгоритми Рабинро мухтасар мавриди баҳс 
 қарор медиҳем. Моҳияти алгоритми мазкур чунин аст: 
 Ду адади содаи гуногун тавре интихоб карда 
 мешаванд, ки баробарии зеринро қаноат кунонанд: 
 Чунин интихоби махсус, аз рӯйи модулҳои ва 
 ҷараёни аз реша барориро хеле тез мегардонад. Калиди
 махфӣ дар рамзи мазкур ҷуфти ададҳои ба ҳисоб 
 мераванд. Калиди ошкор бошад, ҳосили зарби калидҳои 
 махфӣ ва интихоби адади тасодуфии 
 мебошад, яъне ҷуфти ададҳои ( ) 
 калиди кушода ба ҳисоб мераванд. 
 { } 
 Барои рамзгузории матни аз формулаи зерин 
 истифода бурда мешавад: 
 Қайд кардан ба маврид аст, ки амали рамзгузорӣ аз
 амалҳои ҷамъ ва зарб аз рӯйи модули ташкил ёфтааст. 
 Бинобар ин, суръати разгузорӣ дар муқоиса бо методи 
 RSA тезтар мебошад. 
 Барои рамзкушоӣ бошад, аз формулаи 
 истифода бурд а ме√шава д. 
 Азбаски ҳосили зарби ду адади содаи 
 мебошад, бинобар ин, чор ҳолати (имконияти) решаи 
 квадратӣ аз рӯйи модули N мавҷуд аст. Аз ин рӯ, ҳангоми
 рамзкушоӣ чор варианти матни ошкор ба даст меояд. 
 Бе душвори метавон дид, ки ҳангоми рамзкушоӣ 
 матни ошкор ба даст меояд. Дар ҳақиқат, қимати С-ро аз
 формулаҳои () ба () гузошта ҳосил мекунем: 
 √ √ 
 √ √ 
 Дар ин ҷо интихоби решаи дуруст, аз байни ҳамаи
 ҳолатҳои имконпази р фарз карда шудааст. 
 Мисол. Бигузор калидҳои кушода ва пушида шакли 
 зеринро дошта бошанд:. 
 Барои рамзгузории пайғоми аз формулаи 
 () истифода бурда ҳосил мекунем. 
 Барои рамзкушоӣ бошад, ибтидо қимати 
 ро ба даст оварда, аз рӯйи модули решаи 
 ҳисоб мекунем: 
 Пас аз ин, бо истифода аз ТЧБ аз ҷуфти 
 √ √ 
 ва 
 решаи квадратии адади ро (аз рӯӣ модули ) меёбем: 
 ё 
 Дар ин ҷо чор варианти рамзкушоӣ 
 √,, ё 
 аз формулаи ба даст меояд. 
 Намуди схематикии ин алгоримт чунин аст: 
 Саволҳо барои мустаҳкамкунӣ 
 калидҳои кушода шуд? 
 кай сохта шудааст? 
 Диффи-Ҳеллман чӣ тавр метавонанд калиди умумӣ 
 созанд? 
 ё зиёда муштари истифода кард? 
 итилоот рамзгузорӣ карда мешавад? 
 бартари дорад? 
 аст? 
 интихоб карда мешавад? 
 Боби. Имзоҳои электронӣ-рақамӣ 
 Маълумот оиди имзои электронӣ 
 Пас аз пайдоиши методҳои рамзгузорӣ бо калидҳои
 кушода, инқилоби бузурге дар шабака ва технологияҳои
 муосир ба вуҷуд омад. Дар ин ҳангом имконияти ҳалли 
 масъалаҳое, ки солҳо ҳалнашаванда буданд, пайдо гашта,
 дар амалия татбиқи хеле зиёд пайдо карданд. Яке аз 
 воситаҳои муҳиме, ки дар ин давра ба вуҷуд омад, ин 
 имзои электронӣ ё рақамӣ мебошад. Дар бисёр 
 кишварҳои ҷаҳон аз ҷумла Россия оиди имзои электронӣ
 (рақамӣ) стандарт қабул карда шуда, ин мафҳум дар 
 қонунгузории шаҳрвандӣ низ истифода бурда мешавад. 
 Пеш аз мавриди баҳс қарор додани методҳои 
 криптографӣ дар имзоҳои электронӣ се хосияти асосии 
 имзои электронӣ (ҳатто имзои дастӣ) – ро дида мебароем.
 ) Ҳуҷҷатҳоро танҳо соҳибони “қонунӣ” метавонанд 
 имзо гузоранд (яъне ҳеҷ кас наметавонад аз номи 
 (ҷойи) дигар кас имзо гузорад. 
 ) Соҳиби имзо метавонад аз он даст кашад. 
 ) Дар ҳолати пайдошавии баҳс барои муайянкунии 
 соҳияти имзо шахси сеюм, масалан, судя метавонад 
 низ иштирок кунад. 
 Имзоҳои электронӣ бояд ҳамаи ин хосиятҳоро доро 
 бошанд. Баръакси имзоҳои дастӣ соҳибони имзоҳои 
 рақамӣ метавонанд аз ҳамдигар дар масофаи ҳазорҳо 
 километр дур ҷойгир бошанд ва бо ҳамдигар тавассути 
 шабака мубодилаи иттилоот кунанд. 
 Ба ғайр аз имзоҳои муқарарӣ, дар дунёи воқеӣ 
 имзоҳои дигаре, ки имзоҳои нотариалӣ ном доранд низ 
 мавҷуданд. Дар имзоҳои мазкур шахси муайяне (нотариус)
 тавассути муҳр ва имзоҳои худ ҳуҷҷатҳоро тасдиқ мекунад.
 Пас аз ин, дилхоҳ шахси дигар метавонад ба соҳибияти
 онҳо гувоҳӣ диҳад. Имзои электронии нотариалӣ, айнан
 монанди имзоҳои дигар амалӣ карда мешавад (гузошта 
 мешавад). 
 Барои ба моҳияти имзоҳои электронӣ сарфаҳм 
 рафтан, ибтидо ҳэш-функсияҳо ва сипас якчанд алгоритми
 сохтани имзои элктронӣ-рақамиро мавриди баҳс қарор 
 медиҳем. 
 Ҳэш-функсияҳо 
 Ҳэш-функсия (hash function) дар ҳимояи иттилоот
 роли муҳим бозида, барои ҳимояи ҳуҷҷатҳои электронӣ 
 аз модификатсия ва тағйирдиҳӣ сохта шудааст. Бо маънои
 том функсияи ҳэширонӣ ё ҳэш-функсия гуфта, чунин 
 функсияи Н-ро меноманд, ки хосиятҳои зеринро қаноат 
 мекунонад: 
 ) Барои блоки дилхоҳ дарозӣ доштаи итилоот 
 татбиқшаванда будан. 
 ) Ба сифати натиҷа ҳосил кардани дарозии қайд 
 кардашуда (масалан, дар функсияи ҳэширонии 
 класикии MD - бит, дар стандартӣ амрикоии SHA-
 бит). 
 ) Нисбатан тез будани ҳисобкунии қимати 
 (дар вақти полиномалӣ аз дарозии пайғоми М). 
 ) Аз рӯӣ Н-и додашуда ёфтани чунин М, ки 
 шавад ғайриимкон будан. 
 ) Номумкин будан аз рӯйи ҳисобкунӣ барои дилхоҳ 
 ёфтани чунин ки шавад. 
 ) Ғайриимкон будани ёфтани ҷуфти дилхоҳи, ки 
 шавад. 
 Ҳэш-функсияе, ки фақат хосияти авваларо қаноат
 мекунонад, ҳэш-функсияи сода ё суст номида мешавад. 
 Ҳэш-функсияи устувор ҳэшфунксияст, ки ҳамаи 
 хосиятҳои --ро қаноат мекунонад. 
 Барои ҳисобкунии ҳэш-функсия усулҳои зиёде 
 мавҷуданд. Ҳоло як усули содатаринро дида мебароем. 
 Бигузор пайғоми дода шуда бошад, барои ҳисобкунии 
 ҳэш-функсияи он, яъне аз формулаи зерин истифода 
 бурда мешавад. 
 () 
 дар ин ҷо – қимати ададии ҳарфҳои (символҳои) матни 
 додашуда, n ягон адади сода мебошад. дорои хосиятҳои
 зерин мебошад. 
 Мисоли. Ҳэш-функсияи матни КАРИМ бо 
 истифода аз калиди ҳисоб карда шавад. 
 Символҳои Қимати 
 матни ададии 
 додашудаи символҳои 
 К mod n=(+) 
 mod = 
 А mod n=(+) 
 mod = 
 Р mod n=(+) 
 mod = 
 И mod n=(+) 
 mod = 
 М mod n=(+) 
 mod = 
 Аз ин ҷо қимати ҳэш-функсия ба 
 баробар мешавад. 
 Мисоли. Ҳэш-функсияи матни МАША-ро бо 
 истифода аз калиди (, ) ҳисоб карда шавад. 
 Символҳои Қимати 
 матни ададии 
 додашудаи символҳои 
 М mod n=(+) 
 mod = 
 А mod n=(+) 
 mod = 
 Ш mod n=(+) 
 mod = 
 А mod n=(+) 
 mod = 
 Аз ин ҷо қимати ҳэш-функсия ба 
 баробар мешавад. 
 MD (англ. Message Digest) алгоритми ҳэширонии 
 бити буда, соли аз тарафи Р.Ривест корманди
 донишкадаи Массачусетский (ИМА) сохта шудааст. 
 Алгоритми мазкур барои сохтани нақш ё дейджести 
 пайғоми дарозии дилхоҳ дошта истифода шуда, версияи 
 беҳтаркардашудаи (аз нуқтаи назари бехатарӣ) алгоритм
 ба ҳисоб меравад. Қаблан алгоритмҳои MD, MD ва ғайра
 мавҷуд буданд. Ин алгоритмро барои тафтиши соҳибияти
 пайғомҳои нашршуда тавассути муқоисаи дейджести 
 пайғом (бо нашри ҳэшҳо) истифода бурда мешавад. 
 Алгоритм тавре сохта шудааст, ки дар 
 протсессорҳои разрияда тез кор мекунад. Дар алгоритм
 ҷадвалҳои ҷойгузории бисёр истифода бурда намешавад.
 Ҳангоми тавзеҳи алгоритм зери мафҳуми калима 
 пайдарпайии -бита фаҳмида мешавад. 
 Пайдарпайии битҳо метавонанд ҳамчун 
 пайдарпайии байтҳо, ки ҳар кадомашон ба бит баробар
 мебошанд, инъикос карда шаванд. Дар дохили байт битҳо
 бо чунин шакл гузошта мешаванд: ибтидо (аз тарафи чап)
 байтҳое маънои бештар дошта (битҳои калон, ки дорои 
 дараҷаи дӯӣ калон мебошанд: ) дар охир (тарафи 
 рост) битҳои маънои камтар до шт а (битҳои хурд, ки бо
 мувофиқанд). Чунин тартиби гузаштани бит (ё 
 байт) big-endian (тартиб аз калон ба хурд) номида 
 мешавад. 
 Пайдарпайии байтҳоро метавонад, ҳамчун 
 пайдарпайии калимаҳои -бита интерпритатсия кард, 
 дар ин ҷо ҳар як пайдарпайии гурӯҳи аз чор байт як 
 калимаро ифода мекунад. Дар дохили калима байтҳо 
 чунин гузошта мешаванд: ибтидо байтҳои маънои камтар
 дошта, сипас маънои зиёдтар. Чунин тартиби гузориши 
 бит (ё байт) ittle-endian (тартиб аз хурд ба калон) номида
 мешавад. 
 Масалан, агар пайдарпайии битҳо (қайд карда 
 шуда) чунин дода шуда бошанд. 
 Онгоҳ онро метавон ҳамчун байтҳои гузошташуда
 ( -ададҳои шонздаҳӣ) ё ҳамчун 
 калимаи инъикос (тасвир) кард. 
 Бигузор амали ҷамъро аз рӯйи модули 
 ифода кунад, я ъне. Бигузо р 
 ифодаи –лағжиши даврии адади р о ба андозаи 
 ба тарафи чап ифода кунад. 
 Шарҳи алгоритм 
 Бигузор пайғоми М, ки дарозиаш ба баробар аст 
 дода шуда бошад ва ҳисобкунии ҳэш-функсияи он талаб 
 карда шавад. Дар ин ҷо адади –ягон адади мусбат 
 мебошад (каратии будани он шарт нест). Пас метавон
 пайғоми М-ро ба намуди пайдарпайии битҳои 
 инъикос кард. 
 Барои ҳисобкунии ҳэш-функсияи қадамҳои зеринро 
 иҷро мекунем: 
 Қадами. Ҳамроҳкунии битҳои иловагӣ. Дар охири
 пайғом бити '' илова карда, пас аз он то замоне, ки
 дарозии пайғоми ҳосилшуда шарти –ро 
 қаноат кунонидан бити сифрӣ ('') ҳамроҳ карда мешавад.
 Ҳамин тариқ, метавон аз то бит ҳамроҳ кард. 
 Пас аз ин, лозим аст, ки пайғомро аз пайдарапайии
 битҳо, ки ба шакли байтҳо гурӯҳбанди шудааст, ба 
 пайдарпайии калимаҳо, бо назардошти қоидаи little- 
 endian табдил дод. 
 Қадами. Иловакунии дарозии пайғоми ибтидоӣ. 
 Дар охири натиҷаи аз қадами ҳосилшуда бити хурд,
 ки аз шакли дӯии адади (пайғоми ибтидоӣ) ҳосил 
 шудааст, илова карда мешавад. Дар ин ҳангом аввал 
 байти хурд, ва сипас байтҳои калон навишта мешаванд.
 Дар натиҷа пайғоме ҳосил мешавад, ки дарозиаш ба 
 бит баробар аст, яъне пайғоме ҳосилшударо метавон ба
 блокҳое, ки шакли калимаи битаи шонздаҳиро доранд:
 (дар ин ҷо N каратии аст) тақсим кард.
 Қадами. Қимати ибтидоӣ бахшидан ба буфер. 
 Буфер аз калимаҳои -битаи ( ) иборат буда, 
 барои ҳисобкунии ҳэш-функсия истифода мешавад. Дар 
 ибтидоӣ кори алгоритм ба буфер қиматиҳои ибтидоии 
 зерин бахшида мешаванд. 
 Илов а б а р и н, ч о р ф ун к с и я е, к и д а р о я н д а истифода
 мешаванд, муайян карда мешаванд. Дар ин ҷо, 
 амалҳои битӣ мебошанд. 
 Дар охир ҷадвали доимиҳои муайян карда 
 мешавад, дар ин ҷо элементи –юм тавассути формулаи 
 зерин муайян карда мешавад. 
 T 
 T[i]=int( ∙│sin (i) ), 
 дар ин ҷо бо радиан буда,. мебошад. 
 Қадами Даври (сикли) асосӣ. Ҳар як қ адами сикли
 дохилӣ (аз рӯӣ параметри ) аз коркарди як блоки 
 битаи блоки пайғом иборат мебошад. 
 for i = to N/- do 
 // Нусхабардории блоки i-юми пайғом ба массиви X 
 For j = to do 
 X[j] = M[i* + j]. 
 end 
 // Сабти қимати ҷории буфер 
 AA = A 
 BB = B 
 CC = C 
 DD = D 
 // Раунди 
 // Бигузор навишти [abcd k s i] табдилдихии зеринро
 ифода кунад: 
 // a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s) 
 // табдилдиҳии зерин иҷро карда мешавад 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA
 ] 
 // Раунди 
 // Бигузор навишти [abcd k s i] табдилдихии зеринро
 ифода кунад: 
 // a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s) 
 // табдилдиҳии зерин иҷро карда мешавад 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 // Раунди 
 // Бигузор навишти [abcd k s i] табдилдихии зеринро
 ифода кунад: 
 // a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s) 
 //онгоҳ табдилдиҳии зерин иҷро карда мешавад 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 // Раунд 
 // Бигузор навишти [abcd k s i] табдилдихии зеринро
 ифода кунад: 
 // a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s) 
 // онгоҳ табдилдиҳии зерин иҷро карда мешавад 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 [ABCD ] [DABC ] [CDAB ] [BCDA 
 ] 
 // Ба қимати буфери ҷорӣ қимати буфер ҳамроҳ 
 карда мешавад 
 //Блоки ҷории пайғом дар ибтидоӣ коркард сабт карда
 мешавад 
 A = A + AA 
 B = B + BB 
 C = C + CC 
 D = D + DD 
 End. 
 Қадами. Қимати ҳисобкунии ҳэш-функсия битҳои 
 калимаҳои мебошанд, яъне битҳои натиҷа ки аз 
 битҳои хурди байти оғоз гардида, ба битҳои калони 
 калимаи ба охир мерасад. 
 Алгоритми коркарди пайғом ба намуди псевдокод 
 шакли зеринро дорад: 
 var int[] s, K 
 //s specifies the per-round shift amounts 
 s[..]:= {,,,,,,,,,,,,,,, } 
 s[..]:= {,,,,,,,,,,,,,,, } 
 s[..]:= {,,,,,,,,,,,,,,, } 
 s[..]:= {,,,,,,,,,,,,,,, } 
 //Use binary integer part of the sines of integers
 (Radians) as constants: 
 for i from to 
 K[i]:= floor( × abs(sin(i + ))) 
 end for 
 //(Or just use the following precomputed table):
 K[.. ]:= { xdaa, xecb, xdb,
 xcbdceee } 
 K[.. ]:= { xfcfaf, xca, xa,
 xfd } 
 K[..]:= { xd, xbfaf, xffffbb,
 xcdbe } 
 K[..]:= { xb, xfd, xae,
 xb } 
 K[..]:= { xfe, xcb, xea,
 xebcaa } 
 K[..]:= { xdfd, x, xdae,
 xedfbc } 
 K[..]:= { xecde, xcd, xfdd,
 xaed } 
 K[..]:= { xaee, xfcefaf, xfd,
 xdaca } 
 K[..]:= { xfffa, xf, xdd,
 xfdec } 
 K[..]:= { xabeea, xbdecfa, xfbbb,
 xbebfbc } 
 K[..]:= { xbec, xeaafa, xdef,
 xd } 
 K[..]:= { xddd, xedbe, xfacf,
 xcac } 
 K[..]:= { xf, xaff, xaba,
 xfca } 
 K[..]:= { xbc, xfccc, xffeffd,
 xdd } 
 K[..]:= { xfaef, xfecee, xa,
 xea } 
 K[..]:= { xfe, xbdaf, xaddbb,
 xebd } 
 //Initialize variables: 
 var int a:= x //A 
 var int b:= xefcdab //B 
 var int c:= xbadcfe //C 
 var int d:= x //D 
 //Pre-processing: adding a single bit 
 append "" bit to message 
 //Pre-processing: padding with zeros 
 append "" bit until message length in bits ≡ 
 (mod ) 
 append original length in bits mod ( pow ) to
 message 
 //Process the message in successive -bit chunks:
 for each -bit chunk of message 
 break chunk into sixteen -bit words M[j], ≤ j ≤
 //Initialize hash value for this chunk: 
 var int A:= a 
 var int B:= b 
 var int C:= c 
 var int D:= d 
 //Main loop: 
 for i from to 
 if ≤ i ≤ then 
 F:= (B and C) or ((not B) and D) 
 g:= i 
 else if ≤ i ≤ 
 F:= (D and B) or ((not D) and C) 
 g:= (∙i + ) mod 
 else if ≤ i ≤ 
 F:= B xor C xor D 
 g:= (∙i + ) mod 
 else if ≤ i ≤ 
 F:= C xor (B or (not D)) 
 g:= (×i) mod 
 //Be wary of the below definitions of a,b,c,d 
 dTemp:= D 
 D:= C 
 C:= B 
 B:= B + leftrotate((A + F + K[i] + M[g]), s[i])
 A:= dTemp 
 end for 
 //Add this chunk’s hash to result so far: 
 a:= a + A 
 b:= b + B 
 c:= c + C 
 d:= d + D 
 end for 
 var char digest[]:= a append b append c append
 d //(Output is in little-endian) 
 //leftrotate function definition 
 leftrotate (x, c) 
 return (x << c) binary or (x >> (-c)); 
 Барномаи ҳисобкунии қимати ҳэш-функсияи 
 пайғоми додашуда тавассути алгоритми MD дар забони 
 Java шакли зеринро дорад: 
 import java.math.BigInteger; 
 import java.security.MessageDigest; 
 import java.security.NoSuchAlgorithmException; 
 public static String mdCustom(String st) { 
 MessageDigest messageDigest = null; 
 byte[] digest = new byte[]; 
 try { 
 messageDigest = 
 MessageDigest.getInstance("MD"); 
 messageDigest.reset(); 
 messageDigest.update(st.getBytes()); 
 digest = messageDigest.digest(); 
 } catch (NoSuchAlgorithmException e) { 
 e.printStackTrace(); 
 BigInteger bigInt = new BigInteger(, digest); 
 String mdHex = bigInt.toString(); 
 while( mdHex.length() < ){ 
 mdHex = "" + mdHex; 
 } 
 return mdHex; 
 public static void main(String[] args) { 
 String st = "abc"; 
 System.out.println("Custom MD:"); 
 System.out.println(mdCustom(st)); 
 } 
 Мисоли қиматҳои ҳэш-функсия (ба намуди 
 шонздаҳӣ): 
 ) MD ("") = ddcd fb e ecfe )
 ) MD ("abc") = cdfb dfd ef
 ) MD("
 ") = edfa 
 bec acdae ba 
 Оилаи алгоритмҳои SHA (Secure hash standard) 
 дорои алгоритми ҳисобкунии ҳэш-функсия мебошад: 
 SHA—, SHA-, SHA-, SHA-, SHA—. Чор ҳэш- 
 функсияи охирон зероилаи SHA—-ро ташкил мекунанд. 
 Алгоритми SHA--ро соли хадамоти (агентии) 
 милии бехатарии ИМА (NSA) кор кард кардааст. 
 Алгоритмҳои зероилаи SHA- низ аз ҷониби NSA сохта 
 шуда, дуюми августи соли институти миллии 
 стандартҳо ва технологияҳо дар стандарти федералии 
 коркарди иттилоот FIPS PUB - мунташир (чоп 
 карда) шудааст. Ин алгоритмҳо дар SSL, SSH, S/MIME, 
 DNSSEC, X., PGP ва IPSec барои мубоилаи (равон 
 кардани) файлҳо бо шабака (BitTorrent) истифода бурда
 мешаванд. 
 Алгоритмҳои оилаи SHA байниҳам танҳо аз рӯйи 
 устувории криптографие, ки ҳэширонидани додаҳоро 
 таъмин мекунад ва андозаи блок ва калимаи додаҳое, ки
 ҳангоми ҳэширронӣ истифода мешаванд, фарқ 
 мекунанд. Фарқияти асосии байни ин алгоритмҳо дар 
 ҷадвали зерин оварда шудааст. 
 Алгори Дарозии Дароз Дароз Дароз Дароз Миқдори 
 тм дейджес ии ии ии ии итератси 
 ти ҳолати блок пайғо калим яҳо дар 
 пайғом дохил (бит) м (бит) а (бит) давр 
 (бит) ии 
 пайғо 
 м (бит) 
 SHA- 
 SHA- 
 SHA- 
 SHA- 
 SHA- 
 Барои табдилдиҳии пайдарпайии битҳо ба байт ва 
 калима аз тартиби ҷойгиршавии битҳо big-endian 
 (монанди MD) истифода бурда мешавад. 
 Хосияти алгоритмҳои SHA 
 Ҳоло алгоритми SHA--ро дида мебароем. Дар ин 
 алгоритм (умуман дар ҳамаи алгоритмҳои оидаи SHA) аз
 амалҳои битии,, истифода 
 бурда мешавад. Зери мафҳуми + ам али ҷамъ аз рӯйи 
 модули фаҳмида мешавад, яъне (. 
 Илова бар ин, аз ишораҳои зерин барои амали лағжиш 
 (кӯчиш) истифода бурда мешавад. 
  лағжиш ба рост 
  лағжиши даврӣ ба рост, дар ин ҷо w–дарозии кал има; 
  лағжиши даврӣ ба чап, дар ин ҷо w–дарозии кал има; 
 Дар алгоритм аз функсияи зерин низ истифода 
 бурда мешавад: 
 , 
  
  
  
 { 
 Шарҳи алгоритм 
 Мисол. Бигузор пайғоми М, ки дарозиаш ба бит 
 баробар аст, дода шуда бошад, ва ҳисобкунии ҳэш- 
 функсияи он талаб карда шавад. 
 Барои ҳисобкунии ҳэш-функсияи қадамҳои зеринро 
 иҷро мекунем: 
 Қадами. Ҳамроҳкунии битҳои иловагӣ. Дар 
 охири пайғом бити '' илова карда, пас аз он то замоне,
 ки дарозии пайғоми ҳосилшуда шарти 
 –ро қаноат кунонидан бити сифрӣ ('') 
 ҳамроҳ карда мешавад. Ҳамин тариқ, метавон аз то 
 бит ҳамроҳ кард. 
 Қадами. Иловакунии дарозии пайғоми ибтидоӣ. 
 Дар охири натиҷаи аз қадами ҳосилшуда бити хурд,
 ки дар охири он шакли дӯии дарозии пайғоми асл низ 
 иштирок мекунад, ҳамроҳ карда мешавад. Масалан, агар
 дарозии калима ба бит баробар бошад, он гоҳ пайғоми
 "abc", ки дарозиаш ба бит баробар аст, ба сурати зерин
 пурра карда мешавад. 
 П ⏟а й ғ о м и ҳо ⏟с и л ш у д а ⏟ б а б л о к ҳои ⏞ д а р о з и ⏞а ш о н ⏟ б а 
 бит баробар, ки бо ишора шудаанд, 
 тақсим карда мешавад. Ҳар як бл о к ба -то блоки 
 калимаи -битӣ, ки ишораи –ро доранд 
 тақсим карда мешавад. 
 Қадами Муайянкунии доимӣ. Алгоритми SHA- 
 -то пайдарпайии калимаҳои бити -ро 
 истифода мебарад, ки шакли -даҳии онҳо чунин аст: 
 { 
 Ба сифати қ и м а т и и б ти д ои и ҳэш-функсия
 доимиҳои зерин истифода бурда мешаванд. 
 Қадами. Даврӣ асосӣ. Дар даври зерин пайдарпай
 ҳамаи блокҳои пайғоми иловакардашуда ҳисоб карда 
 мешаванд. 
 For i = to N 
 { 
 //. Тайёркунии руйхати табдилдиҳии калимаҳои пайғом
 //. Қ{имати аввала бахшидан ба тағйирёбандаҳои корӣ
 //. Дав р и дохилӣ 
 For t = to 
 { 
 e = d 
 d = c 
 b = a 
 a = T 
 } 
 //. Ҳисобкунии қиматҳои фосиавии ҳэш-функсияи 
 } 
 Қадами. Натиҷа. Дар охир қимати ҳэш-функсияи 
 ҳамаи пайғом чунин шаклро мегирад: 
 || || || || 
 Ба намуди схематики алгоритми SHA шакли 
 зеринро дорад: 
 Шакли пурраи псевдокоди алгоритми шакли 
 зеринро дорад: 
 //Initialize variables: 
 h = x 
 h = xEFCDAB 
 h = xBADCFE 
 h = x 
 h = xCDEF 
 ml = message length in bits (always a multiple of
 the number of bits in a character). 
 Pre-processing: 
 append the bit ’’ to the message e.g. by adding
 x if message length is a multiple of bits.
 append ≤ k < bits ’’, such that the resulting
 message length in bits 
 is congruent to − ≡ (mod ) 
 append ml, the original message length, as a -
 bit big-endian integer. Thus, the total length is a
 multiple of bits. 
 //Process the message in successive -bit chunks:
 break message into -bit chunks 
 for each chunk 
 break chunk into sixteen -bit big-endian 
 words w[i], ≤ i ≤ 
 // Extend the sixteen -bit words into eighty -bit
 words: 
 for i from to 
 w[i] = (w[i-] xor w[i-] xor w[i-] xor w[i-
 ]) leftrotate 
 // Initialize hash value for this chunk: 
 a = h 
 b = h 
 c = h 
 d = h 
 e = h 
 // Main loop: 
 for i from to 
 if ≤ i ≤ then 
 f = (b and c) or ((not b) and d) 
 k = xA 
 else if ≤ i ≤ 
 f = b xor c xor d 
 k = xEDEBA 
 else if ≤ i ≤ 
 f = (b and c) or (b and d) or (c and d) 
 k = xFBBCDC 
 else if ≤ i ≤ 
 f = b xor c xor d 
 k = xCACD 
 temp = (a leftrotate ) + f + e + k + w[i] 
 e = d 
 d = c 
 c = b leftrotate 
 b = a 
 a = temp 
 //Add this chunk’s hash to result so far: 
 h = h + a 
 h = h + b 
 h = h + c 
 h = h + d 
 h = h + e 
 //Produce the final hash value (big-endian) as a 
 bit number: 
 hh = (h leftshift ) or (h leftshift ) or (h
 leftshift ) or (h leftshift ) or h 
 Барои ҳисобкунии ҳэш-функсияи пайғоми 
 додашуда, тавассути алгоритми SHA- метавон аз 
 барномаи зерин, ки дар забони Java навишта шудаааст,
 истифода кард. 
 public static void main(String[] args) throws 
 NoSuchAlgorithmException { 
 String str = "abc"; 
 MessageDigest md = MessageDigest.getInstance("SHA-");
 md.update(str.getBytes()); 
 byte byteData[] = md.digest(); 
 //convert the byte to hex format method 
 StringBuffer sb = new StringBuffer(); 
 for (int i =; i < byteData.length; i++) { 
 sb.append(Integer.toString((byteData[i] & xff) + x,
 ).substring()); 
 } 
 out 
 System..println("Hex format: " + sb.toString());
 //convert the byte to hex format method 
 StringBuffer hexString = new StringBuffer(); 
 for (int i=;i<byteData.length;i++) { 
 String hex=Integer.toHexString(xff & byteData[i]);
 if(hex.length()==) hexString.append(’’); 
 hexString.append(hex); 
 } 
 out 
 System..println("Hex format: " + hexString.toString());
 } 
 Мисолҳои ҳисобкунии ҳэш-функсия дар системаи 
 ҳисоби шонздаҳӣ. 
 ) SHA ("") = daaee ebbd bfef 
 afd 
 ) SHA ("abc") = ae a bae cc
 cddd 
 ) SHA("abcdbcdecdefdefgefghfghighijhijkijkljklmklmn
 lmnomnopnopq") =e cbde baaeaa fe
 ef 
 DSA (англ. Digital Signature Algorithm – алгоритми
 имзои электронӣ-рақамӣ) — алгоритми криптографӣ 
 буда, барои сохтани имзои электронӣ-рақамӣ тавассути
 калиди кушода истифода бурда мешавад. Имзо махфиёна 
 сохта мешавад, аммо онро метавон ошкоро тафтиш кард.
 Ин маънои онро дорад, ки дилхоҳ кас метавонад бо 
 истифода аз параметрщои ошкор дурустиии имзоро 
 санҷад. Қайд кардан ба маврид аст, ки DSA танҳо барои
 сохтани имзои-электронӣ-рақамӣ пешбини шудааст, на 
 барои рамзгузорӣ монанди системаҳои RSA ва ал-Ҷамол.
 DSA-ро моҳи августи соли институти Милии 
 стандартҳо ва технологияҳо (NIST)-и ИМА сохта, патент
 кунонидааст. Муаллифи патент David W. Kravitz ба ҳисоб
 меравад. NIST - барои истифодабарии ин патентро бе 
 литсензия дастрас гузошт (ройгон). DSA ҳамчун як бахши
 DSS (англ. Digital Signature Standard – стандарти имзои
 электронӣ-рақамӣ, нахустин маротиба -уми декабри 
 соли интишор шудааст (ҳуҷҷати FIPS- 
 (англ. Federal Information Processing Standards – стандарти
 федералии коркарди иттилоот)) ба ҳисоб меравад. 
 DSA дорои ду алгоритм (S, V): сохтани имзои 
 пайғоми (S) ва тафтиши он (V) мебошад. Ҳарду 
 алгоритмҳо ибтидо ҳеш-пайғомро бо истифода аз ҳэш 
 функсияҳо ҳисоб мекунанд. Алгоритми S ҳэш ва калиди 
 махфиро барои сохтани имзо истифода мебарад, 
 Алгоритми V бошад, ҳэш пайғомро (хэш сообщения), 
 имзо ва калиди кушодаро барои тафтиши имзо истифода 
 мебарад. 
 Дар версисяи нахустини алгоритм истифодаи ҳэш- 
 функсияи SHA- (англ. Secure Hash Algorithm – алгоритми
 бехатар ҳэширонӣ) маслиҳат дода мешуд, дар версияиҳои
 баъдина бошад, метавон дилхоҳ алгоритми оилаи SHA--
 ро истифода кард 
 Параметрҳои схемаи имзои –эектронӣ рақамӣ 
 Барои сохтани системаи имзоӣ рақамӣ бояд амалҳои 
 зерин иҷро карда шаванд: 
 ) Интихоби ҳэш-функсияи криптографӣ. 
 ) Интихоби адади содаи, ки андозаи (дарозии ) он ба
 N бит баробар буда, аз рӯи андоза (дарозӣ) ба андозаи
 қимати ҳэш-функсия баробар мебошад. 
 ) Интихоби адади содаи p, тавре ки (p-) ба тақсим
 шавад. Дарозии битии адади p тавассути 
 ишора карда мешавад. 
 ) И нтихоби адади тавре ки тартиби мултипликативии
 он аз рӯӣ модули p ба баробар бошад. Барои 
 ҳисобкунӣ метавон аз формулаи 
 истифода кард. Дар ин ҷо — яг он адади 
 тасодуфӣ мебошад, ки зимнан аст. Дар аксар 
 ҳолатҳо қимати h = ин талаботро қонеъ мегардонад.
 Тавре ки қайд кардем, параметрҳои ибтидоии схемаи 
 имзои рақамӣ истифодаи ҳэш-функсияи криптографӣ 
 мебошанд, ки барои матни пайғомро (ки барои он имзо 
 ҳисоб карда мешавад (гузошта мешавад)) ба адади 
 қайдкардашуда табдил додан истифода мешаванд. Яке аз
 хосиятҳои муҳими ин функсия дарозии битии 
 пайдарпайии хуруҷӣ, ки бо ҳарфи N ишора карда 
 мешавад, ба ҳисоб меравад. Дар версияи нахустини 
 стандарти DSS истифодаи функсияи SHA- маслиҳат дода
 шуда буд, ки мувофиқан дарозии битии адади 
 имзогузошташуда битро ташкил мекард. Дар айни ҳол
 SHA- ба қадри кифоя бехатар намебошад, бинобар ин, 
 дар стандарт истифодаи ҷуфтҳои зерин пешниҳод 
 шудааст: 
 ) L =, N = 
 ) L =, N = 
 ) L =, N = 
 ) L =, N = 
 Бо мувофиқа бо ин истифодаи ҳэш-функсияи SHA- 
 маслиҳат дода шудааст. 
 Калидҳои кушода ва махфӣ 
 ҳисоб карда мешавад. 
 Па раметрҳои кушода ададҳои ба ҳисоб 
 мераванд. Параметри махфӣ бошад, танҳо адади 
 мебошад. Ҳамин тариқ, параметрҳои метавонанд 
 барои ҳамаи гурӯҳи истифодабарандагон умумӣ бошанд, 
 вале ададҳои ва мувофиқан калиди пушида ва кушодаи 
 истифодабарандаи мушаххас мебошанд. Ҳангоми 
 имзогузорӣ ададҳои махфии ва истифода мешаванд, ки 
 адади ба таври тасодуфӣ ё псевдотасодуфӣ интихоб 
 карда мешавад. 
 Гузоштани имзо 
 Тавассути алгоритми зерин ба пайғом имзо гузошта 
 мешавад: 
 ) Интихоби адади тасодуфии 
 ) Ҳисобкунии 
 ) Интихоби и диг ар, агар бошад; 
 ) Ҳисобкунии 
 ) Интихобкунии и дигар, агар шавад; 
 ) Ҷуфти имзоро ташкил медиҳанд, ки 
 дарозиашон ба баробар аст. 
 Амали душвори ҳисобкунии – ин ба дараҷабардорӣ аз
 рӯӣ модул (ҳисобкунии ), ҳисобкунии ҳэш- 
 функсия, яъне ва ёфта ни элементи баръакс, яъне 
 ба ҳисоб мераванд. 
 Тафтиши имзо 
 Тавассути алгоритми зерин имзо тафтиш карда 
 мешавад: 
 ) Ҳисобкунии 
 ) Ҳисобкунии 
 ) Ҳисобкунии 
 ) Ҳисобкунии 
 ) Имзо ҳаққонӣ аст, а г ар шавад. 
 Ҳангоми тафтиш амали мураккаб, ин ду амали 
 бадараҷабардорӣ ҳисобкунии ҳэш-функсия 
 ва ёфтани элем е нти б а ръакс мебошанд. 
 Дурустии схемаҳо 
 Схемаи имзои рақамии мавриди баҳс 
 қарордодаамон, ба он дараҷае дақиқ аст, ки ҳар 
 хоҳишманде, ки мехоҳад аслияти имзоро санҷад, ҳама вақт
 натиҷаи мусбат ба даст меорад. Ҳоло инро нишон 
 медиҳем: 
 Аввалан, агар бошад, пас аз рӯӣ 
 теоремаи кучаки Ферма бар меояд, ки аст. 
 Азбаски буда, адади сода аст, пас дорои 
 тартиби мултипликативии аз рӯи модули мебошад. 
 Барои гузоштани имзо ба пайғом ҳисоб карда 
 мешавад: 
 Аз ин ҷо барме о яд, ки 
 аст. 
 Азбас к и дорои т артиби аст, пас ҳосил мекунем.
 Сониян, дурус т ии схемаи DSA аз муносибати зерин
 бармеояд. 
 Ҳоло дар мисоле истифодаи схемаи DSA-ро барои 
 адади наонқадар калон дида мебароем. Бигузор қимати 
 ҳэш-функсияи пайғом бошад. 
 Интихоби параметрҳо 
 ) 
 ) Дарозии ҳэш ба баробар аст, аз инҷо метавон 
 гирифт. 
 ) p = интихоб мекунем, чунки 
 аст. 
 ) интихоб мекунем. 
 Сохтани калид 
 Ба сифати калидии махфи интихоб мекунем, 
 он гоҳ калиди кушода 
 мешавад. 
 Гузоштани имзо 
 ) Интихоби. 
 ) Он гоҳ 
 мешавад. 
 ) Азбаски аст, пас давом медиҳем. 
 ) 
 дар ин ҷо аст. 
 ⋅ ⋅ 
 ) аст, давом медиҳем. 
 ) Ҷуфти ададҳои ( r, s ) = (, ) имзоро ташкил
 мекунанд. 
 Тафтиши имзо 
 ). 
 ) 
 ) 
 ⋅ ⋅ 
 ) 
 ⋅ ⋅. 
 ⋅ 
 ) Ҳо сил м екунем, ки, яъне имзо дуруст будааст. 
 ⋅ 
 Имзоҳои электрони-рақамиро дар схемаи RSA 
 дида мебароем. 
 Масалан, агар Алӣ хоҳад, ки ҳуҷҷатеро имзо 
 гузорад, барои иҷрои ин амал, параметрҳои RSA – ро 
 интихоб мекунад. Тарзи интихоби параметрҳои RSA дар 
 боби оварда шудааст. Ибтидо Алӣ ду адади калони 
 соддаи P ва Q – ро интихоб карда, қимати ва 
 – ро ҳисоб мекунад. Пас аз ин, адади d –
 ро, ки бо байнан сода мебошанд, интихоб карда, қимати
 ро ҳисоб мекунад. Дар охир Алӣ ададҳои 
 N ва d - ро интишор мекунад. Масалан, дар сайти худ 
 мегузорад. Дар ин ҳангом адади с – ро махфӣ нигоҳ 
 медорад. Алӣ метавонад, ададҳои P, Q ва - ро ҳатто 
 фаромӯш кунад, чунки дигар онҳо талаб карда 
 намешаванд. Ҳамин тариқ Алӣ барои гузоштани имзо 
 омода гашта, метавонад имзои худро ба ҳуҷҷатҳо ва 
 мактубҳо гузорад. 
 Бигузор Алӣ мехоҳад пайғоми – ро 
 имзо гузорад. Барои иҷрои ин амал ибтидо ҳэш – 
 ̅ 
 функсияи ҳисоб мекунад, ки он 
 пайғоми - ро ба адади y мувофиқ мегузорад. Тарзи 
 ҳисобкунии ҳэш – функсия дар ибтидои ин боб оварда 
 ̅ 
 шудааст, бинобар ин, дар ин ҷо тарзи ҳисобкунии онро
 пурра мавриди баҳс қарор надода, танҳо баъзе хосиятҳои
 муҳими онро меорем: бе тағйирдиҳии у дар амалия 
 тағйир додани матни асосии ғайриимкон аст. 
 Аз ин рӯ, дар қадами оянда Алӣ танҳо имзо гузоштан ба у
 – ро таъмин мекунад, ки ин имзо ҳамаи матни – ро дар
 бар мегирад. 
 ̅ 
 Ибтидо Алӣ адади 
 mod n () 
 -ро ҳисоб мекунад, яъ не он адади у - ро ба дараҷаи адади
 махфии с мебардорад. Дар ин ҷо адади s – ин имзои 
 электронӣ мебошад. Имзои электронӣ ба пайғоми 
 ҳамроҳ карда мешавад. Ҳамин тариқ Алӣ мактуби 
 ̅ 
 имзогузоштаро ба сурати зерин ҳосил мекунад. 
 () 
 Акнун ҳамаи он касоне, ки параметрҳои кушодаи Алӣ –
 〈 ̅ 〉 
 ро медонанд, метавонанд, соҳибияти имзои ӯро тасдиқ 
 кунанд. Барои иҷрои ин амал мактуби имзогузошташуда 
 () – ро гирифта қимати ҳэш – функсияи h( ) ва 
 () 
 ̅ 
 – ро ҳисоб карда, иҷроиши шарти h( ) – ро 
 месанҷад. 
 ̅ 
 Бе душворӣ дидан мумкин аст, ки агар имзо ҳаққонӣ 
 бошад, он гоҳ h( ) мешавад. 
 Дар ҳақиқат, аз формулаҳои (), () ва хосияти
 ̅ 
 схемаи RSA дурустии ин тасдиқот бармеояд, 
 Қайд кардан ба маврид а ст, ки имзои электронии 
 дидабаромада ҳамаи талаботҳои имзоҳои оддиро қаноат 
 мекунонанд. 
 Хосияти якуми имзоро месанҷем. Ҳангоме, ки 
 тартиби N аз бит калон будан, ҳеҷ кас наметавонад,
 онро ба зарбкунандаҳои сода ҷудо кунад. Ин масъала то
 соли тамоман ҳалнашаванда буд. Аз ин рӯ бо 
 донистани N ва d ёфтани с ғайриимкон мебошад. Дар 
 ҳақиқат, барои ҳисоб намудани, бояд адади 
 маълум бошад, ам м о барои донистани 
 P ва зарбшавандаи Q зарур аст. Ҳамин тариқ, хосияти 
 якум иҷро гардид – ҳеҷ кас ба ғайр аз Алӣ наметавонад
 адади с – ро ҳисоб кунад, аз ин рӯ мактубро наметавонад
 имзо гузорад. 
 Аз хосияти якум иҷроиши хосияти дуюм бармеояд. 
 Муаллифи имзо наметавонад, аз он даст кашад, чунки 
 шахси дигар наметавонад аз номи ӯ имзо гузорад. 
 Хосияти сеюм ҳам аён мебошад – дар ҳолати пайдо 
 шудани баҳс, шахсони кунҷков метавонанд барои тафтиш
 он ва фаҳмидани ҳақ ба судя муроҷиат кунанд. 
 Мисоли 
 Бигузор Р =, Q = бошад. Он гоҳ 
 мешавад. Бигузор d = 
 бошад. Чунин интихоб намудани d имкон дорад, чунки 
 КТУ(,)= аст. Барои ҳисобкунии аз 
 алгоритми васеъкардашудаи Евклид (АВЕ ) истифода 
 намуда, ҳосил мекунем c =. 
 Бигузор Алӣ мехоҳад пайғоми = abbbaa – ро, ки 
 барои он қимати ҳэш – функсия ба баробар аст, имзо
 ̅ 
 гузорад. 
 Дар ин ҳолат Алӣ аз рӯйи () қимати 
 -ро ҳисоб карда, пайғом и имзогузошташудаи зеринро 
 ҳосил мекунад. 
 Акнун касоне, ки калиди кушодаи Алӣ N= ва d= 
 〈 〉 
 – ро медонад, метавонад ҳаққонияти (соҳибияти) имзоро
 санҷанд. 
 Баъди ба даст овардани пайғоми имзогузошта, Валӣ
 аз сари нав қимати ҳэш – функсияро 
 -ро ҳисоб карда (агар таркиби мактуб иваз карда нашуда
 бошад, он гоҳ қиммати ҳэш – функсия ба қимати ҳэш – 
 функсияе, ки Алӣ ҳисоб карда буд мувофиқат мекунад),
 сипас қимати ифодаи () 
 -ро ҳисоб мекунад. 
 Тавре ки дида мешавад, қимати ва қимати ҳэш – 
 функсия мувофиқат мекунанд, бинобар ин, метавон ба 
 дурустии имзо боварӣ ҳосил кард. 
 Қайд. Диққат дошта бошед, ки як схемаи RSA – ро
 Алӣ барои ҳалли ду масъала истифода кард. Аввал Алӣ 
 метавонад мактубро бо истифода аз калиди махфии с имзо
 гузорад. Дуюм ҳар кас мехоҳад бо Алӣ мактуби 
 рамзгузошташуда (адад) равон кунад, ки рамзкушоӣ кардани
 он танҳо бо истифодаи калиди имкон дошта бошад. 
 Ба намуди схематикӣ ин алгоритм шакли зеринро дорад:
 Ҷамол 
 Бигузор Алӣ мехоҳад, ки ҳуҷҷатеро имзо гузорад. 
 Барои иҷрои ин амал адади калони содаи ва адади – 
 ро интихоб мекунад Тарзи интихоби ин параметрҳо дар 
 боби оварда шудааст. Ин ададҳо метавонад барои дигар
 муштариён низ дастрас бошанд. Илова бар ин, Алӣ адади
 тасодуфии (ихтиёрии) – ро интихоб 
 карда, онро махфӣ нигоҳ медорад. Пас аз ин, қимати 
 адади зеринро ҳисоб мекунад. 
 () 
 Ин ададҳоро Алӣ ҳамчун калиди кушодаи худ 
 интишор мекунад. Тавре, ки аён (маълум) аст, ҳангоми
 бениҳоят калон будани р, аз рӯйи у ёфтани х ғайриимкон
 мебошад (масъалаи логарифми дискретӣ). 
 Акнун Алӣ метавонад мактубро имзо гузорад. Фарз 
 мекунем, ки Алӣ мехоҳад мактуби – ро имзо 
 гузорад. Алгоритми сохтани имзоро меорем. 
 ̅ 
 Алӣ қимати ҳэш – функсия – ро, ки бояд, ки 
 шарти – ро қаноат мекунонад, ҳисоб карда, сипас
 ̅ 
 адади тасодуфии – ро ки бо ( байнан 
 сода мебошанд, интихоб карда, қимати адади зеринро 
 ҳисоб мекунад. 
 mod p () 
 Дар қадами оянда Алӣ қ имати ададҳои зеринро ҳисоб
 мекунад. 
 Дар охир Алӣ п айғоми рамзгузошташударо имзо 
 мегузорад. 
 () 
 Қабулкунандаи иттилооти имзошуда () пеш аз 
 〈 〉 
 ҳама қимати ҳэш функсияи – ро аз нав ҳисоб 
 мекунад. Баъд аз ин, бо истифода аз баробарии зерин 
 ̅ 
 имзоро тафтиш мекунад: 
 () 
 Бе душворӣ д идан мумкин аст, ки дар сурати 
 ҳаққонӣ будани имзо шарти () иҷро мегардад. 
 Дар ҳақиқат 
 Мис ол. Б и гузор п а( р а м е т р ҳ)ои о ш к ор
 бошанд. Алӣ калиди махфӣ -ро интихоб карда, 
 калиди кушодаи – ро бо истифода аз () ҳисоб мекунад.
 Бигузор Алӣ мех оҳад пайғоми 
 имзо гузорад. Барои иҷрои ин чунин амал мекунад: 
 ̅ 
 Пеш аз ҳама қимати ҳэш – функсияро ҳисоб 
 мекунем. Бигузор қимати бошад. Пас аз ин Алӣ 
 адади тасодуфии k (масалан k = ) – ро интихоб карда,
 ̅ 
 қимати ифодаҳои () ва () – ро ҳисоб мекунад. 
 Пас аз ин, Алӣ қимати – ро ҳисоб мекунад.. 
 Қимати ( ) бошад, ба баробар 
 мешавад. 
 Дар охир пайғоми имзогузошташударо ба сурати () 
 ҳосил мекунад. Акнун Алӣ онро ба Валӣ 
 равон мекунад. Валӣ онро ба даст оварда, ибтидо 
 соҳибияти имзоро месанҷад. Бирои ин аввал қимати ҳэш
 – функсия ва баъд тарафи чапи () 
 ва дар охир 
 тар афи р ости () – ро ҳисоб мекунад 
 Валӣ боварӣ ҳоси л мекунад, ки имзо дуруст (ҳақиқӣ)
 аст. 
 Дар асоси ин алгоритми Ал-Ҷамол дигар 
 алгоритмҳои эффективӣ сохта шудаанд. 
 Ба намуди схематикӣ ин алгоритм шакли зеринро дорад:
 (рақамӣ) 
 Дар бисёр кишварҳои ҷаҳон стандартҳо дар имзоҳои
 электронӣ (ИЭ) ё рақамӣ вуҷуд дорад. Дар ин ҷо мо 
 стандарти давлатии Россия ГОСТ Р. – ва стандарти
 ИМА FIPS – ро мавриди баҳс қарор медиҳем. Тавре ки
 аз ишорааш бармеояд стандарти Россия соли ва 
 стандарти амрикоӣ соли қабул карда шудааст. Ҳарду
 стандартҳо дар асоси як алгоритм, ки DSA (Digital 
 Signature Algorithm) ном дорад асос ёфта, вариатсияи
 имзои Ал – Ҷамол мебошанд. Ҳоло алгоритми Россияро 
 мавриди баҳс қарор дода, дар охир фарқияти алгоритми
 амрикоиро меорем. 
 Ибтидо барои як гурӯҳ истифодабарандагон 
 параметрҳои ошкор интихоб карда мешаванд. Пеш аз 
 ҳама, бояд ду адади содаи ва q, ки барои онҳо баробарии
 зерин иҷро мегардад, интихоб карда шавад. 
 () 
 Дар ин ҷо ягон адади бутун мебошад. Битҳои 
 калони (старшие биты) p ва бояд ба як баробар 
 бошанд. Пас аз ин, чунин адади тавре интихоб карда 
 мешавад, ки барои он баробарии зерин иҷро гардад.. () 
 Дар натиҷа се п араметри умумии – p, q ва a – ро
 ҳосил карда мешаванд. 
 Қайд. Баробарии () маънои онро дорад, ки ҳангоми адади
 а – ро аз рӯйи модули р ба дараҷа бардоштан, дараҷа ба модули
 q оварда мешавад, яъне. 
 Дар қадами оянда ҳар як и с ти ф одабаранда адади
 ихтиёрии x – ро ки шарти – ро қаноат мекунад, 
 интихоб карда, қимати 
 () 
 – ро ҳисоб мекунанд. Д ар онҷо – калиди махфӣ ва – 
 калиди ошкор (кушода) мебошад. Барои 
 истифодабарандагон адади ҳамчун калиди махфӣ ва 
 адади калиди кушода ба ҳисоб меравад. Фарз карда 
 мешавад, ки калиди кушодаи ҳамаи истифода-барандагон
 ба ҳамдигар муайян мебошад, то он ки онҳо тавонанд 
 имзоро тафтиш кунанд. 
 Қайд мекунем, ки дар айни ҳол ёфтани х аз рӯйи 
 у дар амалия ғайриимкон мебошад. Пас аз интихоби 
 параметрҳо ба имзогузорӣ оғоз мекунем. 
 Бигузор пайғоми мавҷуд аст, ки бояд имзо гузошта 
 шавад. Алгоритми гузоштани имзо чунин аст: 
 ̅ 
 )Ибтидо барои пайғоми ҳэш – функсия – 
 ро ҳисоб мекунем. Қимати ҳэш – функсия бояд дар 
 ̅ ̅ 
 фосилаи хобад (дар варианти руссия ҳэш – 
 функсияе, ки ГОСТ Р. – муайян кардааст). 
 )Адади тасодуфии ( ) – ро интихоб мекунем. 
 )Қимати – ро ҳисоб мекунем. Агар 
 рафту бо шад, он гоҳ ба қадами бар мегардем.
 )Қимати – ро ҳисоб мекунем, агар 
 рафту шавад, ба қадами бар мегардем. 
 )Пайғоми имзогузошташудаи – ро ҳосил 
 мекунем. 
 〈 ̅ 〉 
 Барои тафтиши имзо амалҳои зерин иҷро карда 
 мешаванд. 
 ) Барои пайғоми қимати ҳэш-функсия, яъне 
 – ро ҳисоб мекунем. 
 ̅ ̅ 
 ) Дурустии шартҳои, – ро 
 месанҷем. 
 ) Қимати – ро 
 ҳисоб мекунем. 
 ) Қимати – ро ҳисоб мекунем. 
 ) Иҷроиши шарт и – ро месанҷем. 
 Агар ақалан яке аз тафтишҳо (санҷишҳо) дар 
 қадами ва қимати ҳақ надиҳанд, имзо ғайриҳақиқӣ 
 дониста мешавад. Агар ҳамаи тафтишҳо иҷро гарданд, пас
 имзо дуруст ба ҳисоб меравад. 
 Бе душворӣ дидан мумкин аст, ки агар имзо бо 
 пайғом қонунӣ бошад (яъне агар калиди махфии х – ро 
 соҳиб бошад), он гоҳ мешавад. 
 Дар ҳақиқат 
 ( ) 
 ( ) 
 Қайд. Барои ёфт ани қимати параметри а, ки шарти
 () – ро қаноат мекунонад, аз методи зерин истифода бурда
 мешавад. Ибтидо адади тасодуфии q > – ро интихоб карда,
 қимати 
 () 
 - ро ҳисоб мекунем. Д а р ҳақиқат, дар асоси () ва теоремаи
 Ферма ҳосил мекунем. 
 яъне баро барии () иҷ р о м е ш авад. Агар ҳа н г оми ҳисобкунии ()
 қимати шавад, он гоҳ зарурияти интихоби қимати 
 дигар барои пеш меояд. 
 Мисоли. Параметрҳои умумии ошкор 
 (ғайримахфӣ) – и – ро интихоб 
 карда, қимати гирифта, – ро 
 ҳисоб мекунем. Сипас, калиди махфии – ро интихоб 
 карда, калиди кушодаи – ро ҳисоб 
 мекунем. 
 Барои пайғоми ро имзо гузоштан, 
 чунин амал карда мешавад. Бигузор ҳэш – функсияи ин 
 ̅ 
 пайғом бошад. Адади тасодуфии – ро 
 интихоб карда, қимати ададҳои зеринро ҳисоб мекунем.
 ̅ 
 Пайғоми имзогузошташудаи – ро ба 
 даст меорем. 
 〈 〉 
 Акнун имзоро тафтиш мекунем. Агар пайғом тағйир 
 дода нашуда бошад, мешавад. Ҳисоб мекунем, 
 Тавре ки аён гашт, шарти иҷро мегардад, 
 яъне имзо дуруст будааст. 
 Акнун фарқияти стандарти амрикоиро аз стандарти
 русӣ дида мебароем. 
 ) Дарозии ба бит баробар гирифта мешавад. 
 ) Ба сифати ҳэш – функсия аз алгоритми SHA – 
 истифода бурда мешавад. 
 ) Ҳангоми сохтани имзо дар қадами параметри s 
 тавассути формулаи ҳисоб карда 
 мешавад. 
 ) Ҳангоми тафтиши имзо дар қадами ва аз рӯйи 
 формулаҳои 
 ҳисоб карда мешавад. 
 Бо назардошти ин фарқиятҳо метавон схемаи 
 имзоро бо услуби амрикоӣ навишт. Исботи дурусти 
 алгоритм айнан гузаронида мешавад. 
 Ба намуди схематикӣ алгоритми мазкур шакли зеринро
 дорад: 
 Саволҳо барои мустаҳкамкунӣ 
 медонед? 
 доранд? 
 мешааванд? 
 гузошта мешавад? 
 гузошта мешавад? 
 электронӣ гузошта мешавад? 
 рамзи Шамир истифода кард? 
 кай сохта шудааст? 
 алгоритми ГОСТ Р. – истифода кард? 
 FIPS чӣ фарқ дорад? 
 Боби. Методҳои муосири 
 рамзгузорӣ бо калидҳои пушида 
 Сеть ё шабакаи Фейстел (англ. Feistel network, Feistel
 cipher) —яке аз методҳои сохтани рамзҳои 
 блокӣ ба ҳисоб меравад. Шабакаи мазкур аз
 катакчаҳо иборат мебошад, ки онҳоро 
 катакчаҳои Фейстел меноманд. Дар вуруди 
 ҳар як катакча итилоот ва калид ворид 
 гардида, дар хуруҷ итилоот ва калиди тағйирёфа ба даст
 оварда мешавад. Ҳамаи катакчаҳои мазкур аз рӯйи тип 
 якхела мебошанд. Вобаста аз алгоритми 
 рамзгузорӣ/рамзкушоӣ калид интихоб гардида, ҳангоми 
 аз гузариш аз як катакча ба катакчаи дигар тағйир меёбад.
 Дар вақти рамзгузорӣ ва рамзкушоӣ айнан як амал иҷро
 карда мешавад, фарқияти асосӣ тартиби калидҳо ба ҳисоб
 мераванд, аз рӯйи содагӣ метавон ба осонӣ барномаи 
 методи мазкурро таҳия кард. Аксар методҳои муосири 
 рамзгузории блоки ба монанди: DES, RC, RC, RC, 
 Blowfish, FEAL, CAST-, TEA, XTEA, XXTEA ва ғайра ба
 сифати асос аз шабакаи Фейстел истифода мебаранд. 
 Алтернативи шабакаи Фейстел алгоритми AES ба ҳисоб 
 меравад, ки баъдтар онро мавриди баҳс қарор медиҳем.
 Соли Хорст Фейстел (англ. Horst Feistel) ду
 воситае, ки дар онҳо алгоритмҳои гуногун амали карда
 мешуданд, патент кард. Баъдан ин восита номи Lucifer-ро
 гирифт. Яке аз ин воситаҳо конструксияеро истифода 
 кард, ки баъдан он дар шабакаи Фейстел («Feistel cipher»,
 «Feistel network») истифода шуд. Аз ин ҷо Фейстел якҷоя
 бо Дон Копперсмит (англ. Don Coppersmith) дар системи
 криптогарфии нав дар IBM кор кард. Соли газетаи
 «Scientific American» мақолаи Фейстелро таҳти унвони
 «Cryptography and computer privacy» чоп кард, ки дар он
 ҷанбаҳои муҳими рамзгузорӣ мавриди баҳс қарор дода 
 шуда, шарҳи версияи нахустини Lucifer оварда шудааст.
 Дар версияи нахустини лоиҳаи Lucifer шабакаи Фейстел
 истифода нашуда буд. 
 Дар асои шабакаи Фейстел соли алгоритми DES
 сохта шуд. 
 Акун алгоритми рамзгузорӣ ва рамзкушоиро 
 тавасути шабакаи Фейстел дида мебароем. Бигузор талаб
 карда шавад, ки ягон итилооте, ки ба намуди дӯӣ дода
 Хорст Фейстел (англ. Horst Feistel) -юми январи соли дар
 шаҳри Берлин (Олмон) ба дунё омадааст. Аз хурдсоли Олмонро тарк
 гуфта ба Тсюрих (Швейтсария) рафт. Хорст олими бузурги соҳаи
 ҳифзи итилоот ва яке аз асосгузорони криптографияи замони муосир
 ҳамчун илм ба ҳисоб рафта, дар ширкати IBM дар соҳаи коркарди
 алгоритмҳои рамзгузорӣ кор кардаааст. Саҳми Ӯ дар сохтани
 алгоритми DES хело калон мебошад. -уми ноябри соли дар
 штати Массачусетс аз олам чашм пушид. 
 шудааст (дар хотираи компютер, файл ё ягон барандаи 
 дигари итилоот), рамзгузорӣ карда шавад. Алгоритми 
 рамзгузорӣ чунин аст: 
 Итилооти додашуда ба блокҳои якхела 
 (қайдкардашуда) тақсим карда мешавад. Блокҳои 
 ҳосилшуда вурӯди номида мешаванд, чунки ба вуруди 
 алгоритм равон карда мешаванд. Агар андозаи блоки 
 вурудӣ, аз дарозии дар алгоритм муайяншуда, хурд 
 бошад, он гоҳ бо ягон усул дароз карда мешавад (масалан
 бо илова намудани ягон символ ё ҳарф, баъзан рамзи хати
 поён истифода мешавад). аз рӯйи қоида дарозии блок 
 бояд, ягон адади дараҷаи ду бошад, масалан, бит ё 
 бит. 
 Акнун амалеро дида мебароем, ки танҳо бо як блок
 ба амал омада, дар ҷараёни рамзгузорӣ бо дигар блок 
 айнан ҳамин хел ба амал меояд. 
 ) Блоки интихобшуда ба ду зерблоки дорои дарозии 
 якхела ҷудо карда мешавад: зерблоки чап ва 
 зерблоки рост. 
 ) Зерблоки чап тавассути функсияи бо истифода 
 аз калиди раундиии (даврии) тағйир дода мешавад. 
 Натиҷаи ҳосилшуда бо истифода аз амали амали 
 бо зерблоки тарафи рост ҷамъ карда мешавад. 
 Дар раунди навбати ин натиҷа ҳамчун зерблоки чап
 истифода бурда мешавад: 
 Зерблоки чапи раунди ҷорӣ дар раунди баъди 
 ҳамчун зерблоки рост истифода бурда мешавад: 
 Аз рӯйи баъзе қоидаҳои математикӣ калиди раунди
 ҳисоб карда мешавад, ки дар раунди баъдӣ истифода 
 бурда мешавад. Умуман барои рамзгузорӣ/рамзкушоӣ 
 метавон як чанд калид истифода кард, яъне дар ҳар раунд
 аз калиди мувофиқ истифода кард. 
 Амалҳои мазкур маротиба иҷро карда 
 мешаванд, дар ин ҷо — миқдори раундҳоро дар 
 алгоритми интихобшуда ифода мекунад. Дар ин ҳангом 
 гузариш аз як раунд ба раунди дигар калид ба, ба 
 ва ҳоказо иваз карда мешаванд. 
 Амали рамзкушоӣ айнан амали рамзгузорӣ иҷро 
 карда мешавад, ба истиснои истифода калид ба тартиби
 баръакс, яъне аввал калиди ум, сипас -ум ва 
 ҳоказо калиди якум истифода бурда мешавад. 
 Акнун ба намуди математикӣ алгоритми Фейстелро 
 дида мебароем, ки чунин шакл дорад: 
 Блоки матни кушод ба ду зерблок чап ва рост 
 тақсим карда мешавад: зерблоки чап ва зерблоки 
 рост. 
 Дар ҳар як раунд, қимати ифодаҳои зерин ҳисоб 
 карда мешаванд: 
 Дар ин ҷо 
 i — рақами тартибии раунд, i=…N; 
 N — миқдори раундҳои алгоритми интихобшуда; 
 ягон фунсия; 
 калиди раунди ум; 
 Натиҷаи иҷроиши раунди N-ум мебошад. 
 Дар раунди N-ум ҷойивазкунии ба амал намеояд, 
 барои онки ҷараёни рамзкушоӣ осон бошад, яъне амали 
 рамзкушоӣ калидҳо ба тартиби баръакс истифода бурда 
 мешаванд. Масалан, ба ҷойи калидҳои, аз 
 калидҳои,. Аз ин ҷо барои рамзкушоӣ 
 кардан аз форрмулаҳои зерин истифода бурда мешавад: 
 Ба намуди графикӣ шакли умумии алгоритми 
 рамзгузорӣ ва рамзкушоӣ шабакаи Фейстел шакли зайлро
 дорад. 
 Рамзгузорӣ Рамзкушоӣ 
 Матни ошкор Шифроматн 
 Шифроматн Матни ошкор 
 Алгоритми Фейстелро метавон бо дилхоҳ миқдори 
 раундҳо истифода кард. Масалан, дар расми зерин бо ду
 раунд алгоритми рамзгузорӣ ва рамзкушоӣ шабакаи 
 Фейстел оварда шудааст. 
 Рамзгузорӣ Рамзкушоӣ 
 Матни рамзгузошта- 
 Матни ошкор, рамз шуда, рамз 
 Матни рамзгузошташуда Матни ошкор, рамз 
 Функсияи рамзгузорӣ Функсияи рамзкушоӣ 
 Функсиҳои дар шабаки Фейстел истифода 
 шаванда 
 Дар кори худ «Cryptography and computer privacy»
 Хорст Фейстел ду блоки табдилдиҳӣ: блоки ҷойгузорӣ (s-
 блок, англ. s-box) ва блоки ҷойивазкунӣ (p-блок, англ. p-
 box) (дар функсияи -ро шарҳу тавзеҳ додааст. 
 Метавон нишон дод, ки дилхоҳ табдилдиҳии дӯиро 
 дар блокҳои додаҳои қайдкардашуда ба сурати s-блокҳо
 табдил дод. Дар мақолаи асл ба ҷойи мафҳуми функсия 
 мафҳуми блок истифода шудааст. Аз ин ҷост, ки сухан дар
 бораи рамзҳои блокӣ меравад. 
 Ҳоло ин блокҳоро мухтасар мавриди баҳс қарор 
 медиҳем. 
 S-блок 
 S-блок (англ. s-box аз substitution-box) аз қисматҳои зерин
 иборат мебошад: 
 ) дешифратор — табдилдиҳандаи n-разрядии сигнали 
 дӯӣ ба сигнали якразрияди аз рӯйи асоси; 
 ) системаи комутаторҳо-алоқакунандаҳои дохилӣ 
 (имконияти n! лоқакунанда мавҷуд аст); 
 ) шифратор - табдилдиҳандаи сигнал аз блоки 
 якразриядаи ба блоки n-разриядаи дӯӣ; 
 Шакли умумии ин блок чунин аст: 
 Ҳангоми калон будани n таҳлили S-блоки n –разряда 
 хело душвор мебошад. Дар ҳолати умумӣ S-блок 
 метавонад, миқдори ғаримувофиқӣ вуруд/хуруҷ дошта 
 бошад. Дар ин ҳолат дар системаи комутатсия аз ҳар як
 баромади дешифратор метавонад, натанҳо як 
 алоқакунанда барояд, балки метавонад, ягонто баромад
 надошта бошад. Барои вурудии шифратор низ айнан 
 ҳамин хел мебошад. 
 Амалкарди ин блок чунин аст: аз сутуни дешифратор,
 ягон адад интихоб карда шуда, ба сутуни шифратор аз 
 рӯйи схемаи овардашуда мувофиқ гузошта мешавад, 
 масалан адади аз сутуни дешифратор ба адади -и 
 сутуни шифратор мувофиқат мекунед, адаи бошад ба 
 адади ва ҳоказо. 
 Ҳамин тариқ метавон, барои блоки се разриядаи 
 ҷадвали зеринро ҳосил кард: 
 № комбинатсия 
 Вуруд 
 Хуруҷ 
 Қайд кардан ба маврид аст, ки ин блок барои 
 алгоритмҳои гуногуни рамзгузории симметрӣ татбиқ 
 карда мешавад, ба монанди: 
 ) AES (англ. Advanced Encryption Standard) - стандарт
 рамзгузории амрикоӣ; 
 ) ГОСТ - —стандарти давлатии рамзгузории 
 Росия; 
 ) DES (англ. Data Encryption Standard) – стандарти
 рамзгузории додаҳо дар ИМА то пайдошавии AES; 
 ) Twofish. 
 P-блок 
 Блоки ҷойгузорӣ (p-блок, англ. p-box) ҳамаи ҳолати
 (положение) рамзро иваз карда, воситаи хаттӣ мебошад.
 Ин блок метавонад, миқдори бисёри вурудӣ ва хуруҷӣ 
 дошта бошад. Аммо бо назардошти хаттӣ будани система
 наметавон онро крипто-устувор номид. 
 Криптоанализи калид барои p-блоки n-разряда бо 
 равон кардани n--пайғоми гуногун ба вурудӣ, ки ҳар 
 кадомаш аз n- сифр («») ва воҳид («») иборат мебошанд
 амалӣ карда мешавад. 
 Шакли схематикии амалкарди блоки мазкур чунин 
 аст: 
 Истифодаи Р-блокро баъдан дар рамзи DES пурра 
 мавриди баҳс қарор медиҳем. 
 Барои хубтар дарк кардани алгоритми Фейстел 
 мисолеро дида мебароем. 
 Мисоли. Матни “донишгоҳ”-ро бо истифода аз 
 калиди [дарс, хонӣ] рамзгузорӣ мекунем. 
 Ҳал. Ибтидо матни ошкор ба қисматҳои -рамзӣ 
 (символӣ) ҷудо карда мешавад. 
 Д о н и ш г о ҳ 
 Блок 
 Акнун бо истифода аз алгоритми ду раундаи 
 Фейстел (нақшаи ) ба рамзгузорӣ оғоз мекунем. 
 Раунди. 
 + 
 Раунди. 
 + 
 дсру 
 Ҳамин тариқ, матни додашуда ба сурати 
 рамзгузорӣ карда шуд. 
 Ҷавоб: 
 Акнун матни рамзгузошташударо рамзкушоӣ 
 мекунем. Тавре, ки қайд кардем, барои рамзкушоӣ калид
 ба тартиби баръакс истифода бурда мешавад. 
 Раунди. 
 + 
 д с р у х ё р х 
 х о Н ӣ ъ ғ в я 
 ъ ғ В я ш г о ҳ 
 ъғвя 
 Раунди. 
 + 
 ш г о ҳ д с р у 
 д а Р с а г г к 
 а г Г к д о н и 
 дони шгоҳ 
 Ҳамин тариқ, матни рамзгузошташуда рамзкушоӣ 
 карда шуд. 
 Қайд. Дар схемаи овардашуда, алифбоӣ тоҷикӣ 
 истифода бурда шуд, ки ҳарфҳои он чунин рақамгузорӣ карда
 шудаанд. 
 А а Б б В в Г г Ғ ғ 
 Д д Е е Ё ё Ж ж З з 
 И и Ӣ ӣ Й й К к Қ қ 
 Л л М м Н н О о П п 
 Р р С с Т т У у Ӯ ӯ 
 Ф ф Х х Ҳ ҳ Ч ч Ҷ ҷ 
 Ш ш Ъ ъ Э э Ю ю Я я 
 Қайд. Азбаски калиди мо аз символ (ду қисм) иборат
 буд бинобар ин, дар раунди якум қисмати якум ( ҳарфи
 аввала) ва дар раунди дуюм қисмати дуюм (чор ҳарфи 
 боқимонда) истифода карда шуд. Ба ҳамин монанд, агар калид
 аз як қисм иборат бошад, пас дар раунди дуюм метавон
 ҳарфҳои онро аз рӯйи ягон қоида ҷойгардони карда, истифода
 бурд. 
 Метавон қайд кард, ки дар рамзи мазкур матн 
 натанҳо ба блокҳои иборат аз рамзӣ тақсим карда 
 мешавад, балки метавонад ба ё шаш рамзӣ низ тақсим
 карда шавад. 
 Мисоли. Калимаи AVADAKEDAVRA рамзгузорӣ 
 карда шавад. Матни мазкурро ба ду қисми шашсимволӣ 
 тақсим мекунем — AVADAK | EDAVRA. Барои осонии 
 кор аз рӯйи ягон қоида коди дӯии ҳар як ҳарфро 
 менависем. 
 Акнун бо ёрии шабакаи ду раундаи Феи стел блоки
 якуми матни додашударо бо истифода аз калиди, ки ба
 намуди дӯӣ додашудааст рамзгузорӣ мекунем: 
 Ба ҳамин монанд, агар қисми дуюм рамзгузорӣ кунем,
 чунин натиҷа MOSSTR ҳосил мешавад. 
 Қайд. Ба сифати функсияи дар рамзи Фейстел 
 метавон дилхоҳ функсияи мувофиқро истифода кард. 
 Устувории криптографӣ аз ин функсия вобаста мебошад.
 Барои рамзгузорӣ ва рамзкушоӣ кардан тавассути 
 методи Фейстел метавон аз барномаи зерин, ки дар забони
 C# навишта шудааст, истифода кард. 
 using System; 
 using System.Text; 
 using System.Threading.Tasks; 
 namespace FEISTEL 
 { 
 class Program 
 { 
 //str - сатри додашуда, key - калид (на камтар аз 
 символ (рамз)) 
 public static string feistel_crypt(string str, string key)
 { 
 if (key.Length < ) 
 throw new ArgumentException("Калид бениҳоят 
 хурд аст! (бояд min = символ бошад)"); 
 byte[] str_arr = Encoding.Default.GetBytes(str);
 byte[] key_arr = Encoding.Default.GetBytes(key);
 //агар дарозӣ каратии набошад( байт) 
 int diff = str_arr.Length %; 
 if (diff!= ) 
 { 
 byte[] temp = new byte[str_arr.Length + ( - diff)];
 Array.Copy(str_arr, temp, str_arr.Length); 
 str_arr = temp; 
 } 
 byte[] res_arr = new byte[str_arr.Length]; 
 //рамзгузорӣ мекунем. 
 for (int i =; i < str_arr.Length; i = i + ) 
 { 
 byte[] block = new byte[]; 
 Array.Copy(str_arr, i, block,, ); 
 for (int j =; j <=; j++) 
 { 
 // зерблок месозем 
 byte[] subblock_left_arr = new byte[]; 
 Array.Copy(block, subblock_left_arr, ); 
 byte[] subblock_right_arr = new byte[]; 
 Array.Copy(block,, subblock_right_arr,, );
 //калиди раунди месозем 
 byte[] subblock_key_arr = new byte[]; 
 Array.Copy(key_arr, subblock_key_arr, ); 
 subblock_key_arr = shift_key_left(key_arr, j);
 if (j!= )//агар j = бошад, ҷойи зерблокҳо иваз
 карда намешаванд. 
 block = crypt_block(subblock_left_arr, 
 subblock_right_arr, subblock_key_arr, false); 
 else 
 block = crypt_block(subblock_left_arr, 
 subblock_right_arr, subblock_key_arr, true); 
 } 
 //скидываем блок в результирующий массив 
 Array.Copy(block,, res_arr, i, block.Length);
 } 
 return Encoding.Default.GetString(res_arr); 
 } 
 private static byte[] crypt_block(byte[] subblock_left_arr,
 byte[] subblock_right_arr, byte[] subblock_key_arr, bool
 isLast) 
 { 
 int subblock_left = 
 BitConverter.ToInt(subblock_left_arr, ); 
 int subblock_right = 
 BitConverter.ToInt(subblock_right_arr, ); 
 int subblock_key = 
 BitConverter.ToInt(subblock_key_arr, ); 
 //xor 
 subblock_left = subblock_left ^ subblock_key; 
 subblock_left_arr = 
 BitConverter.GetBytes(subblock_left); 
 byte[] tmp = new byte[]; 
 Array.Copy(subblock_left_arr, tmp, ); 
 Int left = BitConverter.ToInt(tmp, ); 
 Array.Copy(subblock_left_arr,, tmp,, ); 
 Int right = BitConverter.ToInt(subblock_left_arr, );
 //xor 
 subblock_right = f(left, right) ^ subblock_right;
 subblock_right_arr = 
 BitConverter.GetBytes(subblock_right); 
 //ҷойи зерблокҳоро иваз мекунем ё намекунем 
 byte[] res_arr = new byte[]; 
 if (!isLast) 
 { 
 Array.Copy(subblock_right_arr, res_arr, ); 
 Array.Copy(subblock_left_arr,, res_arr,, );
 } 
 else 
 { 
 Array.Copy(subblock_left_arr, res_arr, ); 
 Array.Copy(subblock_right_arr,, res_arr,, );
 } 
 return res_arr; 
 } 
 public static string feistel_decrypt(string str, string key)
 { 
 if (key.Length < ) 
 throw new ArgumentException("Калид бениҳоят 
 хурд аст! (бояд min = символ бошад)"); 
 byte[] str_arr = Encoding.Default.GetBytes(str);
 byte[] key_arr = Encoding.Default.GetBytes(key);
 byte[] res_arr = new byte[str_arr.Length]; 
 //агар дарозӣ бо (байт) карати набошад 
 int diff = str_arr.Length %; 
 if (diff!= ) 
 throw new ArgumentException("Сатр нодуруст 
 дохил карда шудааст!"); 
 //аз охир сар мекунем 
 for (int i = str_arr.Length -; i >=; i = i - )
 { 
 byte[] block = new byte[]; 
 Array.Copy(str_arr, i, block,, ); 
 //калиди раундирро бо тартиби баръакс истифода
 мекунем. 
 for (int j =; j >=; j--) 
 { 
 // зерблок месозем 
 byte[] subblock_left_arr = new byte[]; 
 Array.Copy(block, subblock_left_arr, ); 
 byte[] subblock_right_arr = new byte[]; 
 Array.Copy(block,, subblock_right_arr,, );
 //калиди раундӣ месозем 
 byte[] subblock_key_arr = new byte[]; 
 Array.Copy(key_arr, subblock_key_arr, ); 
 subblock_key_arr = shift_key_left(key_arr, j);
 if (j!= )//агар j = бошад, онгоҳ ҷойи 
 зерблокҳоро иваз кардан лозим намешавад 
 block = decrypt_block(subblock_left_arr, 
 subblock_right_arr, subblock_key_arr, false); 
 else 
 block = decrypt_block(subblock_left_arr, 
 subblock_right_arr, subblock_key_arr, true); 
 } 
 //блокҳои натиҷавиро ба массив илова мекунем 
 Array.Copy(block,, res_arr, i, block.Length);
 } 
 return Encoding.Default.GetString(res_arr); 
 } 
 private static byte[] decrypt_block(byte[] 
 subblock_left_arr, byte[] subblock_right_arr, byte[]
 subblock_key_arr, bool isLast) 
 { 
 int subblock_left = 
 BitConverter.ToInt(subblock_left_arr, ); 
 int subblock_right = 
 BitConverter.ToInt(subblock_right_arr, ); 
 int subblock_key = 
 BitConverter.ToInt(subblock_key_arr, ); 
 byte[] tmp = new byte[]; 
 Array.Copy(subblock_left_arr, tmp, ); 
 Int left = BitConverter.ToInt(tmp, ); 
 Array.Copy(subblock_left_arr,, tmp,, ); 
 Int right = BitConverter.ToInt(subblock_left_arr, );
 //xor 
 subblock_right = f(left, right) ^ subblock_right;
 //xor 
 subblock_left = subblock_left ^ subblock_key; 
 subblock_left_arr = 
 BitConverter.GetBytes(subblock_left); 
 subblock_right_arr = 
 BitConverter.GetBytes(subblock_right); 
 //ҷойи зерблокҳоро иваз мекунем ё намекунем 
 byte[] res_arr = new byte[]; 
 if (!isLast) 
 { 
 Array.Copy(subblock_right_arr, res_arr, ); 
 Array.Copy(subblock_left_arr,, res_arr,, );
 } 
 else 
 { 
 Array.Copy(subblock_left_arr, res_arr, ); 
 Array.Copy(subblock_right_arr,, res_arr,, );
 } 
 return res_arr; 
 } 
 private static int f(Int left, Int right) 
 { 
 // мавқеъ кучиш ба чап 
 int l = left <<; 
 int r = l >>; 
 left = (Int)(l + r); 
 // мавқеъ кучиш ба рост 
 l = right >>; 
 r = l <<;//- 
 right = (Int)(l + r); 
 //Ҷои қисматҳоро иваз мекунад 
 int res = (int)left <<; 
 return res + right; 
 } 
 //Қисми чапи зеркалидро бармегардонад 
 private static byte[] shift_key_left(byte[] key_arr, int i)
 { 
 byte[] tmp = new byte[]; 
 Array.Copy(key_arr, tmp, ); 
 int left = BitConverter.ToInt(tmp, ); 
 Array.Copy(key_arr,, tmp,, ); 
 int right = BitConverter.ToInt(tmp, ); 
 //i * мавқеъ кучиши даври ба рост 
 int l_l = left << (i * ); 
 int r_r = right >> ( - i * ); 
 left = l_l + r_r; 
 return BitConverter.GetBytes(left); 
 } 
 static void Main(string[] args) 
 { 
 String text, Key, Etext, Dtext; 
 text = Console.ReadLine(); 
 Key = Console.ReadLine(); 
 Etext = feistel_crypt(text, Key); 
 Console.WriteLine(Etext); 
 //Рамзкушоӣ 
 Dtext = feistel_decrypt(Etext, Key); 
 Console.WriteLine(Dtext); 
 Console.ReadKey(); 
 } 
 } 
 } 
 DES (англ. data encryption standard) — алгоритми
 симметрии рамзгузорӣ буда, соли аз тарафи ширкати
 IBM дар асоси сет ё шабакаи Фейстел бо давр (раунд) ва
 калиди дарозиаш ба бит сохта шуда, аз ҷониби 
 ҳукумати ИМА ҳамчун стандарти расмии (FIPS -) 
 тасдиқ карда шудааст. Андозаи блокҳо барои DES ба 
 бит баробар буда, дар он комбинатсияи ғайрихатии S-
 блокҳо ва ҷойивазкунии хатии табдилдиҳиҳо 
 истифода бурда мешаванд. Барои DES я кчанд реҷаҳои 
 корӣ мавҷуд аст: 
 ) ECB (англ. electronic code book) — реҷаи китоби 
 электронии кодӣ; 
 ) CBC (англ. cipher block chaining) — реҷаи 
 пайвасткунии блокҳо; 
 ) CFB (англ. cipher feed back) — реҷаи алоқаи баръакс бо
 шифротекст; 
 ) OFB (англ. output feed back) — реҷаи алоқаи баръакс
 баромад. 
 Дар замони муосир инкишофи DES алгоритми 
 Triple DES (DES) ба ҳисоб меравад. Дар DES 
 IBM(International Business Machines) —ширкати амрикоӣ дар шаҳри
 Армонке (штат. Ню-Йорк) буда, яке аз бузургтарин истеҳсокунанда ва
 таъминкунандаи воситаҳои техникӣ, таъминоти барномавӣ ва
 инчунин IT-хизматрасониҳо ба ҳисоб меравад. Ширкати мазкур аз
 ҷониби соҳибкори амрикоӣ Чарлз Рэнлетт 
 Флинт ( январи, Томастон, Мэн — феврали ) соли
 соли бо номи C-T-R, сохта шуда, сипас соли номи IBM-ро
 гирифт. 
 рамзгузорӣ/рамзкушоӣ бо татбиқи секаратаи алгоритми 
 DES иҷро карда мешавад. 
 Ин алгоритм дар корхонаҳои давлатии ИМА бо 
 мақсади муҳофизати итилоот аз дастбурдҳои гуногун 
 истифода бурда мешуд. Алгоритме, ки дар асоси ин 
 стандарт ташкил шуд, зуд паҳн гардида, ҳатто соли 
 аз тарафи ANSI стандартизатсия карда шуд. 
 Дар замони ҳозира DES яке аз алгоритмҳои 
 паҳнгашта мебошад, ки дар системаи муҳофизати 
 маълумотҳои тиҷорати истифода бурда мешавад. 
 Пеш аз мавриди баҳс қарор додани алгоритми мазкур
 хосиятҳои асосии онро меорем: 
 ) Танҳо калиди битаро истифода мебарад. 
 ) Пушидани маълумотро бо ёрии як пакет барои 
 кушодан дигарашро истифода мебарад. 
 ) Нисбатан соддагии алгоритм метавонад бо суръати 
 тез маълумотро дарёбад. 
 ) Ба қадри кифоя суръати баланди алгоритм 
 Алгоритми DES маълумотҳои рамзгузори-шудаи 
 битаро бо ёрии калиди бита ба вуҷуд меорад. 
 Барои рамзгузорӣ аз формулаи зерин истифода бурда 
 мешавад., 
 () 
 дар инчо xor –амали ҷамъ аз рӯи модули мебошад. 
 Функсияи f-функсияи рамзгузорӣ номида мешавад. 
 Баъдтар онро мавриди баҳс қарор медиҳем. 
 Рамзкушоӣ бошад – ин амали баръакси 
 рамгузорӣ буда, барои иҷрои он аз формулаи зерин 
 истифода бурда мешавад:, 
 () 
 Нақшаи умумии алгоритми DES чунин шаклро дорад: 
 Сохтори умумии алгоритми DES ба намуди графикӣ 
 шакли зеринро дорад. 
 Алгоритми мазкур аз ду қисм иборат аст: 
 ) Сохтани калид ва зеркалидҳо. 
 ) Рамзгузорӣ 
 Ҳоло ҳарду ин қадамҳоро дида мебароем. 
 Қадами. Сохтани калид ва зеркалидҳо. 
 Бигузор калиди -и бита бо сурати зерин дода шуда
 бошад.. 
 Матритсаи тайёрии калиди ибтидоӣ 
 Ҷадвали. Матритсаи тайёрии калиди ибтидоӣ 
 -ро ки татбиқ карда, калиди битаи -ро ҳосил 
 мекунем. 
 = 
 Қайд. Матритсаи аз марисаи К чунин ҳосил 
 шудааст: ба сифати элемент и якуми матритсаи 
 элементи -уми матритсаи К ба сифати элементи дуюм 
 бошад, элементи -ум ва ғайра гирифта шудааст. 
 Натиҷаи табдилдиҳии ба блоки бита: 
 ва тақсим карда мешавад, а з он ҷумла битҳои,,…, уми калиди ва битҳои,,…, уми 
 калиди мебошад. 
 Акнун барои ба тарафи чап даврӣ кучонидани 
 битҳои ва аз рақамҳои итератсия, ки дар ҷадвали 
 зерин оварда шудаанд, истифода бурда мешавад. 
 рақами итерасия кучонидан (бит) 
 Ҷадвали. Ҷадвали ғеҷиш (ба чап) додан ва муаянкунии
 калид 
 Пас аз татбиқи ҷадвали ҷуфти 
 ҳосил карда мешаванд, ки шакли зеринро доранд:
 C 
 D:::::::::::::::::::::::: 
 Акнун ҷуфти ҳоро пайваст 
 карда (дар бари ҳам навишта), барои онҳо матритсаи, ки
 шакли зеринро дорад, татбиқ мекунем. 
 Ҷадвали. Матритсаи коркарди охирини калид. 
 Пас аз татбиқи матритсаи охирон (Ҷадвали ) -то
 зеркалиди ки ҳар кадомашон битӣ 
 мебошанд, сохта мешаванд, яъне = H( ). 
 Барои содаги ин амалро барои ҷуфти дида мебароем, 
 ки шакли зеринро доранд:: 
 Пас аз татбиқи матритсаи барои ҷуфти 
 калиди ба сурати зерин ҳосил мешавад. 
 = 
 Ба ҳамин монанд …, ҳо сохта 
 мешаванд, ки дар натиҷа зеркалидҳои калиди ( 
 бита) пайдо мешаванд. Дар ҳар як даври рамзгузо рии 
 алгоритми DES ин зеркалидҳо мувофиқ ба даври 
 рамзгузорӣ истифода бурда мешаванд. 
 Мисол. Бигузор калиди К ба сурати дӯӣ чунин дода
 шуда бошад. 
 K: 
 Матритаи (Ҷадвали) калиди ибтидои -ро (ҷадвали 
 ) татбиқ карда, калиди битаи ро ҳосил мекунем, 
 ки шакли зеринро дорад:: 
 Калиди чунин ҳосил шудааст: бити -умини 
 калиди К дар ҷ ойи аввал, бити -умини калиди К дар
 ҷойи дуюм, бити -умини калиди К дар ҷойи сеюм ва 
 ҳоказо навишта шудаанд. 
 Қайд. Барои ҳисоб намудани қимати метавон аз 
 зербарномаи зерин истифода кард: 
 #include <iostream> 
 using namespace std; 
 int main(int argc, char** argv) { 
 int 
 G[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}; 
 string S=" 
 "; 
 int i, n; 
 n=S.length(); 
 for (i=; i<n; i++) 
 { 
 if (i%==) 
 cout<<" "; 
 cout<<S[G[i]]; 
 } 
 return; 
 } 
 Пас аз ин, калиди ба қисми баробари ва, 
 ки ҳар кадомашон битӣ м ебошанд, ҷудо карда мешавад.:: 
 Бо истифода аз ҷадвали ғеҷиш ба тарафи чап 
 (ҷадвали ) ҳамаи -ҳо сохта мешаванд, 
 ки шакли зеринро доранд:::,:::::::::::::::::::::::::::::::::: 
 Қайд. Барои як мавқеъ ба тарафи чап кучонидани 
 элементҳои ягон сатр метавон аз зербарномаи зерин, ки дар
 забони С++ навишта шудааст истифода кард: 
 #include <iostream> 
 using namespace std; 
 string kuchish(string S) 
 { 
 int i, n; 
 n=S.length(); 
 char c=S[]; 
 for (i=; i<n-; i++) 
 S[i]=S[i+]; 
 S[i+]=c; 
 return S; 
 } 
 int main(int argc, char** argv) { 
 string S=""; 
 string S=kuchish(S); 
 cout<<S; 
 return; 
 } 
 Ду мавқеъ кучонидан низ айнан иҷро карда мешавад.
 Дар ин қадам бошад, ҳар як ҷуфти 
 дар паҳлуи ҳам навишта, бо истифода аз 
 ҷадвали (ҷадвали ) зеркалидҳои –ро ҳосил 
 мекунем.:::::::::::::::: 
 Алгоритми муайянкунии калид ва зеркалидҳо ба 
 намуди графикӣ шакли зеринро дорад: 
 Қадами. Рамзгузорӣ. 
 Бигузор матни M ( бит ) бо чунин шакл дода 
 шуда бошад: 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 Дар ин ҷо ҳар як қимати ё -ро доро 
 мебошад. Барои матни додашуда, матритсаи IP 
 Ҷадвали: Матритсаи ҷойивазкунии аввалини IP 
 -ро татбиқ карда, матни ибтидоиро ба сурати зерин 
 менависем. 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 M M M M M M M M 
 Қайд.Тавре ки аён аст, дар ин ҷадвал бити -уми
 матни ибтидоӣ дар ҷойи якум, бити -ум дар ҷойи дуюм ва
 ҳоказо навишта мешаванд. 
 Баъд аз ин амал матритсаи (ҷадвали) охирон ба ду
 қисми баробар қисми чап ва рост тақсим карда 
 мешавад. Дар ин ҷо ва шакли зеринро доранд::;; 
 Пас аз ин тавассути формулаи () ба рамзгузорӣ 
 оғоз мекунем. 
 Пеш аз оғози рамзгузорӣ қимати функсияи 
 -ро ҳисоб мекунем. Ҳисобкунии қимати 
 функсияи аз қадами зерин иборат мебошад. 
 ) 
 ) = ( ҳар яки онҳо 
 битӣ мебошанд); 
 ); 
 ); 
 Ҳар яке аз ин қадамҳоро дида мебароем. 
 ) ); 
 Матритсаи 
 Ҷадвали. Матритсаи Е коркарди охирини калид. 
 -ро татбиқ карда, қимати )-ҳоро ҳисоб мекунем. 
 Ҳоло ба сифати намуна тарзи ҳисобкунии )-ро дида 
 мебароем, ки натиҷаи он шакли зеринро дорад: 
 ): 
 ): 
 Дар ин қадам, бо истифода аз амали xor 
 қимати ҳисоб карда мешавад. Бигузор 
 натиҷаи ин амал барои ) ва шакли зеринро дошта 
 бошад: 
 А з и нҷ о ҳо шакли шакли зеринро 
 мегиранд: 
 ),,…, 
 Барои ҳисобкунии,,…, аз ҷадвали 
 зерин истифода бурда меш а в а д. 
 Рақами сутун 
 Р 
 а 
 қ 
 а 
 м 
 и 
 с 
 а 
 т 
 р 
 Ҷадвали. Функсияи ҳосилшавии,,…, 
 Қайд. Бигузор дар даромади функсияи матритсаи 
 блоки битаи, дохил шавад. Бити дугонаи
 шумораи рақам и сат р ва ч ор бити боқимонад – 
 рақами сут ун и матритсаро нишон медиҳанд, яъне на т иҷа и
 функсияи элементи битӣ мебошад, ки дар сатри (ба
 намуди даҳӣ) ва сутуни (ба намуди даҳӣ) ҷойгир а ст.
 Шакли графикии функсияи чунин аст: 
 Ҳамин тариқ, бо истифода аз калид раундӣ 
 (даврӣ) рамзгузорӣ иҷро карда мешавад. Баъди даври -
 ум матритсаи ки бо матритсаи IP баръакс мебошад, 
 ба натиҷаи охиро н татбиқ карда мешавад. 
 Ҷадвали. Матритсаи ҷойивазкунии баръакс 
 Қайд. Ҷойивазкунии матритсаи ба ҷойиваз к унии 
 матритсаи IP монанд гузаронида мешавад. 
 Мисол. Бигузор матни битаи М, ки шакли дӯии 
 он чунин аст, дода шуда бошад. 
 M = 
 Матритсаи IP-ро (ҷадвали ) татбиқ карда, қимати
 IP(M)-ро ҳисоб мекунем, ки шакли зеринро мегирад. 
 IP(M): 
 Натиҷаи IP(M)-ро ба ду қисми баробар чап ва 
 рост ҷудо мекунем::: 
 Матритсаи Е-ро (ҷадвали ) татбиқ карда, қимати
 ҳисоб карда мешавад. 
 ) E( ): 
 Дар ин қадам, бо истифода аз амали қимати 
 E( ) -ро ҳисоб мекунем, ибтидо E( ) 
 ҳисоб карда мешавад, ки ва E( ) шакли зеринро 
 доранд:: 
 E( ):. 
 Аз инҷо 
 E( ) xor: 
 Ҳамин тариқ 
 = 
 = 
 = 
 = 
 = 
 = 
 = 
 = 
 ),,…, 
 Барои ҳисобкунии,,…, аз 
 ҷадвали истифода бурда м еш ав а д. 
 Бигзор B=”” бошад. Ҷадвали -ро табиқ карда
 қимати -ро меёбем. Азбаски шакли даҳии бити аввал
 ва охири B ба ( ) ва чор бити боқимонда ба 
 баробар аст, бинобар ин қимати матлуб дар бурриши 
 сатри ва сутуни ҷойгир аст. Элементе ки дар сатр ва
 сутунҳои мазкури матритсаи мехобад-ин мебошад. 
 Пас ()= (шакли дӯии адади ) мешавад. Ба 
 ҳамин монанд, ҳо низ ҳисоб карда 
 мешаванд. 
 ( ) 
 Барои муайян намудани мавқеи метавон аз 
 зербарномаи зерин, ки дар забони С++ навишта шудааст,
 истифода кард. 
 #include <iostream> 
 #include <cmath> 
 using namespace std; 
 int main(int argc, char** argv) { 
 string S=""; 
 int n,c,r; 
 n=S.length(); 
 c=*((int)S[]-)+((int)S[n-]-); 
 r=; 
 for (int i=; i<n-; i++){ 
 r+=pow(,(n--i))*((int)S[i]-); 
 } 
 cout<<"satr:"<<r<<" sutun:"<<c; 
 return; 
 } 
 Барои ҳисоб намудани қимати 
 барои ҳар як блок матритсаи Р татбиқ карда 
 мешавад. 
 Ҷадвали. Матритсаи Р 
 Пас аз як давр (бо татбиқи ҷадвали ) натиҷаи зерин
 ба даст меояд:: 
 Акнун қимати = -ро ҳисоб 
 мекунем, ки чунин шаклро соҳиб мешавад: 
 =: 
 Ҳамин тариқ пас аз давр чунин натиҷа ба даст
 меояд: 
 =:::: 
 Б аъд аз давр ҷойҳои ва –ро бо ҳамдигар 
 иваз карда чунин натиҷаро ба даст меорем:: 
 Дар охир қимати (, )-ро ҳисоб мекунем, 
 яъне матритсаи (ҷадва л и )-ро барои татбиқ 
 карда чунин натиҷа р о ба даст меорем: 
 (, ): 
 Ҳамин тариқ матни додашуда рамзгузорӣ карда 
 мешавад, агар қимати (, )-ро аз дӯи ба даҳӣ 
 гардонем матни рамзгузош т ашуда ҳосил мегардад. 
 Рамзкушоӣ бошад, ба монанди рамзгузорӣ буда, 
 фақат зеркалидҳо ба тартибӣ баръакс истифода бурда 
 мешаванд, яъне 
 Просесси рамзкушоӣ бошад, тавасути формулаи ()
 иҷро карда мешавад. 
 Дар -ум давр (итерасия) пайдарпаии ва 
 ҳосил мегарданд. Онҳоро бо ҳамдигар пайваст карда, 
 пайдарпаии бита ҳосил мекунем. 
 Баъдан мавқеи пайдарпаии ин битҳоро бо ёрии 
 матритсаи IP иваз мекунем. Натиҷаи чунин ҷойивазкунӣ
 пайдарпаии бита мебошад. 
 Ба ҳамин минвол рамзи DES истифода бурда мешавад. 
 ) Алгоритми AES ва таърихи пайдоиши он 
 Соли NIST (National Institute of Standards and
 Technology) оиди сохтани алгоритми рамзгузории 
 симметрӣ конкурс эълон кард. Алгоритми сохташуда 
 номи AES (Advanced Encryption Standard)-ро соҳиб шуд.
 Дар нақша гирифта шуда буд, ки алгоритм ҳамчун 
 стандарди ИМА дар ивази стандарди DES (Digital 
 Encryption Standard), ки соли стандарди Амрико 
 қабул шуда буд, истифода шавад. Зарурати қабули 
 алгоритми нав дар кутоҳии калиди DES ( бит) мебошад,
 ки бо усули азназаргузаронии ростаи калид бо содаги DES
 рахна карда мешуд. Илова бар ин, архитектураи DES 
 барои татбиқи аппаратӣ нигаронида шуда буд, аммо 
 татбиқи платформавии он бо назардошти маҳдудияти 
 манбаҳо на он қадар мувофиқ буд. Модификатсияи 
 TripleDES дорои калиди ба қадри кифоя дароз буда, 
 суръати корияш сустар (оҳистатар) буд. 
 Дуюми январи соли NIST қасди интихоби 
 ҷойгузини DES-ро эълон кард. -уми сентябри соли 
 конкурс эълон карда шуд. Дар ин конкурс дилхоҳ 
 ташкилот ва гурӯҳҳои тадқиқотӣ метавонистанд 
 алгоритми худро пешкаш намоянд. NIST ҳамаи 
 иттилотҳои лозимиро оиди санҷиши (тестирования) 
 номзадҳо дар нақши AES мунташир карда, аз муаллифон 
 принсипҳои базавии (истифодаи доимиҳо, ҷадвалҳо барои
 ивазкунӣ(S-box) ва ғайра) сохтани алгоритмро талаб кард.
 Талаботи асоси аз номзадҳо чунин буд: 
 ) рамзи блокӣ (блочный шифр) будани он; 
 ) дарозии блок ба бит баробар будан; 
 ) истифодаи калидҳои дарозашон ба, ва бит
 баробар буда. 
 Иловатан аз номзадҳо талаб карда шуда буд: 
 ) истифодаи амалҳое, ки ба содагӣ пиёдасоии 
 (амалисозии) апаратӣ (дар микрочипҳо), ва 
 барномави (дар КФ ва серверҳо)-и онҳо мавҷуд бошад;
 ) ба протсессҳои бита нигаронидани он; 
 ) бе зарурат душвор нагардонидани сохтори рамз, 
 барои он ки ҳар як истифодабаранда тавонад 
 мустақилона ва новобаста алгоритмро таҳлили 
 криптографӣ гузаронида, боварӣ ҳосил кунад, дар он
 ягон имконияти ғайриҳуҷҷатӣ гузошта нашудааст. 
 Илова бар ин, аз алгоритме ки ба сифати номзади
 стандард мехост баромад кунад, талаб карда шуд, ки ба
 тамоми ҷаҳон мунташир карда шавад ва барои истифодаи
 патент ягон хел маблағ талаб накунад. 
 Алгоритми бояд пеш аз ҳама дараҷаи баланди 
 ҳифзро пешниҳод карда, дорои сохтори сода ва 
 маҳсулнокии бештар бошад. Аз нуқтаи назари 
 архитектураи дохилӣ бояд чунон боваринок бошад, ки ба
 зидди ҳар гуна ҳуҷумҳо тоқат карда тавонад. 
 Дар байни ҳамаи алгоритмҳо конкурс гузаронида 
 шуда, дуюми октябри соли ғолиби 
 конкурси AES алгоритми Rijndael ([rɛindaːl] 
 (Рэндал) эълон гардад. Сар карда аз ҳамон вақт
 ба стандартизатсия кардани он шурӯъ карданд.
 Бистуҳаштуми феврали соли лоиҳа 
 (проект) чоп карда шуда, -уми ноябри соли AES
 ҳамчун стандартӣ FIPS қабул гардид. 
 Таҳиякунандагони алгоритми Rijndael 
 криптографҳои белгиявӣ Ҷоан Дамен ва Винсент Реймен
 ба ҳисоб мераванд. 
 AES айнан Rijndael намебошад, чунки алгоритми 
 аслии Rijndael калид ва блоки дорои 
 фосилаи калонро пуштибонӣ мекард, аммо 
 дар AES дарозии калид қайдкардашуда буда 
 ба бит баробар мебошад. Дар Rijndael 
 метавон калидҳои дарози-ашон аз то 
 бит баробарро бо қадами бит истифода 
 кард. AES блоки додаҳои дарозиашон ба 
 байт баробарро истифода мекунад, аммо дар Rijndael 
 истифодабаранда метавонад худаш дарозии калидро 
 интихоб кунад. 
 Rijndael – алгоритми муҷаз (компактный) бо 
 сохтори математикии сода буда, дорои устувории хуб ба
 муқобили ҳар гуна ҳамла дар вақти истифодабарӣ 
 https://en.wikipedia.org/wiki/Joan_Daemen 
 https://en.wikipedia.org/wiki/Vincent_Rijmen 
 мебошад. Умуман AES –ро метавон ҳамчун Rijndael бо 
 калиди дарозиаш ба бит ва блоки дарозиаш ба байт
 баробар дар назар гирифт. 
 Дар ин боб бе назардошти асосҳои матемаикиаш 
 алгоритми AES-ро дида мебароем. 
 Ишораҳои дар алгоритми AES истифодашаванда 
 Пеш аз мавриди баҳс қарор додани алгоритми AES 
 ибтидо ишораҳои асосии дар он истифодашавандаро дида
 мебароем 
 Ишора Маъно ва мафҳум 
 AddRoundKey() Табдилдиҳи дар рамзгузорӣ ва рамзкушоӣ, дар
 он калиди раундӣ тавассути амали XOR ба
 матритсаи state ҷамъ карда мешавад. 
 InvMixColumns() Инверсияи MixColumns буда, ҳамчун 
 табдилдиҳи дар рамзкушоӣ истифода бурда
 мешавад. 
 InvShiftRows() Инверсияи ShiftRows буда, ҳамчун 
 табдилдиҳи дар рамзкушоӣ истифода бурда
 мешавад. 
 InvSubBytes() Инверсияи SubBytes буда, ҳамчун табдилдиҳи
 дар рамзкушоӣ истифода бурда мешавад. 
 K Калиди рамгузорӣ  массиви иборат аз 
 бит ё байт. 
 MixColumns() Табдилдиҳи дар ҷараёни рамзгузорӣ буда,
 барои ба даст овардани сутуни нав, ҳамаи
 сутунҳои ҷадвали state гирифта додаҳои 
 онҳоро кучиш мекунонад 
 Rcon() Массиви калимаҳои доимии раундӣ. 
 RotWord() Функсияи дар амали калиди васеъшуда 
 истифодашаванда буда, калимаи байтарои
 гирифта онро ҷойгардонӣ мекунад. 
 ShiftRows() Табдилдиҳӣ дар ҷараёни рамзгузорӣ буда, се
 сутуни охирини матритсаи state –ро бо 
 мавқеъҳои гуногун даврӣ мекучонад. 
 SubBytes() Табдилдиҳӣ дар ҷараёни рамзгузорӣ буда, бо
 истифода аз ҷадвали ивазкунӣ (S-box) байтҳои
 матритсаи state иваз мекунад. 
 N Дарозии калид дар AES - калима. 
 k 
 N Дарозии блок дар калима барои AES - 
 b 
 калима. 
 N Миқдори рундҳо дар рамзгузорӣ –. 
 r 
 XOR Амали даврии («ё») кор бо битҳо. 
  Амали даврии («ё») кор бо битҳо. 
  Амали зарб дар майдони охирнок. 
 Рамзгузорӣ тавассути AES 
 Барои рамзгузорӣ кардан, ибтидо калид лозим 
 мешавад. Дар алгоритми AES дарозии калид ба бит 
 баробар буда, одатан ҳамчун матрисаи  байт дода 
 мешавад. 
 Додаҳои вурудӣ барои амали рамзгузорӣ массиви 
 байтаи мебошад. Дар ибтидои 
 рамзгузорӣ додаҳои вурудӣ ба ба блокҳои андозаашон ба
 байт ё бит баробар тақсим карда мешаванд. Агар
 андозаи умумии итилоотӣ вурудӣ ба каратӣ набошад,
 онгоҳ дар охири он байтҳои иловагӣ (то замоне, ки 
 андозаи пайғоми ҳосилшуда ба карати нашавад) илова
 карда мешаванд. Сипас байтҳои ин массив пайдарпай ба
 сутунҳои матритсаи (аз боло ба поён) навишта 
 мешаванд. Дар дохили алгоритм бо байтҳои матритсаи 
 ҳолат (State) амали ҷамъ иҷро карда мешавад. Қиматҳои
 охирини матритсаи ҳолатро OutputBlock меноманд, ки 
 баромади алгоритм ба ҳисоб меравад. Ба ҳамин монанд 
 элементҳои матрисаи калид InputKey (K) дода 
 мешаванд. Андозаи ҳамаи матритсаҳо мебошанд. 
 Шакли схематикии додаҳо чунин аст: 
 Байтҳои вурудӣ Матритсаи state Байтҳои хуруҷӣ 
 InputBlock OutputBlock 
 Чор байти дар ҳар як сутуни матритсаи ҳолат ё 
 калид-ро метавон ҳамчун як калимаи битӣ дар назар
 гирифт. Аз ин ҷост, ки матрисаи ҳолат –ин чор калимаи
 мебошад, дар инҷо 
 аст. 
 Матритсаеро ки дар вурудӣ ҳар як раунд иштирок 
 мекунад InputState ва матритсаеро, ки дар хуруҷи ҳар як
 раунд иштирок мекунад OutputState меноманд. Маълум 
 аст, ки дар вуруди раунди якум 
 буда, дар хуруҷи раунди охирон 
 мебошад. 
 Мисол. Матни зеринро ки ба намуди ададӣ (даҳӣ) 
 дода шудааст ба шакли блоки менависем: 
 ( ) 
 Амали рамзгузории ҳар як блок аз муҳтавои блоки
 дигар новобаста гузаронида мешавад. Бо охиррасии 
 рамзгузории блок - матритса бо додаҳои қисми дигар пур
 карда шуда, ҷараён аз нав такрор карда меёбад. Бо 
 назардошти новобаста будани рамзгузории як блок аз 
 блоки дигар ҷараёни рамзгузорӣ хуб ба ҷудокунӣ 
 меафтад. 
 Ҳар як блок дар якчанд қадам-раунд рамзгузорӣ 
 карда мешавад. Схемаи крипто-табдилдиҳиро метавон ба
 сурати зерин навишт. 
 калид. 
 ивазкунӣ. 
 ивазкунӣ. 
 Ҳоло ҳар яке аз ин қадамҳоро муфассал дида 
 мебароем. 
 Табдилдиҳии SubBytes 
 Табдилдиҳии SubBytes – ин ивазкунии байтии 
 ғайрихатӣ буда, барои ҳар як байти state бо истифода аз
 ҷадвали ҷойивазкунии S-box гузаронида мешавад. 
 Ҷадвали ивазкунии байтҳо S-box дар рамзи AES 
 Мақсади татбиқи ҷадвали ивазкунӣ  ин душвор 
 гардонидани криптоанализи хаттӣ ва дифференсиалӣ 
 мебошад. Дар алгоритми AES ҷадвали ивазкунӣ 
 қайдкардашуда мебошад. Дар ҷадвали S-box ададҳо ба 
 намуди системаи ҳисоби шонздаҳӣ навишта шудаанд. Дар
 ин система қимати дилхоҳ байт ба сурати на зиёда аз ду
 разрияди шонздаҳӣ тасвир карда мешавад. 
 Амали ивазкунии байти Z-ро аз рӯӣ ҷадвали S-box
 чунин иҷро кардан мумкин аст: байти z ба сурати 
 системаи ҳисоби шонздаҳӣ табдил дода мешавад, масалан
 xyh. Дар инҷо x  разряди калонӣ ва y  разряди хурдӣ
 аст. Агар разряди калонӣ мавҷуд набошад, онгоҳ он ба
 сифр иваз карда мешавад. Дар ҷадвали s-box қимати 
 катакчаи дар сатри x ва сутуни y-хобида интихоб карда
 мешавад. Қимати z', ки дар сатри x-ум ва сутуни y-уми
 ҷадвали s-box мехобад ҳамчун ивази z истифода бурда 
 мешавад. Масалан, агар бошад, онгоҳ натиҷаи 
 ивази ин байт, байтест, ки дар сатри -ум ва сутуни А-юм
 мехобад, яъне 
 S S S S A B C D S S S S
 S 
 S 
 S 
 S 
 = Ah S 
 S 
 S 
 S 
 C 
 A 
 C 
 C 
 B 
 D 
 F 
 FA 
 B 
 F 
 C 
 F 
 A 
 D 
 D 
 { 
 A 
 A 
 B 
 F 
 } F 
 C 
 E D 
 A 
 S 
 S 
 S 
 S 
 = Bh S 
 S 
 S 
 S 
 S S S S B FD F F CC A E F D S S S S
 State то ивазкуни C C C A B E A A A B D E B E B E 
 з 
 S 
 а 
 ta 
 м 
 t 
 е 
 e 
 н 
 б 
 ы 
 а ъди ивазкуни
 D ED FC B B A CB BE A C
 D EF AA FB D F F C
 A F D F BC B DA FF
 CD C EC F C A E D D
 F DC A EE B DE E
 A E A A C C D AC 
 B E C D D D E A C F EA A
 C BA E C A B C E DD F B BD
 D E B F E B C
 E E F D E B E E CE 
 F C A D BF E D F B 
 Қайд. Ҷадвали S-box-ро шарт нест, ки ба тартиби дар
 тавзеҳи AES оварда шуда, истифода кард, балки онро 
 метавон ҳамчун массиви якченакае, ки индекси он қимати
 байт ва муҳтавояш қимати мувофиқи S-box аст, истифода
 кард. Масалан, S-arr = {h, Ch, h, }. Ҷараёни ивазкунӣ
 аз рӯӣ ин ҷадвал ба шакли Z’ = S-arr[Z] оварда мешавад, ки
 дар муқоиса тезтар мебошад. Дар ин вақт андозаи ҳофиза
 тағйир намеёбад. 
 Табдилдиҳии ShiftRows 
 Дар табдилдиҳии ShiftRows байтҳои се сатри 
 охирони ҷадвали state мувофиқан ба миқдори, ва байт
 даврӣ ба тарафи рост кучонида мешаванд. 
 Табдилдиҳии MixColumns 
 Дар табдилдиҳии MixColumns  сутунҳои 
 матритсаи state ҳамчун бисёраъзогӣ дар майдони F() дар
 назар гирифта шуда, аз рӯӣ модули x + ба бисёраъзогии
 доимии зерин зарб карда мешаванд: 
 a(x) = x + x + x + () 
 Ҷараёни зарби бисёраъзогиҳо бо зарбти 
 матритсавии зерин баробарқувва аст: 
 S'     S  
 c c 
  
 S' 
   
  S  
  c   c, 
 S'    S  
  
 c 
     
 c 
  
  S 
 ' c    S c 
 дар инҷо ) – рақами сутунҳои матритсаи state-ро
 ифода мекунад. Дар натиҷаи чунин зарбкунӣ байтҳои 
 сутуни c {S, S, S, S } мувофиқан ба байтҳои зерин иваз
 c c c c 
 карда мешаванд. 
 S’ = (S )  (S )  S  S; 
 c c c c c 
 S’ = S  (S )  (S ) S; () 
 c c c c c 
 S’ = S  S (S )  (S ); 
 c c c c c 
 S’ = (S )  S  S  (S ). 
 c c c c c 
 Табдилдиҳии () барои ҳар як сутуни матритсаи state 
 татбиқ карда мешавад. 
 Табдилдиҳии AddRoundKey 
 Дар табдилдиҳии AddRoundKey, калиди раундӣ RK 
 тавассути амали XOR бо матритсаи state ҷамъ карда 
 мешавад. Ҳар як калиди раундӣ аз байти калиди 
 васеъшуда иборат мебошад. Байтҳои калиди раундӣ дар 
 матритсаи , монанди state навишта мешаванд. Ҳар як
 байти калиди раундӣ бо байти мувофиқи state ҷамъ карда
 мешавад. 
 AddRoundKey 
 S S S S K K K K S’ S’ S’ S’
 S 
 S 
 S 
 S 
 S 
 S 
 S 
 S 
  K 
 K 
 K 
 K 
 K 
 K 
 K 
 K 
 S 
 S 
 ’ 
 ’ 
 S 
 S 
 ’ 
 ’ 
 S 
 S 
 ’ 
 ’ 
 S 
 S 
 ’ 
 ’ 
 S S S S K K K K S’ S’ S’ S’
 State то суммирони Калиди раунди State баъди суммирони
 Калиди васеъшуда KeyExpansion 
 Алгоритми AES калиди рамзгузорӣ К-ро гирифта, 
 барои сохтани калидҳои раундӣ амали васеъкунии 
 калидро иҷро мекунад. Калиди васеъшудаи W дорои 
 (+) калима мебошад  калима аз калиди ибтидоӣ
 ва чортогӣ калима дар ҳар як раунд ( раунд). Калиди
 васеъшудаи W, ки аз калимаҳо (калимаҳои чор байтӣ) 
 таркиб ёфтааст, тавасути ишора карда мешаванд, дар 
 инҷо i аз фосилаи [..] муайян карда мешавад. Дарозии
 пурраи КВ ба бит баробар мебошад, яъне битӣ
 дар ҳар як раунд. 
 Дар ҷараёни васеъкунии калид аз массиви доимии 
 Rcon истифода бурда мешавад. Элементҳои массиви 
 сар карда аз то + рақамгузорӣ карда мешаванд. 
 Қиматҳои матритсаи мазкурро аз рӯи қоидаи рекурсивии
 зерин муайян кардан мумкин аст: 
 =; 
 =  
 Калиди васеъшударо метавон тавассути 
 пайдарпайии амалҳои зерин навишт 
 Чор калимаи калиди рамзгузорӣ К ба калимаи 
 нахустини КВ нусхабардорӣ карда мешаванд W: 
 барои i =,,,. 
 Калимаҳои боқимондаи калид W барои i =,, 
 чунин таҳия карда мешаванд: 
 агар i бо каратӣ бошад, онгоҳ 
 = SubBytes(RotByte( ))  Rcon(i/) мешавад; 
 агар i бо каратӣ набошад, онгоҳ = 
 мешавад. 
 Функсияи RotByte чор байти матни ибтидоӣ 
 ро тавассути амали даврии ҷойгардонӣ ба 
 шакли бармегардонад. Функсияи SubBytes 
 { } 
 барои ҳар яке аз чор байти калимаи ивазкунӣ тавассути
 { } 
 S-box татбиқ карда мешавад. 
 Ба намуди псевдокод алгоритми ҳисобкунии 
 Калиди васеъшуда шакли зеринро дорад: 
 KeyExpansion(byte key[ * Nk], word w[Nb * (Nr+)], Nk)
 begin 
 word temp 
 i =; 
 while(i < Nk) 
 w[i] = word(key[*i], key[*i+], key[*i+], key[*i+])
 i = i + 
 end while 
 i = Nk 
 while(i < Nb * (Nr+)) 
 temp = w[i - ] 
 if (i mod Nk = ) 
 temp = SubWord(RotWord(temp)) xor Rcon[i / Nk] 
 else if (Nk > and i mod Nk = ) 
 temp = SubWord(temp) 
 end if 
 w[i] = w[i - Nk] xor temp 
 i = i + 
 end while 
 end 
 Дар инҷо Nb миқдори калимаҳо дар ҳар раунд ва Nr
 миқдори раундҳо мебошад. 
 Калидҳои ҷадвалии AES 
 Калидҳои раундӣ аз калиди рамзгузорӣ К тавассути
 амали KeyExpansion сохта мешаванд. 
 Ҳар як калиди раундӣ дорои дарозии бит ( ё 
 калимаи байтии, ки дарозиии 
 ҳамаашон ба бит *( рунд+)= (ё калимаи 
 байтӣ ) мебошад. Чор калимаи аввала, аз калиди ибтидоӣ, ташкил карда шуда, 
 калимаи боқимонда -тогӣ аз ҳар як калиди раундӣ сохта
 мешаванд. Интихоби калима хело сода мебошад: чор 
 калимаи нахустин (онҳо бо калиди рамз мувофиқат 
 мекунанд) калиди рақами сифрум () буда, чор калимаи
 минбаъда –калиди раундӣ барои раунди 
 пурраи якум ва ғайра ба ҳисоб мераванд. 
 Калимаҳои нав калиди раундии 
 минбаъда аз калимаҳои (калиди қаблӣ) 
 дар асоси формулаҳои зерин сохта мешаванд: 
 Калимаи нахустини дар ҳар калиди раундӣ аз 
 рӯӣ қоидаи зерин тағйир дода мешаванд. 
 Дар инҷо функсияи аз рӯӣ се қоидаи зерин амал 
 мекунад: 
 Кӯчиши даврии калимаи байта ба андозаи як байт
 ба тарафи чап (амали RotWord). 
 Мувофиқан аз рӯӣ ҷадвали SubBytes иваз кардани 
 ҳар як байти калимае, ки аз қадами якум ҳосил шудааст
 (амали SubWord). 
 Аз рӯӣ модули ҷамъ кардани байтҳои дар қадами
 ҳосилшуда, бо доимии раундӣ ки 
 барои ҳар як калиди ихтисорнашаванда ва ягона 
 мебошад. Се байти тарафи рости ин доимӣ сифр буда, 
 байти тарафи чапи ғайринулӣ аз рӯӣ қоидаи маъмули 
 рекурсивӣ 
 иваз 
 карда мешаванд. 
 Мақсади суммиронӣ бо доимии раундӣ-вайрон 
 кардани дилхоҳ симметрия, ки дар қадамҳои гуногуни 
 тобдиҳии (разворачивание) калид ба амал омада, сабаби
 суст шудани калид ҳамчун алгоритми DES мегардад. 
 Дар расми зерин кори алгоритми калиди васеъшуда
 оварда шудааст: 
 Мисол. Бигзор калиди рамзгузорӣ OF C D
 E C B AD DF AF F бошад. Онгоҳ қиматҳои 
 калиди раундӣ ва фуyксияи чунин шаклро мегиранд. 
 Калидҳои раундӣ Функсияи 
 Б а н ам у д и б л о к -схем а а м а л к а р д и а л г о ри т м и AES
 чунин аст: 
 Рамзкушоӣ дар AES 
 Ҳамаи табдилдиҳиҳои рамзгузорӣ якқимата 
 мебошанд, бинобар ин, ҳар яки онҳо дорои табдилдиҳии
 баръакс буда, (аз инҷо) онҳоро метавон инвертироват 
 карда, ба тартиби баръакс барои амали рамзкушоии AES
 истифода кард. 
 Схемаи крипто-табдилдиҳиро метавон ба сурати 
 зерин навишт: 
 мебошанд. 
 ивазкунӣ. 
 ивазкунӣ. 
 Ҳоло ҳар яке аз ин табдилдиҳиҳоро шарҳу тавзеҳ 
 медиҳем: 
 Табдилдиҳии InvMixColumns 
 Табдилдиҳии InvMixColumns барои табдилиҳии 
 MixColumns баръакс мебошад. Дар табдилдиҳии 
 InvMixColumns, сутунҳои матритсаи state ҳамчун 
 бисёраъзогӣ дар майдони F() дида баромада шуда, аз рӯи
 модули x + бо бисёраъзогии d(x) = a-(x), дар майдони
 F() зарб карда мешаванд: 
 d(x) = {B}x +{D}x +{}x + {E}. () 
 Табдилдиҳии InvShiftRows 
 Табдилдиҳии InvShiftRows баръакси табдилдиҳии 
 ShiftRows мебошад. Байтҳои се сатри охирони массиви 
 state ба таври даврӣ ба тарафи рост кӯчонида мешаванд.
 Сатри (рақамгузорӣ аз оғоз шудааст) –ба байт, сатри 
 – ба байт, сатри – ба байт кӯчонида мешавад. 
 S S S S InvShiftRows S S S S 
 S S S S S S S S 
 S S S S S S S S 
 S S S S S S S S 
 State то лағжиш State баъди лағжиш 
 Табдилдиҳии InvSubBytes 
 Табдилдиҳии InvSubBytes- баръакси амали SubBytes
 буда, байтҳои матритсаи State-ро тавассути ҷадвали 
 ивазкунӣ (ки InvS-box ном дорад) ба қиматҳои нав иваз
 мекунад. Ҷадвали InvS-box дар поён оварда шудааст. 
 Табдилиҳии баръакси AddRoundKey 
 Табдилдиҳии AddRoundKey, барои худаш баръакс 
 мебошад, чунки дар он амали XOR истифода мешавад. 
 Саволҳо барои мустаҳкамкунӣ 
 бурда мешаванд? 
 истифода бурда мешавад? 
 мешаванд? 
 шудааст? 
 истифода карда мешавад? 
 Боби. Истифодаи хатҳои каҷи 
 эллиптикӣ дар криптография 
 Соли математикони машҳури амрикоӣ Нил 
 Коблитс (англ. Koblitz Neal) ва Виктор 
 Миллер(англ. Victor Saul Miller) новобаста аз
 ҳамдигар истифодаи хосияти алгебравии 
 хатҳои каҷро дар криптография пешниҳод 
 карданд. Сар карда аз ҳамон вақт дар 
 криптография истифода-барии яке аз соҳаҳои назарияи 
 ададҳо ва геометрияи алгебравӣ – назарияи хатҳои каҷи
 элиптикӣ дар майдонҳои охирнок хело зиёд ба 
 назар мерасад. Сабаби асоси дар он аст, ки 
 хатҳои аҷи элиптикӣ дар майдонҳои охирнок 
 сарчашмаи тамомнаша-вандаи гурӯҳи абелиро 
 ифода мекунанд. Гарчанде, ки онҳо калонанд, 
 аммо барои истифода қулай ва шаклу сохти бою мураккаб
 доранд. Хатҳои каҷи элиптикӣ дар бисёр ҷиҳатҳо аналоги
 ягонаи гурӯҳҳои мултипикативӣ мебошанд. 
 Дар майдони хати каҷи эллиптикии (ХКЭ) E 
 гуфта, маҷмӯи нуқтаҳои ( )–ро меноманд, ки 
 координатаҳои он муодилаи зеринро қаноат мекунонанд.
 http://www.math.washington.edu/~koblitz 
 http://www.ithistory.org/honor-roll/dr-victor-saul-miller
 Муодилаи хати каҷ (Х К) () аз маҷмӯи нуқтаҳои 
 ( ва нуқтаи беохир дурӣ (бесконечно удалённой 
 точки ) О таркиб ёфтааст. 
 Ба ҷойи муодилаи () функсияи ду тағйирёбандаи 
 зеринро дида мебароем. 
 ХКЭ-и сингулярӣ ном ида ме шавад, агар дар он 
 аққалан як нуқтаи махсуси ( мавҷуд бошад, ки дар ин 
 нуқта ҳосилаҳои хусусии функсияи () ба сифр баробар
 шаванд. 
 { 
 Дар ҳолати акс ХК ғайрисунгулярӣ номида 
 мешавад. Чунин ХК суфта ба ҳисоб мераванд, зеро дар он
 нуқтаи баргашт (возврата) ва худбурранда 
 (самопересечений) мавҷуд набуда, дар дилхоҳ нуқтаи он
 метавон расанда гузаронид. Маҳз ҳамин хел хатҳои каҷ дар
 криптография мавриди таваҷҷуҳ қарор мегиранд. 
 Барои татбиқ дар криптография вобаста аз 
 характеристикаи майдон, метавон ба усули гузориш 
 муодилаи ()-ро ба шаклҳои каноникии гуногун овард. 
 Масалан: 
 { 
 { 
 Дар майдони охирноки характеристикааш аз ва 
 фарқкунанда ХКЭ тавассути муодилаи зерин дода 
 мешавад: 
 Дар ин ҷо адади сода ва коэффитсиентҳои 
 муодилаи () буда, бояд шарти зеринро қаноат 
 кунонанд. 
 Азбас ки аст, пас графики ХК 
 нисбат ба тири абтси сса симметрӣ мебошад. Барои 
 √ 
 ёфтани нуқтаи расандаи он ба тири абтсисса бояд 
 муодилаи кубии зерин ҳал карда шавад. 
 Тавре ки маъ лум аст барои ҳал намудани муодилаи
 () аз формулаи маъмули Кардано истифода бурда 
 мешавад. Дискриминанти муодилаи () тавассти 
 формулаи зерин муайян карда мешавад. 
 Ҳамин тариқ: 
 ( ) ( ) 
 ) Агар < бошад, он гоҳ () дорои се решаи ҳақиқии
 мебошад. Дар ин ҳолат графики муодилаи () аз
 ду қисм таркиб меёбад. 
 ) Агар бошад, он гоҳ () дорои се решаи 
 ҳақиқии мебошад, ки дутои онҳо якхела 
 мебошанд. Графики муодилаи () дар ин ҳолат шакли
 зеринро дошта, нуқтаи ( )–нуқтаи махсус ба ҳисоб 
 меравад, зеро дар ин нуқта ду расанда мавҷуд 
 мебошад. Дар ин ҳолат ХК-ро сингулярӣ меноманд. 
 Чунин навъ хатҳои каҷ дар криптография истифода 
 бурда намешаванд. 
 ) Агар бошад, он гоҳ муодилаи () дорои як 
 решаи ҳақиқии ва ду решаи комплекии 
 ҳамроҳшудаи мебошад. Графики муодилаи () 
 дар ин ҳолат шакли зеринро дорад: 
 Ҳамин тариқ, ҳангоми характеристикаи майдон аз 
 ва фарқкунанда будан, муодилаи () дар ҳолати 
 иҷроиши шарти (), ки ба эквивалент аст, 
 ғайрисингулярӣ ба ҳисоб меравад. 
 Яке аз хосиятҳои муҳими дигари ХКЭ инвариант 
 ба ҳисоб меравад. 
 Коэффитсиентҳои ХКЭ ҳангоми 
 маълум будани инвариант метавон чунин муайян 
 кард: 
 Дар ин ҷо k аз рӯйи инвариант ҳисоб (муайян) карда 
 { 
 мешавад. 
 Ҳ ангоми табди л д и ҳ и и х а тт и и Х К ин в ар и а н т
 тағйир намеёбад. Агар инварианти ду ХК якхела 
 бошанд, он гоҳ онҳо бо ҳамдигар изоморфизм мебошанд.
 Симметрияи ХК нисбати тири имконияти ба 
 таври аёни (наглядное) муайянкунии нуқтаи баръаксро 
 фароҳам меорад. Барои нуқтаи додашудаи дар ХКЭ 
 нуқтаи баръакс гуфта, нуқтаи –ро меноманд. 
 Яке аз 
 хосиятҳои 
 шоёни диққати 
 ХК-и 
 ғайрисингулярӣ 
 дар он аст, ки 
 дилхоҳ ХР-и аз 
 ду нуқтаи он гузаранда, ХК-ро дар як нуқта (нуқтаи ягона)
 мебурад. Илова бар ин, расанда ба ХКЭ дар дилхоҳ нуқта
 (ба ғайр аз нуқтаи перегиба) ба як нуқтаи дигар низ 
 расанда мебошад. Чунин хусусият имконияти 
 муайянкунии амали ҷамъи нуқтаҳои ХКЭ-ро фароҳам 
 меорад. 
 Бигузор ду нуқтаи ХКЭ ва дода 
 шуда бошанд. Тавассути ин нуқтаҳо расанда мегузаронем.
 Ин ХР ХК-ро дар нуқтаи сеюм ки ҳатман мавҷуд аст 
 мебурад. Суммаи ду нуқтаи ва гуфта, 
 нуқтаи ро меноманд, ки ба 
 нуқтаи сеюм, яъне нуқти расандаи ХКЭ ва ХР-и аз 
 нуқтаҳои ва гузаранда баръакс мебошад. 
 Нуқтаи тавасути амали муроҷиат 
 ба даст оварда мешавад. 
 Агар ҳангоми ҷамъ нуқтаҳои ва 
 баробар бошанд, он гоҳ натиҷаи ҷамъ ба дучанди нуқтаи
 баробар мешавад.. 
 Дар ин ҳолат буррандаи (секущая) ба расандаи 
 ХК мубаддал мегардад. Аз нуқтаи назари геометри 
 дучанди нуқтаи –ин нуқтаи баръакс ба нуқтаи бурриши 
 ин расанда ба ХКЭ мебошад. 
 Акнун координатаҳои нуқтаи –ро тавассути 
 координатаҳои нуқтаҳои ва ифода карда, 
 ҳосил мекунем(меёбем). Дар ин вақт нуқтаи ва 
 метавонанд гуногун ё якхела бошанд. Вобаста ба
 ин ду ҳолат ҷой дорад. 
 ) Ҳангоми Дар ин ҳолат, ибтидо 
 муодилаи ХР-и аз ду нуқтаи ва 
 гузарандаро менависем, ки шакли зеринро дорад: 
 Аз ин ҷо коэффитсиенти кун ҷи ХР ба 
 () 
 баробар мешавад. Муодилаи ХР-и бошад, шакли 
 зеринро мегирад: 
 Акнун координатаҳои нуқтаи сеюми расандаи ХК ва
 ХР-и –ро ҷустуҷӯ мекунем. 
 { 
 Тарафи чапи баробарии охиронро ба квадрат 
 бардошта, пас аз гурӯҳбандии аъзоҳои монанд муодилаи
 кубии зеринро ба даст меорем. 
 Мувофиқи теор емаи Виет барои муодили кубӣ: 
 суммаи решаҳои муодилаи кубӣ ба коэффитсиенти назди 
 ба аломати баръакс баробар мебошад, яъне 
 Қимати{ –ро ёфта ба м у о д и л а и Х Р – и гузошта,
 ординатаи нуқтаи ро меёбем.. 
 Нуқтаи ба нуқтаи нисбат ба тири симметрӣ 
 мебошад, аз ин рӯ координатаҳои нуқтаи матлуб шакли 
 зеринро мегиранд: 
 { 
 ) Ҳангоми будан, барои ёфтани ҳарду 
 тарафи муодилаи ()-ро дифференсиронида, ҳосил 
 мекунем. 
 Тавре ки аз курси таҳлили математика медонем, дар
 нуқтаи ҳосила ба коэффитсиенти расандаи ХК 
 баробар мешавад. 
 Акн ун айнан мон|а нди ҳолат и қ а б л ӣ, к о о р д и натаҳои
 нуқтаи меёбем ки дар ҳамон ХР мехобанд. 
 { 
 Бевосита аз ифодаҳои () ва () аён аст, ки нуқтаи
 ҳангоми дучанди нуқтаи бо координатаҳои сифрии 
 ё ҳангоми ҷамъи ду нуқтаҳои гуногун бо координатаҳои
 якхелаи ҳосил мешавад. 
 Барои нуқтаи чунин қоидаи амали ҷамъ муайян 
 карда шудааст.: 
 Мисоли. ХКЭ-и –ро дида мебароем, ки 
 муодилаи умуми он шакли зеринро дорад: 
 Ибтидо иҷроиши шар ти ( )-ро месанҷем 
 Т авре ки аён аст, ХК -и додашуда ғайрисингулярӣ
 мебошад. Ягон нуқтаи ихтиёриро дар меёбем. 
 Бигузор бошад, он гоҳ аз муодилаи ХК ҳосил 
 мекунем. 
 Аз ин ҷо ё мешавад. 
 Ҳамин тариқ, мо ду нуқтаи ва -ро ҳосил 
 кардем. Акнун ҷуфти нуқтаҳои дигарро бо истифода аз
 амали дучанди нуқтаҳо меёбем. Барои ҳисобкунии 
 аз формулаҳои () ва () истифода бурда 
 мешавад. 
 Ҳ{амин тариқ, мо нуқтаи р о ҳ о с и л к ардем.
 Барои санҷиши онки нуқтаҳои ҳосилшуда дар ХК 
 мехобанд, координатаҳои онро ба муодилаи мисоли 
 додашуда гузошта месанҷем. Бо ҳамин тарз метавон 
 нуқтаҳои дигарро низ ҳосил кард. 
 Мисоли. Бигузор ва нуқтаҳои 
 ХКЭ бошанд. Қимати –ро ҳисоб 
 мекунем. 
 Дар ин ҷо, мебошад. 
 Аз формулаҳои () ва () истифода карда ҳосил 
 мекунем. 
 { 
 Ҷавоб. 
 Барои ҳисобкунии сумма ва дучанди нуқтаи 
 додашуда, метавон аз класси зерин, ки дар забони С++
 навишта шудааст, истифода кард: 
 int mod(int a, int b){ 
 if (a<) 
 return (b + (a%b)); 
 else 
 return a%b; 
 } 
 int modInverse(int n, int p) { 
 n = mod(n, p); 
 for (int x =; x < p; x++) { 
 if (mod(n*x, p) == ) return x; 
 } 
 return; 
 } 
 class ECPoint{ 
 public: 
 int a, b, p, x, y; 
 ECPoint(){ 
 a = b = p = x = y =; 
 } 
 }; 
 ECPoint DoubleP(ECPoint p){ 
 int l, l, l; 
 ECPoint Z; 
 Z.p = p.p; 
 Z.a = p.a; 
 Z.b = p.b; 
 l = mod(( * p.x * p.x + p.a), p.p); 
 l = mod(( * p.y), p.p); 
 l = (l*modInverse(l, p.p)) % p.p; 
 Z.x = mod((l*l - * p.x), p.p); 
 Z.y = mod((l*(p.x - Z.x) - p.y), p.p); 
 return Z; 
 } 
 ECPoint operator+(ECPoint p, ECPoint p){ 
 ECPoint Z; 
 int l, l, l; 
 p.p = p.p; 
 p.a = p.a; 
 p.b = p.b; 
 l = mod((p.y - p.y), p.p); 
 l = mod((p.x - p.x), p.p); 
 l = (l*modInverse(l, p.p)) % p.p; 
 Z.x = mod((l*l - p.x - p.x), p.p); 
 Z.y = mod((l*(p.x - Z.x) - p.y), p.p); 
 return Z; 
 } 
 Масъалаи ҳисобкунии миқдори умумии нуқтаҳои 
 ХК –яке аз масъалаҳои муҳим дар истифодаи 
 криптографии онҳо ба ҳисоб меравад. Баъдтар ин 
 масъаларо мавриди баҳс қарор медиҳем. 
 Барои таҳия намудани гурӯҳи нуқтаҳои ХКЭ, ба 
 сифати элементи нейтралии гурӯҳ нуқтаи ро 
 интихоб мекунем. Барои нуқтаи мазкур баробарии 
 зерин ҷой дорад: 
 аз нуқтаҳои ва гузаранда, нисбат ба тири 
 абтсисса перпендикуляр мебошад, аз ин ҷо метавон 
 хулоса баровард, ки нуқтаи сеюми расанда 
 перпендикуяр буда, ХК қад-қади (ба самти) тири 
 ординат ба беохир майл мекунад. Аз ин ҷост, ки 
 нуқта –ро нуқтаи беохир дури ХК меноманд. 
 Мувофиқи теоремаи Анри Пуанкаре маҷмӯи 
 нуқтаҳои ХКЭ якҷоя ба нуқтаи нисбат ба амали ҷамъ 
 гурӯҳи комутативиро ташкил медиҳанд. Бе душворӣ 
 дидан мумкин аст, ки дар ин ҷо ҳамаи аксиёмаҳои 
 https://en.wikipedia.org/wiki/Henri_Poincar%C%A 
 гурӯҳи мултипликативӣ иҷро мешаванд: маҳдудӣ, 
 комутативӣ, ассостсиативӣ, мавҷудияти элементи 
 баръакс ва элементӣ нейтралӣ. 
 Таъриф. Гурӯҳи нуқтаҳои ХКЭ дар майдони 
 охирноки гуфта, маҷмӯи нуқтаҳои ро 
 меноманд, ки координатаҳои он ба майдони мазкур 
 таалуқ дошта, муодилаи ()-ро қаноат мекунонанд, агар
 характеристикаи майдон буда, ва 
 шарти () ҷой дошта бошад. Ба гурӯҳи нуқтаҳои ХКЭ 
 нуқтаи низ дохил мешавад. 
 Барои осон шудани истифодабарӣ формулаҳои 
 ҷамъ ва дучанди нуқтаҳо ХКЭ-и ()-ро ба шакли ҷадвал
 меорем. 
 Амал Майдони 
 характеристикааш аз ва 
 фарқкунанда 
 Ҷамъи нуқтаҳо: 
 Дучанди нуқтаҳо: { 
 P {. 
 P 
 Қайд кардан ба маврид аст, ки барои нуқтаи 
 хосиятҳои зерин, ки ба шакли графикӣ оварда 
 шудаанд, низ ҷой доранд. 
 Таъриф. Тартиби нуқтаи гуфта, чунин адади 
 хурдтарини –ро меноманд, ки барои он баробарии 
 иҷро шавад. 
 Масалан, дар гурӯҳи тартиби нуқтаи 
 ба баробар мебошад. Дар ҳақиқат 
 Мувофиқи теоремаи Лагранҷ тартиби нуқта 
 тартиби ХКЭ-ро тақсим мекунад. Аз ир рӯ ҳангоми 
 муайянкунии тартиби ХК метавон онро ба ХК мувофиқи 
 изоморфизм иваз кард, чунки тартиби хатҳои каҷи 
 изоморфӣ якхела мебошад. Ҳангоми интихоби 
 параметрҳои тартиби ХК метавонад адади сода 
 бошад. Дар ин ҳолат, дилхоҳ нуқта ба ғайр аз (сифр) 
 метавонад генератори ҳамаи маҷмӯъ ба ҳисоб равад, яъне
 чунин нуқтаи ёфт мешавад, ки қатори: 
 (дар ин ҷо аст) ҳамаи нуқтаи 
 маҷмӯи –ро дарбар мегирад, зимнан аст. 
 Чунин ХК аз нуқтаи назари криптографӣ истифодаи хеле
 васеъ дорад. Агар бо баъзе сабабҳо ёфтани чунин ХК 
 имкон надошта бошад, вале шавад (дар ин 
 ҷо –адади сода ва адади хурд аст), он гоҳ дар 
 зермаҷмӯи иборат аз нуқта мавҷуд аст, ки генератори 
 он метавонад, дилхоҳ нуқтаи ба ҳисоб равад, ки 
 барои он мебошад. 
 Қайд кардан ба маврид аст, ки дар сурати таритиби
 доштани нуқтаи маҷмӯи 
 зергурӯҳи давриро дар ташкил медиҳад. 
 { } 
 Барои ёфтани тартиби нуқтаи додашудаи -и ХКЭ-и 
 () дар майдони бояд муодилаи ҳал карда 
 шавад. Ин амалро метавон тавассути алгоритми зерин 
 иҷро кард. 
 ) Қимати (бо барзиёди яклухт карда 
 мешавад), ки дар ин ҷо (баҳои 
 [√ ] 
 максималии тартиби гурӯҳи нуқтаҳои ХКЭ дар 
 √ 
 теоремаи Хассе аст, ҳисоб карда мешавад. 
 ) Ҷадвали ҷуфти -ҳо барои сохта 
 мешавад. 
 ) Қимати ҳисоб карда мешавад. 
 ) карда мешавад (бахшида мешавад). 
 ) Барои амалҳои зерин иҷро карда 
 мешаванд. 
 мавҷуд аст ё не... 
 Мисол. Тартиби нуқтаи –и ХКЭ 
 дар майдони ҳисоб карда шавад. 
 Ҳал. 
 √ √ 
 Ҷадвали зеринро тартиб дода пур мекунем. 
 [√ ] [√ ] 
 (, ) (, ) (, ) (, ) 
 Қимати 
 ро 
 меёбем. 
 мегузорем. Ин нуқта дар ҷадвал вуҷуд надорад. 
 Қадами оянда ҳисоб мекунем. 
 дар ҷадвал вуҷуд 
 надорад. 
 дар ҷадвал 
 ҳангоми будан мавҷуд аст. 
 Ҳамин тариқ, тартиби нуқтаи ба 
 баробар мешавад. 
 Маҷмӯи аз ҳамаи нуқтаҳои,, ки муодилаи () ва нуқтаи О-ро қаноат мекунонанд,
 таркиб ёфтааст. Маълум аст, ки ин маҷмӯи нуқтаҳо 
 охирнок мебошад, чунки дар он танҳо нуқтаҳо бо 
 координатаҳои бутун дохил мешаванд. Миқдори нуқтаҳо 
 дар бо # ишорат карда мешавад. 
 Миқдори умумии нуқтаҳо # –ро дар ХК низ 
 тартиби –уми ХКЭ меноманд. 
 Барои адади на онқадар калони ҳисобкунии 
 гурӯҳи нуқтаҳои ХКЭ ва тартиби онҳо имконпазир аст. 
 Барои сохтани руйхати нуқтаҳо, кифоя аст, ки 
 элементҳои ро интихоб намуда, барои 
 ёфтани муодилаи 
 () 
 -ро ҳал кард, яъне ам али аз решаи квадратӣ баровардан
 иҷро карда мешавад. Усули баровардан аз решаи 
 квадратӣ дар майдони охирнокро дар боби мавриди баҳс
 қарор дода будем. Дар ин ҳолат ёфтани як решаи кифоя
 аст, решаи дигарро бошад тавассути формулаи 
 ёфтан мумкин аст. 
 Барои ҳисобкунии решаҳои муодилаи () метавон аз
 назарияи тафриқҳои квадратӣ ва рамзи Лежандр 
 истифода кард, дар ин ҳолат ҳангоми будан, ба 
 содагӣ метавон формула барои ҳисоби миқдори нуқтаҳои
 ХКЭ ҳосил кард. Муқоисаи нисбат ба барои 
 –ҳои қайдкардашуда ва дорои ҳал мебошад, 
 аз ҷумла низ ҳал ба ҳисоб меравад. Бо назардошти 
 нуқтаи формулаи умумии ҳисобкунии тартиби –уми 
 ХК шакли зеринро мегирад. 
 ∑( ) 
 Хосиятҳои нишонаи Лежандр ва Якобӣ қаблан дар 
 бобҳи мавриди баҳс қарор гирифта шуда буданд. 
 Мисол. Миқдори нуқтаҳо дар ХКЭ-и зерин ҳисоб 
 карда шавад. 
 Алгоритми азн азар гузаронии (перебор) ҳамаи 
 нуқтаҳоро истифода мекунем, ки барои ин вақти иҷроиши
 алгоритм ба таври экспоненсиалӣ зиёд мешавад. Барои 
 қиматҳои аз то -ро дода? маҷмӯи нуқтаҳои ро 
 бо координатаҳои бутун меёбем 
 Ми қдори нуқтаҳои ёфташударо ҳисоб карда, пас аз
 иловакунии нуқтаи O миқдори нуқтаҳоро ба сурати зерин
 ҳосил мекунем. 
 Роҳи дуюми ҳисобкунии миқдори нуқтаҳои ХКЭ ин 
 истифода аз нишонаи Лежандр мебошад. Ҳосил 
 мекунем: 
 ( ) 
 ( ) ( ) ( ) | | 
 ( ) ( ) ( ) ( ) 
 ( ) ( ) ( ) ( ) ( ) 
 ( ) 
 ( ) ( ) ( ) ( ) ( ) ( ) 
 ( ) ( ) ( ) ( ) 
 ( ) ( ) ( ) ( ) 
 ( ) ( ) ( ) ( ) 
 Формулаи ()-ро та тб и қ к арда ҳос и л м е к унем:
 ( ) ( ) 
 Акнун таърифи тартиби гурӯҳро бо суханҳои дигар
 баён мекунем. 
 Таъриф. Миқдори элементҳои гурӯҳи нуқтаҳои 
 ХКЭ тартиби ин гурӯҳ номида мешавад. 
 Барои муайянкунии сарҳадҳои болоӣ ва поёнии 
 тартиби нуқтаҳо метавон аз теоремаи Хассе истифода 
 кард. 
 Теорема (Хассе). Барои тартиби -гурӯҳи нуқтаҳои
 ХКЭ дар майдони (дар ин ҷо –миқдори элементҳои 
 майдон мебошад) нобаробарии зерин ҷой дорад: 
 Дар ҳолати умумӣ дақиқ муайянкунии миқдори 
 √ √ 
 нуқтаҳои ХКЭ масъалаи бениҳоят душвор мебошад. 
 Нахустин алгоритми ҳисобкунии миқдори нуқтаҳои ХКЭ 
 дар майдони охирнок бо печидагии полиномиалӣ Рене 
 Шуф пешниҳод кард. Дар ибтидо алгоритми Шуф дар 
 амалия камтар татбиқ пайдо кард. Баъдтар Элкис ва 
 Аткин якчанд тағйирот ба он ҳамроҳ кардаанд, ки ҳоло бо
 номи SEA (ҳарфҳои аввалаи насаби муаллифон) машҳур 
 мебошад. 
 Аз амали ҷамъ ва дучанди нуқтаҳо, амали зарби 
 нуқтаи ХКЭ бо адади додашуда (скаляр) бармеояд. Нуқтаи
 ба –маротиба ҷамъи нуқтаи бо худаш дар гурӯҳи 
 аддитивии ХКЭ баробар буда, зарби скалярии нуқтаи ба
 адади номида мешавад. Худи нуқтаи бошад, 
 каратии скалярии нуқта ба ҳисоб меравад. Амали зарби
 скаляриро бо нуқта композитсия низ меноманд. Амали 
 композитсияи нуқтаро бо ягон адади ҷамъбаст карда 
 ҳосил мекунем. 
 ). 
 ) ⏟; 
 ) − 
 ) ⏟ 
 – 
 Қайд кардан ба маврид аст, ки амали композитсия
 хело зуд иҷро гардида на зиёда аз амалро талаб 
 мекунад. 
 Дар арифметикаи ХКЭ барои ҳисоб намудани 
 алгоритми муайян вуҷуд надорад. Ин амал 
 тавассути амали ҷамъ, тарҳ ва дучанди нуқта иҷро карда
 мешавад. Яке аз роҳҳои сода ҳисобкунии амали 
 композитсияи чунин мубошад: ибтидо адади ба намуди 
 дӯӣ (системаи дӯӣ) 
 баргардонида шуда, сипас, ҳамаи нуқтаҳои 
 { } 
 ҳисоб карда мешавад. Баъд аз ин суммаи 
 ҳамаи он нуқ таҳои, ки барои онҳо аст, ҳисоб 
 карда мешаванд. Алго ритми ин амал чунин шакл дорад:
 Вурудӣ: нуқтаи, адади. 
 Хурӯҷӣ: 
 ) 
 ) Барои иҷро карда шавад. 
 ) Натиҷа Q. 
 Ин алгоритм на зиёда аз –амали ҷамъ ва 
 дучанди нуқтаро талаб мекунад. 
 Мисол. Ҳисоб карда шавад: 
 Ҳал. Маълум аст, ки аст. 
 Акнун нишон медиҳем, ки дар ҳар як қадами алгоритм чӣ
 ба амал меояд. 
 Ба ёд меорем, ки (сатри 
 чоруми алгоритм) тавасссути формулаи (), () ва амали
 дучанди нуқта (сатри сеюми алгоритм) тавассути 
 формулаи () ва () ҳисоб карда мешаванд. Нуқтаи 
 дорои чунин инъикос намебошад ва барои сарфи назар 
 кардани амали дучанд то ҷамъи нахустин ҳамчун як 
 байрақча(флажок) истифода мешавад. 
 Амали композитсияи нуқтаҳоро метавон ба шакли 
 дигар низ навишт. Ҳоло ин навиштро бо мисоле дида 
 мебароем. 
 Мисоли. Барои ёфтани онро ба шакли зерин 
 менависем. 
 Амали з ар б и( н(у қ та (б о( а д ад м)о)н))а нди амали
 дараҷабардорӣ дар ҳолати RSA буда, миқдори на онқадар
 зиёди ҷамъро талаб мекунанд. Масалан, барои зарби нуқта
 ба адади дарозиаш ба бит баробар тақрибан амали
 дучанди ва амали ҷамъи нуқтаҳо талаб карда мешавад.
 Барои муқоиса: ҳангоми ба дараҷаи адади дарозиаш ба 
 бит баробар бардоштани адади додашуда, тақрибан 
 амали зарб зарур мебошад. 
 Амали зарби скалярӣ айнан ба амали 
 бадараҷабардорӣ дар майдонҳои охирнок мебошад. Аз ин
 рӯ, дар ХКЭ дар нақши масъалаи роста зарби скалярии 
 нуқтаи ХК амал (баромад) мекунад, яъне ҳисобкунии 
 ҳангоми маълум будани ва. Масъалаи 
 баръакс аз рӯйи анъана логарифмиронии дискретӣ дар 
 ХКЭ номида шуда, чунин тасвият (формулировка) карда 
 мешавад: ҳангоми маълум будани ва чунин нуқтаи 
 ёфта шавад, ки барои он баробар гардад. 
 Устувории рамзгузориро дар ХКЭ печидагии ҳалли 
 масъалаи логарифмиронии дискретӣ (ЛД) дар гурӯҳи 
 нуқтаҳои ХК муайян мекунад, яъне душвории ҳалли 
 муодилаи нисбат ба (дар ин ҷо ва дар як 
 зергурӯҳӣ даврӣ таалуқ доранд). Фарз карда мешавад, ки
 масъалаи ЛД дар ХКЭ аз масъалаи ба он монанд дар 
 майдонҳои охирнок душвортар мебошад. Қайд кардан ба 
 маврид аст, ки барои ҳалли масъалаи ЛД дар майдонҳои
 охирнок танҳо алгоритмҳои экспоненсиалӣ мавҷуд 
 мебошанд, ки аз ҳама тезтарини онҳо – алгоритми Шенксӣ
 ва методи Полларда (ҳар кадомашон дорои печидагии 
 мебошанд), ба ҳисоб мераванд. Дар ХКЭ таҳияи 
 чунин алгоритмҳо ғайриимкон аст, зеро дар ХКЭ аналоги
 √ 
 ададҳои сода ва бисёраъзогиҳои оварданашаванда 
 (неприводимих) мавҷуд намебошад. 
 Теорема. Бисёраъзогии аз рӯӣ 
 модули сода ( ба зарбкунандаҳо ҷудошава нда, фақат ва фақат
 ҳамон вақт мешавад, агар шавад. 
 Барои баъзе ХКЭ-и суперсингулярӣ масъалаи ЛД 
 эффиктивнӣ ҳал карда мешавад. Барои ХК сингулярӣ соли
 Менезес, Окатто ва Винстоун дар асоси табдилдиҳиҳи
 Вейля-Тейта алгоритми ( -атака) –ро коркард карданд,
 ки масъалаи ЛД-и ХКЭ-ро дар майдони ба масъалаи 
 ба он мувофиқ дар ягон майдони аввалаи васеъкардаи 
 (дар ин ҷо амали логарифмиронӣ метавонад 
 эффе ктивнитар бошад) меоварад. Аммо ин 
 маълумотнома танҳо дар ҳолати хурд будани муфид 
 мебошад. Ин шарт асосан барои ХКЭ суперсингулярӣ 
 иҷро мегардад. Дар ҳолатҳои боқимонда чунин 
 маълумотнома амалан ҳеҷ вақт ба алгоритмҳои 
 субэкспонентсиалӣ оварда намешавад. 
 Аз ин ҷост, ки ХК-и суперсингулярӣ дар рамзгузорӣ
 ва ИЭР татбиқ карда мешавад. Соли А. Ҷоукс татбиқи
 шоёни диққатӣ (замечателний) табдилдиҳии Вейля- 
 Тайтама-ро дар криптография пайдо карда, протоколи 
 сетарафаи як раундаро дар ассоси системаи Диффи- 
 Ҳеллман коркард кард. Аз ин ҷо таҳиякунии калиди 
 кушоди истифодабаранда, дар асосӣ итилоотҳои ошкор 
 (ном, суроға ва ғайра) имконпазир гардид. Дар айниҳол ин
 масъала яке аз масъалаҳои маъмултарин ба ҳисоб меравад.
 Агар тартиби гурӯҳи нуқтаҳои ХК ҳосили 
 зарби ададҳои содаи хурд бошад, он гоҳ ЛД-ро метавон
 дар асоси алгоритми Полига-Ҳеллман коркард кард 
 (провести). 
 Криптоалгоримҳо дар ХКЭ айнан монанди 
 алгортмҳо дар майдонҳои охирнок ба таври сода сохта 
 мешаванд. Амали бадараҷабарорӣ аз рӯйи модули калон,
 устувории рамзро муайян карда, дар ХКЭ ба зарби 
 скалярии нуқта иваз карда мешавад. Дар ҷадвали зерин
 системаи криптоалгоритмҳои муқаррарӣ ва 
 криптоалгоритмҳои ХКЭ ба намуди муҳовара оварда 
 шудаанд. 
 Истилоҳҳо ва Криптосистема Криптосистемаҳои 
 мафҳумҳо дар майдонҳои ХКЭ дар майдонҳои 
 охирноки сода охирнок 
 Гурӯҳ 
 Элементҳои Ададҳои бутун Нуқтаи дар 
 ( ) 
 гурӯҳ ХК ва нуқтаи 
 Амалҳои гурӯҳ Зарб аз рӯйи Ҷамъи нуқтаҳо 
 модули 
 Ишораҳо Элементҳои ва Нуқтаҳои ва 
 Элементи баръакс Нуқтаи баръакс 
 А м али тақсим Фарқи нуқтаҳо 
 Бада р аҷабардорӣ Зарби скалярии 
 Масъалаи ЛД 
 Аз рӯи Аз рӯи 
 ( ) 
 ёфтани ёфтани m 
 Моҳияти гузариш ба ХКЭ дар он аст, ки амали 
 нисбатан сусти бадараҷабардорӣ аз рӯйи модули калон ба
 амали нисбатан тезӣ зарби скалярӣ дар ХКЭ иваз карда
 мешавад. Дар ин ҳангом, амалҳо бо ададҳои бутун аз рӯйи
 модули на онқадар калон нигоҳ дошта мешаванд. 
 Ба сифати намуна аналоги эллиптикии схемаи 
 Диффи-Ҳеллман (ECDH)-ро дида мебароем. 
 Ду истифодабаранда бо номҳои Алӣ ва Валӣ 
 параметрҳои умумиро интихоб мекунанд, ки иборатанд 
 аз: 
  ХКЭ дар майдонҳои охирнок. 
  Нуқтаи дар ин ХК, ки тартиби калони ро доро 
 мебошад. Элементи тавлидкунандаи гурӯҳи нуқтаҳои 
 ХКЭ будани он шарт набуда, зергурӯҳи аз он 
 тавлидшуда бояд калон бошад. Беҳтар мешавад, ки 
 тартиби он ба тартиби гурӯҳ баробар бошад. Нуқтаи 
 интихобкардашудаи -ро нуқтаи базавӣ меноманд. 
 Параметрҳои умумӣ тавассути канали алоқаи кушод 
 равон карда мешаванд. Пас аз ин, муштариён чунин амал
 мекунанд: 
 ) Алӣ ва Валӣ новобаста аз ҳамдигар ба сифати калиди
 махфии худ мувофиқан ададҳои тасодуфии ва 
 (ададҳои наздик ба тартиби миқдори умумии 
 нуқтаҳои ХКЭ)-ро интихоб карда, мувофиқан нуқтаҳои
 ошкори худ ва ро ҳисоб 
 мекунанд(меёбанд). 
 ) Тавассути канали алоқаи кушод қиматҳои ва ро 
 бо ҳамдигар мубодила мекунанд. 
 ) Алӣ ва Валӣ баъди ба дастоварии қиматҳои ва 
 мувофиқан қимати нуқтаи ва –ро 
 ҳисоб мекунанд. 
 Азбаски аст, пас 
 ҳамчун калиди умумии истифодабарандагон ба 
 ҳисоб меравад. 
 Шакли схематикии ин алгоритм чунин аст: 
 Мисол. Калиди умумӣ аз рӯйи схемаи Диффи- 
 Ҳеллман сохта шавад, агар ХКЭ ва нуқтаи 
 базавӣ (, ) интихоб карда шуда бошад. 
 Ҳал. ХК-и мавриди назар шакли 
 ро дошта, тартиби нуқтаи ба б ароб ар
 мебошад, чунки аст. Бигузор калиди махфии 
 Алӣ ва калиди махфии Валӣ бошад. 
 Онҳо мувофиқан қиматҳои 
 ва ро ҳисоб 
 карда, ба ҳамдигар мубодила мекунанд, яъне Алӣ 
 қимати ро ба Валӣ ва Валӣ бошад қимати 
 ро ба Алӣ равон мекунад. Баъди иҷрои ин 
 амал чунин ҳисобкунӣ ба амал меояд.: [](, )=(, ); 
 Тавре ки аз ҳисобкуниҳои охирон дида мешавад, 
 калиди махфии умумии Алӣ ва Валӣ ҷуфти ададҳои 
 (нуқтаи) (, ) мебошад. Агар хоҳем, ки онро дар
 рамзгузории симметрӣ истифода барем, он гоҳ барои 
 иҷрои ин мақсад метавон абтсиссаи нуқтаи ё ягон 
 функсияи аз вобастаро истифода кард. 
 Барои шикастани ин схема, душман бояд аз 
 муносибатҳои ва қимати ададҳои ва 
 ро ҳисоб кунад, яъне амали ЛД-ро бояд иҷро кунад,
 лекин барои он логарифмӣ эффективӣ дар ХКЭ мавҷуд 
 намебошад. Протоколӣ Диффи-Ҳеллман 
 ҳимоякардашуда намебошад, зеро душман метавонад, 
 бо истифода аз параметрҳои ошкори муштарён ва аз 
 номӣ як муштарӣ ба муштарии дигар паём ирсол кунад.
 Пеш аз оғози рамзгузорӣ истифодабарандагон бояд
 тавассути канали алоқаи кушод параметрҳои зерини 
 криптосистемаро бо ҳамдигар мубодила кунанд. 
  майдони охирноки ( -адади калон). 
  муодилаи ХКЭ дар майдони. 
  тартиби ХК (миқ д ор и ум умии нуқтаҳои ХК). 
 Бигузор Алӣ мехоҳад пайғоми ро ба Валӣ равон 
 кунад. Фарз мекунем, ки ин пайғом ба нуқтаи мувофиқ 
 меояд. он гоҳ: 
 ) Алӣ ва Валӣ новобаста аз ҳамдигар, махфиёна аз
 интервалӣ адади тасодуфии -ро (барои он 
 КТУ аст) интихоб карда, элементи ба он баръакс
 ро ҳисоб мекунанд. Дар оянда зернависӣ
 ва мувофиқан ба Алӣ ва Валӣ тааллуқ доштани 
 параметрро ифода мекунанд. Ин ададҳоро онҳо махфӣ 
 нигоҳ медоранд. Пас аз ин: 
 ) Алӣ қимати –ро ҳисоб кард ба Валӣ равон 
 мекунад. 
 ) Валӣ бошад, қимати ро ҳисоб карда, 
 натиҷаашро ба Алӣ равон мекунад. 
 ) Алӣ қимати ро ҳисоб мекунад. Азбаски 
 аст, пас мешавад. Ин нуқтаро 
 Алӣ ба Валӣ равон мекунад. 
 ) Валӣ бояд қимати ро ҳисоб кунад. 
 Азбаски аст, пас мешавад. Ҳамин тариқ 
 Валӣ пайғоми аслро ба даст меорад. 
 Шакли схематикии ин алгоритм чунин аст. 
 Дилхоҳ системаи дар асоси ЛД сохташударо 
 метавон содагӣ ба ХКЭ гузаронд. Принсипи асосии 
 сохтани чунин криптосистема дар он аст, ки амали 
 ба иваз карда мешавад. Фарқият 
 дар он аст, ки –адад буда, -нуқтаи ХКЭ мебошад. Ҳамин
 тариқ гузариш аз нуқта ба адад талаб карда мешавад. Аз
 ҳама усули содаи ин гузаришҳо истифодаи абтсиссаи 
 нуқта ба ҳисоб меравад. 
 Барои таҳияи криптосистема агар ХК ба таври 
 тасодуфӣ интихоб карда шавад, он гоҳ аз нуқтаи назарӣ
 бехатарӣ устувортар мебошад. 
 Бигузор барои истифодабарандагони ягон шабака 
 ХКЭ-и ва нуқтаи дар он интихоб карда шуда 
 бошад, ки нуқтаҳои гуно-гун буда, барои 
 ягон адади содаи қимати шавад. 
 Ҳар як истифодабарандаи адади –ро 
 (калиди махфӣ) интихоб карда, қимати –ро 
 (калиди кушода) ҳисоб мекунад. Параметрҳои ХКЭ ва 
 руйхати калидҳои кушода ба ҳамаи истифодабарандагон 
 равон карда мешаванд. 
 Бигузор истифодабарандаи шабакаи мазкур Алӣ 
 мехоҳад, ки ягон пайғомро ба истифодабаранадаи дигари
 шабака Валӣ равон кунад. Фарз мекунем, ки пайғом ба 
 намуди адади тасвир карда шудааст. 
 ) Ибтидо Валӣ адади тасодуфии ро 
 интихоб карда, қимати ба Алӣ равон 
 мекунад. 
 Алӣ амалҳои зеринро иҷро мекунад: 
 ) Адади тасодуфии ро интихоб 
 мекунад. 
 ) Қимати –ро ҳисоб 
 мекунад. 
 ) Бо истифода аз пайғомро рамзгузорӣ 
 мекунад. 
 ) Пайғоми рамзгузошташуда, -ро ба Валӣ равон 
 мекунад 
 Валӣ пас аз оне ки қимати )-ро ба даст меорад, 
 чунин амал мекунад: 
 ) Қимати –ро ҳисоб мекунад. 
 ) Пайғоми ба дастовардаашро тавассути формулаи 
 рамзкушоӣ мекунад. 
 Азбаски 
 аст, бинобар ин мешавад. 
 Ба таври схематики ин алгоритм шакли зеринро 
 дорад: 
 Барои душман координтаи –и нуқтаи махфӣ 
 мебошад, аз ин рӯ барои шикастани рамз он бояд қимати
 ро донад. Душман метавонад кушиши аз рӯйи 
 ҳисобкунии қимати ро кунад, аммо барои ин зарур 
 аст, ки масъалаи ЛД-ро дар ХК ҳисоб кунад, лекин ин 
 ғайриимкон аст. 
 Мисол. Амали рамзгузорӣ барои алгоритми Ал- 
 Ҷамол дар ХКЭ-и зерин иҷро карда шавад.. 
 Дар ин ҷо аст. 
 Ибтидо тартиби гурӯҳи нуқтаҳои ХКЭ-ро ҳисоб 
 мекунем. Натиҷаи ин ҳисобкуниҳои фосилавӣ дар ҷадвали
 зерин гирд оварда шудаанд. 
 ( ) 
 - Мавҷуд нест 
 - Мавҷуд нест 
 - Мавҷуд нест 
 - Мавҷуд нест 
 Аз ҷадвал аён аст, ки миқдори нуқтаҳо ба 
 баробар буда, тартиби нуқта адади сода намебошад, 
 вале аз муносибати тартиби содаи 
 зермаҷмӯи нуқтаҳо -ро ҳосил мекунем. 
 Акнун генератори ин маҷмӯъро ҳисоб мекунем. 
 Азбаски аст, пас, нуқтаи тасодуфии –ро тавре 
 интихоб мекунем, ки барои он 
 шавад. Нуқтаи матлуб мебошад. Қадами оянда 
 [ ] 
 муштариён чунин амал мекунанд: 
 Қабулкунанда(Валӣ): 
 Қадами. Калиди махфии –ро 
 интихоб мекунад. 
 Қадами. Калиди кушодаи 
 ро ҳисоб мекунад. 
 | | 
 | |, 
 || || 
 | | 
 Аз ин ҷо калиди кушода мешавад. 
 Равонкунанда (Алӣ): 
 Қадами. Пайғоми додашударо ба шакли 
 тасвир мекунад. Бигузор бошад. 
 Қадами. Адади тасодуфии ро 
 интихоб мекунад. 
 Қадами. Қимати нуқтаи ХК 
 ро ҳисоб мекунад. 
 | | 
 | | 
 = 
 | | 
 || || 
 Нуқтаи ХК мешавад. 
 Қадами. Қимати нуқтаи 
 ҳисоб мекунад. 
 || || 
 = 
 | | 
 || || 
 Нуқтаи ХК мешавад. 
 Қадами. Барои рамзгузорӣ абтсисаи нуқтаи –ро 
 истифода мебарад: 
 Қадами. Матни рамзгузошташуда 
 -ро ба Валӣ равон мекунад. 
 Қабулкунанда(Валӣ) баъди ба дастоварии пайғом: 
 Қадами. Қимати нуқтаи 
 –ро ҳисоб мекунад. 
 | | 
 | | 
 || || 
 | | 
 Нуқтаи ХК мешавад. 
 Қадами. Пайғомро рамзкушоӣ мекунад.. 
 Азбас ки аст, пас пайғом дуруст 
 рамзкушоӣ карда ш удааст. 
 Роҳи дигари татбиқи методи Ал-Ҷамол дар ХКЭ дар
 он аст, ки на аз абтсиссаи нуқта, балки аз худи нуқта
 истифода бурда мешавад. Дар ин усул параметрҳои 
 кушода инҳо мебошанд: 
 ) Майдони охирноки 
 ) Муайянкунии ХК E дар он. 
 ) Нуқтаи асосӣ (ташкилкунанда) B дар он (донистани
 миқдори нуқтаҳо N дар E шарт намебошад). 
 Ҳар як истифодабаранда, ягон адади тасодуфии 
 ро интихоб карда ҳамчун калиди махфӣ нигоҳ медорад.
 Сипас, дар асоси ин калиди махфӣ калиди ошкори – 
 ро ҳисоб мекунад. 
 Масалан, барои ба Валӣ фиристонидан пайғоми 
 Алӣ адади тасодуфии –ро интихоб карда, ҷуфти 
 нуқтаҳои –ро ба Валӣ равон 
 мекунад. Дар ин ҷо калиди кушодаии Валӣ 
 { } 
 мебошад. Барои хондани ин мактуб Валӣ нуқтаи аввалаи
 ба даст овардаашро ба калиди махфии худ зарб карда, 
 аз нуқтаи дуюм қимати онро тарҳ мекунад. 
 Ҳамин тариқ Валӣ пайғоми равонкардашударо 
 мехонад. 
 Мисол. Ҳолати –ро дида 
 мебароем, ки ба ХКЭ-и мувофиқ меояд. 
 Бигузор Алӣ мехоҳад па йғом еро, ки ба нуқтаи 
 мувофиқ аст ба Валӣ равон кунад. Алӣ ҳосил 
 мекунад 
 Дар ин ҷо [ калиди 
 махфии Валӣ мебошад. Ҳамин тариқ, Алӣ бояд пайғоми 
 –ро ба Валӣ равон кунад. 
 Шакли схематикии ин алгоритм чунин мебошад: 
 { } 
 Ба сифати стандарти байналмилали алгоритми 
 амрикоии имзоҳои рақами дар ХКЭ (ECDSA) қабул карда 
 шудааст. Дар стандарти мазкур ХКЭ дар майдони 
 характеристикааш ба ду баробар истифода бурда 
 мешавад. Лекин устувории криптографӣ дар чунин ХКЭ 
 суст мебошад, бинобар ин, дар ин ҷо ИЭР-ро дар ХКЭ-и,
 ки дар майдонҳои характеристикаашон калонтар дода 
 шудаанд дида мебароем. 
 Дар Федратсияи Россия бошад, расман стандарти 
 ИЭР дар майдонҳои характеристикаашон калон ГОСТ 
 Р.- қабул карда шудааст. Алгоритми ГОСТ Р.-
 стандарти пешинаи ГОСТ Р.--ро иваз кард, ки
 дар асоси ЛД сохта шуда буд. Дар стандарти нав ба сифати
 ЛД аз амали композитсияи нуқтаҳо истифода бурда 
 шудааст. Барои мубодилаи итилоот истифодабарандагон 
 ХКЭ-и умумӣ ва нуқтаи дар онро интихоб 
 мекунанд, ки нуқтаҳои гуногун буда, барои 
 ягон адади содаи қимати мешавад. 
 Барои интихоби ХК ва нуқтаи (дар он) бояд 
 якчанд масъалаҳои ёрирасон ҳал карда шаванд. Пеш аз 
 ҳама бояд миқдори нуқтаҳо дар ХКЭ ҳисоб карда шавад.
 Агар миқдори нуқтаҳо дар ХКЭ-и бошад, он гоҳ 
 бояд барои он шартҳои зерин иҷро гарданд: 
 √ √ 
 {Ҳамин тариқ, барои ҷудо намудани ададҳои 
 ( ) 
 зиёдатии байни интервали (p +− p ++ ) 
 метавон иҷроиши шарти -ро барои нуқтаҳои гуногуни 
 √ √ 
 истифода кард. Адади ягонаи боқимонда тартиби матлуби
 хати каҷ ба шумор меравад. 
 Барои ба даст овардани устувории рамзгузории 
 системаи имзои электронӣ рақамӣ бояд чунин шартҳо 
 иҷро шаванд: 
 ) Тартиби нуқтаи, ки дар системаи ИЭР истифода 
 мешавад, бояд адади содаи 
 бошад. 
 ) Бояд шавад, дар ин ҷо N –тартиби 
 { √ } 
 хати каҷ ба ҳисоб меравад. 
 ) Шарти барои ҳамаи (дар ин 
 ҷо C бояд ч унон калон бошад, ки ҳисобкунии логарифми
 дискретӣ (дар дар вақти гузошташуда номумкин 
 гардад) бояд санҷи да шавад. 
 Қайд. Айни замон қимати C = кифоя ба ҳисоб 
 меравад. 
 Пас аз оне ки тартиби N-и хати каҷ муайян шуд, 
 бояд тақсимкунандаи содаи калони тартиби n –и хати каҷ
 ёфта шавад. Чунин тақсимкунанда мумкин аст, ки пайдо
 нашавад. Дар ин ҳолат бояд амали интихоби хати каҷ то
 он лаҳзае, ки ҳама шартҳо иҷро нашаванд такрор меёбад.
 Ҷустуҷӯи адади n метавонад ба зарбкунандаҳо ҷудо 
 кардани адади N ва ё исботи сода будани адади n-ро талаб
 кунад. 
 Нуқтаи -ро метавон бо чунин тарз интихоб кард: 
 Нуқтаи тасодуфии -ро интихоб карда, қимати 
 ифодаи ро ҳисоб мекунем: Агар шавад, 
 пас нуқтаи мат луб ёфт шудааст, вагарна (агар 
 бошад) дигар нуқтаи -ро интихоб мекунем. 
 Пас аз интихоби параметрҳои лозимӣ ҳар як 
 истифодабарандаи адади –ро (калиди 
 махфӣ) интихоб карда, қимати –ро (калиди 
 кушода) ҳисоб мекунад. Параметрҳои ХКЭ ва руйхати 
 калидҳои кушода ба ҳамаи истифодабарандагон равон 
 карда мешаванд. 
 Барои ҳосилкунии ИЭР-и пайғоми Алӣ амалҳои 
 зеринро иҷро мекунад: 
 ̃ 
 ) Ҳисобкунии қимати ҳэш-функсия и 
 пайғом. 
 ̃ 
 ) Интихоби адади тасодуфии. 
 ) Ҳисобкунии қимати нуқтаи ХКЭ. 
 ) Ҳисобкунии қимати Агар шавад, ба 
 қадами бармегардад. 
 ) Ҳисобкунии қимати. Агар 
 шавад, ба қадами бармегардад. 
 ) Ба дастоварии ИЭР ба намуди ҳам-чун 
 якҷоякунии ду вектори битаи ва. 
 || 
 Барои тафтиши пайғоми имзогузоштаи 
 дилхоҳ истифодабарандае, ки калиди –ро медонад чунин
 ̃ 
 амал мекунад: 
 ) Қимати –ро ҳисоб мекунад. 
 ) Дурустии шарти ро месанҷад, агар он 
 ̃ 
 иҷро гардад ба қадами навбати мегузарад, вагарна 
 имзо ғайриҳақиқӣ дониста мешавад. 
 ) Қиматҳои ва –ро 
 ҳисоб мекунад. 
 ) Қимати –ро ҳисоб мекунад, 
 агар шавад, имзо ғайриҳақиқӣ дониста мешавад.
 ) Агар шавад, имзо қабул карда мешавад, 
 дар акси ҳол, имзо ғайриҳақиқӣ дониста мешавад. 
 Мувофиқи стандарт бояд ҳэш-функсияи дар ГОСТ 
 Р.. муайяншударо истифода бурда шавад, ки 
 дарозии он аз бит зиёд намебошад. ХК тавасути 
 коэфитсиентҳои ва ё тавасути инвариант дода 
 мешавад, -модули ХКЭ буда, бояд шарти –ро 
 қаноат кунонад. Миқдори нуқтаҳои ХКЭ ), бояд 
 теоремаи Хассе ва ро қаноат 
 кунонад. 
 Мисол. ИЭР-ро аз рӯйи стандарти ГОСТ Р.- ва
 ҳэш-функсияе, ки қаблан дар боби (мавзӯъи, мисоли.)
 мавриди баҳс қарор гирифта буд, ҳисоб мекунем. 
 Бигузор ХКЭ чунин шаклро дошта бошад: 
 Дар ин ҷо мебошад. Тартиби 
 зергурӯҳи нуқтаҳои ХК буда, нуқтаи 
 генератори гeрӯҳ ба ҳисоб меравад. Пайғоми мавриди 
 назар бошад “маша” мебошад. 
 Равонкунанда чунин амал мекунад: 
 ̃ 
 Қадами. Интихоби адади махфии ( 
 масалан 
 Қадами. Ҳисобкунии калиди кушод: 
 Қадами. Ҳисобкунии қимати ҳэш-функсия: 
 Қадами. Интихоби адади тасодуфии: 
 ̃ 
 масалан, 
 Қадами. Ҳисобкунии қимати нуқтаи ХКЭ: 
 Қадами. Ҳисобкунии қимати ифодаҳои:. 
 Қадами. Ба шакли имзо гузоштани 
 пайғоми. 
 Қабулкунандаи ИЭР бошад, баъди ба даст оварии имзо
 ̃ 
 барои тафтиши он чунин амал мекунад: 
 Қадами. Ҳисобкунии қимати ҳэш-функсия: 
 Қадами. Санҷиши дурустии шартҳои: 
 ̃ 
 Қадами. Ҳисобкунии қимати ифодаҳои зерин: 
 Қадами. Ҳ и собкунии қима т и нуқтаи ХК: 
 Қадами. Санҷиши дурустии имзо. Азбаски 
 аст, пас имзо қабул карда мешавад. 
 Ба таври схематики ин алгоритм шакли зеринро 
 дорад: 
 Саволҳо барои мустаҳкамкунӣ 
 муайян карда мешаванд? 
 мешавад? 
 қоидаҳо истифода бурда мешавад? 
 тавр муайян карда мешавад? 
 кушодаро метавон дар ХКЭ татбиқ кард?