Ключ дешифрования не может быть определен из ключа шифрования.
Дешифрование данных с помощью открытого ключа невозможно.
ЭТАП. Формирование отчетов{Вкл. Отчеты\вкл.Создать\Автоотчет в столбец\Ок}.
Отчеты можно использовать для того, чтобы выбрать данные из нескольких таблиц, произвести над ними вычисления, подвести итоги и вывести их на экран или печать. Главная функция отчета – представление данных в виде документа для печати. Для создания отчетов, так же как и других объектов, имеется мастер отчетов. При необходимости можно самому сконструировать отчет.
Перед началом конструирования отчета необходимо провести подготовительную работу по определению макета отчета.
В основу содержания отчета берется, как правило, результирующая таблица запроса.
При конструировании макета отчета определяются:
- заголовок (печатается в начале отчета);
- верхний колонтитул (выводится в верхней части каждой страницы);
- область данных (основная часть, содержащая выбранные сведения по отображаемым записям);
- нижний колонтитул (выводится в нижней части страницы);
- примечание (выводится в конце отчета).
Отчет необходимо сохранить под своим именем.
Для дешифрования данных получатель зашифрованной информации использует второй ключ, который является секретным.
Обобщенная схема асимметричной криптосистемы с открытым ключом показана на рис.4.1.
В этой криптосистеме применяют два различных ключа: КВ1 – открытый ключ отправителя А; KВ2 – секретный ключ получателя В. Генератор ключей целесообразно располагать на стороне получателя В (чтобы не пересылать секретный ключ K2 по незащищенному каналу). Значения ключей KВ1 и KВ2 зависят от начального состояния генератора ключей.
Раскрытие секретного ключа КВ2 по известному открытому ключу КВ1 должно быть вычислительно неразрешимой задачей.
Характерные особенности асимметричных криптосистем:
1. Открытый ключ КВ1 и криптограмма CT могут быть отправлены по незащищенным каналам, т.е. противнику известны КВ1 и CT.
2. Алгоритм шифрования
Е В: PT --> CT
является открытым.
Защита информации в асимметричной криптосистеме основана на секретности ключа KВ2.
У. Диффи и М. Хеллман сформулировали требования, выполнение которых обеспечивает безопасность асимметричной криптосистемы:
1. Вычисление пары ключей (КВ1, KВ2) получателем В на основе начального условия должно быть простым.
2. Отправитель А, зная открытый ключ КВ1 и сообщение PT, может легко вычислить криптограмму
(1)
3. Получатель В, используя секретный ключ KВ2 и криптограмму CT, может легко восстановить исходное сообщение
(2)
4. Противник, зная открытый ключ КВ1, при попытке вычислить секретный ключ KВ2 наталкивается на непреодолимую вычислительную проблему.
5. Противник, зная пару (КВ1, CT), при попытке вычислить исходное сообщение pt наталкивается на непреодолимую вычислительную проблему.
ОДНОНАПРАВЛЕННЫЕ ФУНКЦИИ
Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных функций .
Неформальное определение однонаправленной функции (OWF – One Way Function):
Пусть X и Y – некоторые произвольные множества. Функция
f: X ® Y
является однонаправленной, если
1. для всех можно легко вычислить функцию
, где ;
2. для большинства достаточно сложно получить значение , такое, что (при этом полагают, что существует, по крайней мере, одно такое значение х).
Основным критерием отнесения функции f к классу однонаправленных функций является отсутствие эффективных алгоритмов обратного преобразования Y ® X.
Первый пример однонаправленной функции – целочисленное умножение. Прямая задача – вычисление произведения двух очень больших целых чисел Р и Q, т. е. нахождение значения
N = P*Q, (3)
является относительно несложной задачей для ЭВМ.
Обратная задача – разложение на множители большого целого числа, т.е. нахождение делителей Р и Q большого целого числа N=Р*Q, является практически неразрешимой задачей при достаточно больших значениях N.
По современным оценкам теории чисел при целом и для разложения числа N потребуется около 1023 операций, т.е. задача практически неразрешима на современных ЭВМ.
Второй пример однонаправленной функции – это модульная экспонента с фиксированными основанием и модулем.
Пусть А и N – целые числа, такие, что . Определим множество ZN
ZN = {0, 1, 2, ..., N-1}.
Тогда модульная экспонента с основанием А по модулю N представляет собой функцию
fA,N : ZN ® ZN,
где x – целое число .
Существуют эффективные алгоритмы, позволяющие достаточно быстро вычислить значения функции .
Если , то – .
Поэтому задачу обращения функцииназывают задачей нахождения дискретного логарифма или задачей дискретного логарифмирования.
Задача дискретного логарифмирования формулируется следующим образом.
Для известных целых A, N, у найти целое число х, такое, что
.
Алгоритм вычисления дискретного логарифма за приемлемое время пока не найден. Поэтому модульная экспонента считается однонаправленной функцией.
По современным оценкам теории чисел при целых числах и решение задачи дискретного логарифмирования (нахождение показателя степени х для известного у) потребует около 1026 операций, т.е. эта задача имеет в 103 раз большую вычислительную сложность, чем задача разложения на множители. При увеличении длины чисел разница в оценках сложности задач возрастает.
Вторым важным классом функций, используемых при построении криптосистем с открытым ключом, являются так называемые однонаправленные функции с "потайным ходом" (с «лазейкой»).
Неформальное определение такой функции. Функция
f: X ®Y
относится к классу однонаправленных функций с "потайным ходом" в том случае, если
1. она является однонаправленной;
2. возможно эффективное вычисление обратной функции, если известен "потайной ход" (секретное число, строка или другая информация, ассоциирующаяся с данной функцией).
В качестве примера однонаправленной функции с "потайным ходом" можно указать используемую в криптосистеме RSA модульную экспоненту с фиксированными модулем и показателем степени. Переменное основание модульной экспоненты используется для указания числового значения сообщения PT либо криптограммы CT.
КРИПТОСИСТЕМА ШИФРОВАНИЯ ДАННЫХ RSA
Алгоритм RSA предложен в 1978 г. Авторы: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов.
Алгоритм RSA стал первым полноценным алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи.
Надежность алгоритма основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов.
В криптосистеме RSA открытый ключ КВ1, секретный ключ КВ2, сообщение PT и криптограмма CT принадлежат множеству целых чисел
ZN = {0,1,2, ..., N-1}, (5)
где N– модуль:
N = Р * Q. (6)
Здесь Р и Q –случайные большие простые числа.
Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят в секрете.
Множество ZN с операциями сложения и умножения по модулю N образует арифметику по модулю N.
Открытый ключ КВ1 выбирают случайным образом так, чтобы выполнялись условия:
, (7)
(8)
(9)
где – функция Эйлера.
Функция Эйлера указывает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N.
Напоминаем: условие (7) означает, что открытый ключ КВ1 и функция Эйлера должны быть взаимно простыми.
Используя алгоритм нахождения мультипликативной инверсии (обратного значения), вычисляют секретный ключ КВ2, такой, что
(10)
или
(11).
Это можно осуществить, так как получатель В знает пару простых чисел (P,Q) и может легко найти .
Заметим, что – взаимно просты.
Открытый ключ КВ1 используют для зашифрования данных, а секретный ключ КВ2 –для расшифрования.
Преобразование зашифрования определяет криптограмму CT через пару (открытый ключ КВ1, сообщение PT) в соответствии со следующей формулой:
(12)
В качестве алгоритма быстрого вычисления значения CT используют известные свойства модулярной арифметики (ряд последовательных возведений в квадрат целого числа и умножений на целое число с приведением по модулю N).
Обращение функции , т.е. определение значения Mi по известным значениям Ci, КВ1 и N, практически не осуществимо при .
Однако обратную задачу, т.е. задачу дешифрования криптограммы CT, можно решить, используя пару (секретный ключ КВ2, криптограмма ct) по следующей формуле:
(13)
Процесс дешифрования можно записать так:
(14)
Подставляя в (14) значения (12) и (13), получаем:
или
(15)
Величина играет важную роль в теореме Эйлера, которая утверждает, что если , то
или в несколько более общей форме, если d – целое число
. (16)
Сопоставляя выражения (16) и (15), получаем
или, что то же самое,
Именно поэтому для вычисления секретного ключа КВ2 используют соотношение (10).
Таким образом, если криптограмму
возвести в степень КВ2 то в результате восстанавливается исходный открытый текст PT, так как
Т. о., получатель В, который создает криптосистему, защищает два параметра:
1) секретный ключ КВ2;
2) пару чисел (P, Q), произведение которых дает значение модуля N.
С другой стороны, получатель В открывает значение модуля N и открытый ключ КВ1.
Противнику известны лишь значения КВ1 и N.
Если бы он смог разложить число N на множители Р и Q, то он узнал бы "потайной ход" – тройку чисел {Р, Q, КВ1}, вычислил значение функции Эйлера и определил значение секретного ключа КВ2.
Однако, разложение очень большого N на множители вычислительно не осуществимо (при условии, что длины выбранных Р и Q 100 десятичных знаков).
Процедуры шифрования и дешифрования в криптосистеме RSA
А –отправитель
В –получатель
Криптосистему RSA должен сформировать получатель сообщения – пользователь В.
Последовательность действий: