9.8.2. Криптографическая система с открытым ключом
Рассматриваемый метод закрытия информации разработали в 1976 г. американцы Уитфилд Диффи и Мартин Хеллман.
Опишем пример использования такой системы.
Пусть абонент А (например, банкир) и абонент В (например, вкладчик) решили установить между собой секретную передачу шифрованной информации с открытым ключом.
Каждый из абонентов независимо друг от друга выбирает два больших простых числа, находит их произведение, функцию Эйлера от этого произведения и выбирает случайное число, меньшее вычисленного значения функции Эйлера и взаимно простое с ним.
Напомним, что простое число – это целое положительное число, большее единицы, не имеющее других делителей, кроме самого себя и единицы. Взаимно простые числа – целые числа, не имеющие общих (простых) делителей.
Порядок создания ключей проиллюстрируем с помощью таблицы. Для наглядности числа выбраны малой величины.
Использованная в таблице запись означает, что при целочисленном делении числа на число остаток равен
Функция Эйлера – арифметическая функция (r), значение которой равно количеству положительных чисел, не превосходящих r и взаимно простых с r.
Предположим, что абонент А решил послать сообщение абоненту В. Вначале методом замены каждый символ сообщения заменяется (шифруется) числом. Допустим, что требуется переслать первую букву сообщения, которая зашифрована методом замены числом 2.
Абонент А шифрует число 2 открытым (опубликованным) ключом абонента В. Для шифрования число 2 возводится в степень 5 = 31, т. е.
Затем находят остаток от деления числа т на величину r = 253, в результате которого получается число 167. Напомним, что числа s и r являются открытым ключом абонента В.
В линию передается число 167, которое является шифром исходного числа 2.
Получив шифрограмму, абонент В использует свой секретный ключ t = 71. Для дешифрации он возводит полученное число 167 в степень 71 и находит остаток от деления на число 253. Математически это записывается так:
В данном случае остаток от деления равен 2, значит, шифрация и дешифрирование произошли правильно. Было передано число 2, и это же число было принято после всех преобразований.
Предположим, что абонент В решил ответить абоненту А и направить ему букву, зашифрованную числом 3.
Абонент В использует открытый (опубликованный) ключ абонента А (s = 5, r = 91) и выполняет шифрующее преобразование числа 3. Математически это записывается так:
В линию отправляется число 61. Получив это число, абонент А восстанавливает исходный текст с помощью своего секретного ключа t = 29:
В результате дешифрации на приемной стороне получено число 3, которое отправил абонент В.
В приведенных примерах был рассмотрен порядок передачи одного символа с каждой стороны. Понятно, что таким образом последовательно передается целое сообщение, но преобразование над каждым символом происходит по рассмотренной схеме. Заметим, что для использования этого метода необходимо сообщение предварительно преобразовать в набор чисел, например, с помощью кодовой таблицы.
Достоинством шифрования с открытым ключом является исключение необходимости передачи секретного ключа по закрытым каналам, например, с помощью курьера.
Однако у этого метода есть существенный недостаток. Используя опубликованный ключ, сообщение может прислать любой абонент, выдавая себя за другого абонента.
В подобных случаях требуется аутентификация – подтверждение авторства присланного документа. Для этих целей разработан способ шифрования, который называется электронной подписью.
Суть этого метода шифрования заключается в том, что сообщение шифруется не только опубликованным открытым ключом, но и собственным секретным ключом абонента, отправляющего сообщение.
Рассмотрим пример.
Предположим, что абонент В (вкладчик) решил послать сообщение, состоящее из числа 41, абоненту А (банкиру). Вначале вкладчик шифрует сообщение открытым ключом банкира:
В результате шифрования получено число 6.
Дальше вкладчик повторно шифрует это сообщение своим секретным ключом 71:
Шифрограмма 94 отправляется банкиру.
Банкир, получив секретное сообщение, использует вначале открытый ключ вкладчика:
Затем банкир использует свой секретный ключ:
В результате абонент А (банкир) получает сообщение, состоящее из числа 41.
При использовании электронной подписи никто другой не сможет прислать банкиру сообщение (например, поручение перевести деньги) от имени абонента В, так как на передаче нужно обязательно использовать секретный ключ, который известен только абоненту В.
- Александр Петрович Алексеев Информатика 2002
- 129337, Г. Москва, а/я 5
- Ответственный за выпуск: с. Иванов
- Isbn 5-93455-128-0 © а.П. Алексеев Введение
- Предисловие ко второму изданию
- 1. Основные понятия
- 1.1. Основные понятия об информации и информатике
- 1.2. Понятие об информационных технологиях
- К.А. Гельвеций
- 1.3. Этапы развития вычислительной техники
- 1.4. Хронология возникновения Интернета
- 1.5. Сферы использования вычислительной техники
- 1.6. Развитие отечественной вычислительной техники
- 2. Арифметические и логические основы работы эвм
- 2.1. Системы счисления
- 2.2. Арифметические основы работы эвм
- 2.3. Логические основы работы эвм
- 3. Организация данных в эвм
- 3.1. Представление данных в эвм
- 3.2. Представление команд в эвм
- 3.3. Кодовая таблица
- 3.4. Файловая система
- 4. Аппаратные средства
- 4.1. Структурная схема эвм
- 4.2. Принцип действия основных устройств эвм
- 4.2.1. История развития процессоров
- 4.2.2. Принцип действия процессора
- 4.2.3. Память
- 4.2.3.1. Оперативная память
- 4.2.3.2. Внешние запоминающие устройства
- 4.2.4. Устройства ввода информации
- 4.2.5. Устройства вывода информации
- 4.3. Классификация эвм
- 5. Системное программное обеспечение
- 5.1. Понятие об операционной системе
- 5.2. Методы архивации
- 5.3. Принципы сжатия информации
- 5.4. Вирусы и антивирусные программы
- 5.5. Основные понятия программирования
- 5.5.1. Языки программирования
- 5.5.2. Основные свойства и способы представления алгоритма
- 5.5.3. Базовые структуры программирования
- 5.5.4.VisualBasic– основные сведения*
- 6. Прикладное программное обеспечение
- 6.1. Текстовые редакторы
- К. Прутков
- 6.2. Графические редакторы
- 6.3. Электронные таблицы
- 6.4. Базы данных
- 6.5. Искусственный интеллект
- 6.6. Экспертные системы
- 6.7. Мультимедиа
- 6.8. Виртуальная реальность
- 6.9. Системы автоматизированного проектирования
- 7. Основные понятия моделирования
- 7.1. Основные понятия и определения моделирования
- 7.2. Обзор систем моделирования рэу
- 7.3. СистемаElectronicsWorkbench
- 7.4. Система CircuitMaker
- 7.5. СистемаMicro-Cap
- 8. Математические и статистические системы
- 8.1. Обзор математических и статистических систем
- 8.2. Математическая системаMathcad
- 8.2.1. Пользовательский интерфейс
- 8.2.2. Компьютерная алгебра
- 8.2.3. Операции с комплексными числами
- 8.2.4. Вопросы программирования
- 8.3. Аппроксимация с помощью пакетов тсwiNи тс 3d
- 9. Сетевые информационные технологии
- 9.1. Локальные сети
- 9.2. Глобальные сети
- 9.3. Браузеры
- 9.4. Поисковые системы и каталоги
- 9.5. Электронная почта
- Фильтры для приходящей почты
- 9.6. Введение вHtml
- Html – язык для создания Web-страниц
- 9.7. Основные понятияWeb-дизайна
- 9.7.1. Теоретические основыWeb-дизайна
- 9.7.2. Сетевые технологииWeb-дизайна
- 9.7.5. Понятие о баннерах
- 9.7.4. Инструментальные средстваWeb-дизайна
- 9.8. Основные понятия криптографии и стеганографии
- 9.8.1. Шифрование сообщений различными методами
- 9.8.2. Криптографическая система с открытым ключом
- 9.8.3. Понятие о стеганографии
- 10. Компьютер и здоровье
- 11. Перспективы развития вычислительной техники
- Заключение
- 12. Приложения Глоссарий
- Список аббревиатур
- Список литературы
- Содержание
- 7. Основные понятия моделирования 150
- 8. Математические и статистические системы 179
- 9. Сетевые информационные технологии 201
- 10. Компьютер и здоровье 268
- 11. Перспективы развития вычислительной техники 273
- 12. Приложения 277