|
|||
Метод RSA.. Алгоритм RSA.. Язык для реализации.Метод RSA. RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) — криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел. Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе криптографических приложений.
Алгоритм RSA. Для начала необходимо сгенерировать открытый и секретные ключи: 1. Возьмем два больших простых числа p and q. 2. Определим n, как результат умножения p on q (n= p*q). 3. Выберем случайное число, которое назовем d. Это число должно быть взаимно простым (не иметь ни одного общего делителя, кроме 1) с результатом умножения (p-1)*(q-1). 4. Определим такое число е, для которого является истинным следующее соотношение (e*d) mod ((p-1)*(q-1))=1. 5. Назовём открытым ключем числа e и n, а секретным - d и n. Для того, чтобы зашифровать данные по открытому ключу {e, n}, необходимо следующее: 1. разбить шифруемый текст на блоки, каждый из которых может быть представлен в виде числа M(i)=0, 1, 2..., n-1( т. е. только до n-1). 2. зашифровать текст, рассматриваемый как последовательность чисел M(i) по формуле C(i)=(M(I)^e) mod n.
Язык для реализации. Чтобы реализовать данный метод шифрования и дешифрования информации был выбран язык программирования Python - высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью. Данный язык был выбран по нескольким причинам:
· Понятный синтаксис. · Доступность. · Огромное количество модулей и пакетов. · Низкий порог вхождения.
|
|||
|