русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Действия пользователя В.


Дата добавления: 2013-12-24; просмотров: 692; Нарушение авторских прав


Пример - Шифрование сообщения CAB

Процедуры шифрования и расшифрования в криптосистеме RSA

Предположим, что пользователь А хочет передать пользователю В сообщение в зашифрованном виде, используя криптосистему RSA. В таком случае пользователь А выступает в роли отправителя сообщения, а пользователь В - в роли получателя. Как отмечалось выше, криптосистему RSA должен сформировать получатель сообщения, т.е. пользователь В. Рассмотрим последовательность действий пользователя В и пользователя А.

  1. Пользователь В выбирает два произвольных больших простых числа Р и Q.
  2. Пользователь В вычисляет значение модуля N=Р*Q.
  3. Пользователь В вычисляет функцию Эйлера

и выбирает случайным образом значение открытого ключа КB с учетом выполнения условий:

.

  1. Пользователь В вычисляет значение секретного ключа kB, используя расширенный алгоритм Евклида при решении сравнения

.

  1. Пользователь В пересылает пользователю А пару чисел (N, КB) по незащищенному каналу.

Если пользователь А хочет передать пользователю В сообщение М, он выполняет следующие шаги.

  1. Пользователь А разбивает исходный открытый текст М на блоки, каждый из которых может быть представлен в виде числа

Мi=0,1,2,...,N-1.

  1. Пользователь А шифрует текст, представленный в виде последовательности чисел М, по формуле

Сi=MiKB(mod N)

и отправляет криптограмму

C1, С2, С3,...,Ci, ...

пользователю В.

  1. Пользователь В расшифровывает принятую криптограмму

C1, С2, С3,...,Ci, ...,

используя секретный ключ kB по формуле

Mi=CikB(mod N).

В результате будет получена последовательность чисел Mi, которые представляют собой исходное сообщение М. Чтобы алгоритм RSA имел практическую ценность, необходимо иметь возможность без существенных затрат генерировать большие простые числа, уметь оперативно вычислять значения ключей КB и kB.



Для простоты вычислений будут использоваться небольшие числа. На практике применяются очень большие числа.

  1. Выбирает Р=3 и Q=11.
  2. Вычисляет модуль N=P*Q=3*11=33.
  3. Вычисляет значение функции Эйлера для N=33:

  1. Выбирает в качестве открытого ключа КB произвольное число с учетом выполнения условий:

.

Пусть КB=7.

  1. Вычисляет значение секретного ключа kB, используя расширенный алгоритм Евклида при решении сравнения

kB = 7-1 (mod 20).

Решение дает kB=3.

  1. Пересылает пользователю А пару чисел (N= 33, KB=7).


<== предыдущая лекция | следующая лекция ==>
Алгоритм RSA | Безопасность и быстродействие криптосистемы RSA


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.