ПредишенСледващото

В момента, асиметрично криптиране на базата на RSA публичен ключ (щандове за Rivest, Шамир и Aldeman - създатели на алгоритъма) използва голяма част от продуктите на пазара на информационна сигурност.

Нейната криптографски сила се основава на трудността на факторинг голям брой, а именно - за изключително трудността на задачата за определяне на таен ключ на базата на отворен, тъй като това би изисквало да се реши проблема за съществуването на делителя на цяло число. Повечето системи използват криптографски силен 1024 бит и големите числа.

Помислете алгоритъма RSA с практическа гледна точка.

Първо трябва да се създаде публичен и частен ключ:
  • Вземете две големи прости числа р и р.
  • Ние дефинираме п, резултатът от умножаване на р р (п = р * р).
  • Изберете произволен номер, който се нарича г. Този номер трябва да бъде относително прости (не общ делител изключение 1), в резултат на размножаването (р-1) * (р-1).
  • Ние дефинираме редица д, за които следното равенство е вярно (д * г) мод ((р-1) * (р-1)) = 1.
  • Hazovem обществен ключови числа д и н и една тайна - г и п.
За кодиране на данните на публичния ключ, вие се нуждаете от следното:
  • прекъсне шифрован текст на блокове, всеки от които може да бъде под формата на М (I) = 0,1,2. N-1 (т.е. само до п-1).
  • криптиране текста разглежда като поредица от числа М (I) с формула С (l) = (М (I) ^ д) мод п.

За декриптиране на данните с помощта на таен ключ трябва да изпълнява следните изчисления: M (I) = (C (I) ^ г) мод п. Резултатът ще бъде получена от множество номера М (I), които представляват изходния код.

Следващият пример демонстрира алгоритъм за криптиране RSA:

Криптиране и декриптиране на съобщението "SAV" за RSA алгоритъм. За простота, ние приемаме малък брой - това ще намали нашите изчисления.
  • Ние избираме р = 3 и Q = 11.
  • Определяне п = 3 * 11 = 33.
  • Нека да намерим (р-1) * (р-1) = 20. По този начин, г е равно на, например 3: (г = 3).
  • Ние избере номер д съгласно следната формула: (д * 3) мод 20 = 1. Следователно е е равен на 7, например: (д = 7).
  • Представлява кодираната съобщението като поредица от числа в диапазона 0-32 (запомнящо, който завършва в п-1). Letter А = 1, В = 2, С = 3.

Сега ние криптира съобщението с помощта на публичния ключ

С1 = (3 х 7) мод 2187 = 33 мод 33 = 9;
С2 = (1 * 7) мод 33 = 33 мод 1 = 1;
С3 = (2 ^ 7) мод 33 = 128 мод 33 = 29;

Сега дешифрирате с частния ключ.

M1 = (9 х 3) мод 33 = 729 мод 33 = 3 (С);
М2 = (1 ^ 3) мод 33 = 33 мод 1 = 1 (А);
М3 = (29 х 3) мод 33 = 24389 мод 33 = 2 (V);

Свързани статии

Подкрепете проекта - споделете линка, благодаря!