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

Data Encryption Алгоритъм
с публичен ключ RSA

Data Encryption алгоритъм с публичен ключ е най-обещаващите в момента (RSA - Rivest, Шамир и Aldeman - неговите изобретатели).

Председател - дели само от една и от само себе си;

Взаимно prostym- нямат общо делител, различна от 1;

В резултат на операция и мод J - остатък на разделянето число и да й.

За да използвате алгоритъма RSA, трябва първо да генерира публични и частни ключове с помощта на следните стъпки:

1) Изберете два много големи прости числа р и р.

2) Определяне на N, чрез умножаване на р р (п = р * р).

3) Изберете голяма случаен номер, който се нарича г. Този номер трябва да бъде председател на резултата от умножението (р-1) * (р-1).

4) определя множество д, за които следното равенство е вярно (д * г) мод ((р-1) * (р-1)) = 1.

5) Hazovem обществен ключови числа д и н и таен ключ - chmsla г и п.

Сега, за да кодира данни за известен ключ, направете следното:

- прекъсне шифрован текст на блокове, всеки от които може да бъде под формата на М (I) = 0,1,2. N-1 (т.е. само до п-1).

- криптиране текста разглежда като поредица от числа М (I) с формула С (l) = (М (I) ^ д) мод п.

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

Е, по-ясно да представим алгоритъма RSA, следните примери:

Криптиране и декриптиране на съобщението "SAV" за RSA алгоритъм. За простота, аз ще използва малък брой (на практика - това е необходимо да се вземат много по-голям).

1) Изберете р = 3 и Q = 11.

2) Определяне на п = 3 * 11 = 33.

3) Да се ​​намери (р-1) * (р-1) = 20. По този начин, г е равно на, например 3: (г = 3).

4) Изберете брой е по следната формула: (д * 3) мод 20 = 1. Следователно е е равен на 7, например: (д = 7).

5) представлява криптирани съобщението като поредица от числа в диапазона 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);

Всички данни се разшифрован.

Криптографски алгоритъм RSA се основава на предположението, че е изключително трудно да се определи таен ключ познатото, тъй като е необходимо да се реши проблема за съществуването на делителя на цяло число. Този проблем е NP-пълна, и, като следствие от този факт, не позволява ceychas ефективни (полином) решения. Освен това, въпросът за съществуването на ефективни алгоритми за решаване на NP-пълни проблеми е много отворен. Ако използвате номер, състоящ се от 200 цифри (такива и трябва да се използва, когато се шифрова данните) за незаконно декриптиране трябва да генерира огромен брой операции (около 10 ^ 23).


P.S / данни по-горе не трябва да се използват за незаконни цели!

[Възникна грешка при обработката на настоящата директива]

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

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