Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Модели шифрованиядешифрования дискретных сообщений

.doc
Скачиваний:
63
Добавлен:
01.05.2014
Размер:
141.82 Кб
Скачать
  1. Модели шифрования/дешифрования дискретных сообщений

.

Математической моделью системы шифрования/дешифрования дискретных сообщений называется пара функций

, ,

которые преобразуют сообщение в криптограмму при помощи ключа шифрования и, наоборот, криптограмму в сообщение при помощи ключа дешифрования . Обе функции, задающие криптосистему, должны удовлетворять следующим требованиям:

  • Функции и при известных аргументах вычисляются сравнительно просто.

  • Функция g (, ? ) при неизвестном ключе дешифрования вычисляется достаточно сложно.

Голландский криптограф А. Керкхофс (1835 – 1903) предположил, что секретность шифров должна основываться только на секретности ключа, а не на секретности алгоритма шифрования, который, в конце концов, может оказаться известным противнику.

Если ключ шифрования равен ключу дешифрования, т.е.

 =  ,

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

Если , т.е. ключ шифрования не равен ключу дешифрования, то система шифрования называется несимметричной (двухключевой). В этом случае ключ доставляется в пункт шифрования, а ключ – в пункт дешифрования. Оба ключа очевидно должны быть связаны функциональной зависимостью  , но такой, что по известному ключу шифрования  нельзя было бы восстановить ключ дешифрования . Это означает, что для несимметричной системы шифрования функция  ( ) должна быть трудно вычисляемой.

Существуют два основных класса стойкости криптосистем:

  • Идеально (безусловно) стойкие или совершенные криптосистемы, для которых стойкость к криптоанализу (дешифрованию) без знания ключа не зависит от вычислительной мощности оппонента. Их называют теоретически недешифруемыми (ТНДШ) системами.

  • Вычислительно стойкие криптосистемы, у которых стойкость к криптоанализу зависит от мощности вычислительной системы оппонента.

  1. Критосистема RSA

Для шифрования выбирают целое число N p q, где p и q  два больших простых числа. Сообщение M представляется одним из чисел

M  {2, 3,..., N –1}.

Формулы, описывающие шифрование/дешифрование, имеют следующий вид:

, ,

где K – открытый ключ шифрования, – закрытый ключ дешифрования.

Из этих двух соотношений следует равенство

,

которое в обычной арифметике выполняется, если kK = 1, а в модульной арифметике и при

kK = 1 + l (N ), (*)

где l – целое. Действительно с помощью теоремы Эйлера проверяем

   ,

если M и N – взаимно простые числа.

Рассмотренные соотношения указывают путь формирования ключей. Вначале выбирают очень большие случайные простые числа p и q с мало отличающимся числом разрядов так, чтобы произведение N = pq имело не менее 768 бит (по данным 2001 года). Вычиcляют функцию Эйлера

(N ) = (p –1)(q –1).

Равенство (*) эквивалентно

K k = 1  mod (N ),

откуда следует, что оба ключа взаимно обратные по модулю (N ).

Открытый ключ K выбирают, соблюдая необходимые условия:

< (N ),   НОД(K, (N )) = 1.

Закрытый ключ k вычисляют

k = K 1  mod (N ),

с помощью алгоритма Евклида. Завершив подготовительные работы, открытый ключ K и модуль N помещают в открытый справочник, приняв меры, гарантирующие невозможность подмены. Числа p и q хранят в секрете.

Отметим, что условие взаимной простоты чисел M и N, невыполнение которого делает невозможным декодирование, не создает серьезных ограничений. Во-первых, среди чисел меньших N доля чисел взаимно простых с N равна (p–1)(q–1)/(pq), т.е. неотличима от единицы, а, во-вторых, условие легко обеспечивается несущественной модификацией сообщения. Также степень M K не должна быть меньше N. При невыполнении этого условия криптограмма имеет вид

и без вычислений по модулю она легко вскрывается, т.к. K известно.

Очевидно, что в рассмотренных соотношениях числа K и k равноправны, т.е. ключи можно поменять местами, и использовать k как открытый ключ шифрования, а K как закрытый ключ дешифрования.

Таким образом, оба ключа RSA задаются парами целых чисел: (KN) и (kN).

Когда авторы R. Rivest, A. Shamir, L. Adleman (Ривест, Шамир, Адлеман) в 1977 году предложили криптосистему RSA, они зашифровали фразу “Its all Greek to me”, представленную в цифровой форме. Были опубликованы значения M, K, N с указанием, что 129 десятичных разрядов N получены при умножении 64- и 65-разрядных чисел p и q. Факторизация N и вскрытие криптограммы были выполнены примерно за 220 дней лишь в 1994 году после предварительной теоретической подготовки. В работе принимало участие 600 добровольцев и 1600 компьютеров, объединенных в сеть с помощью Интернет.

Стойкость системы с открытым ключом, и в частности RSA, зависит от выбора ее параметров. Если выбрать log 2 N = 200 бит, то для факторизации потребуется примерно 2,71011 операций, что на персональном компьютере займет несколько дней. Если выбрать log 2 N = 664 бит, то для факторизации потребуется 121023 операций. При скорости выполнения 106 операций в секунду на факторизацию уйдет несколько миллиардов лет.

Таким образом, если параметры шифра RSA выбраны правильно и модуль N взят достаточно большим, например , то данную систему можно считать достаточно стойкой. На сегодняшний день отсутствуют какие-либо методы ее успешного криптоанализа.

Реализация шифра RSA отработана как в программном, так и в аппаратном варианте. Используется RSA и для шифрования в смарт-картах. В программном варианте скорость шифрования имеет порядок 1 кбит/с, в аппаратном – 1050 кбит/с.

Сравнительно низкая скорость шифрования и дешифрования по сравнению с симметричными, блоковыми или потоковыми системами, является недостатком всех асимметричных систем шифрования, в том числе RSA.

  1. Цифровая подпись

Обычной «бумажной» подписью традиционно заверяется подлинность документа. Стойкость подписи, т.е. невозможность ее подделки посторонними лицами, обеспечивается двумя основными условиями: во-первых, ее уникальностью, основанной на индивидуальных особенностях почерка, а во-вторых, физической целостностью бумажного документа, на котором произведена подпись. При этом подпись не может быть подделана даже тем лицом, которое проверяет ее подлинность.

Однако при передаче документов по компьютерным сетям воспользоваться данными условиями невозможно, в том числе и при передаче факсимильных сообщений (ФАКС), поскольку они допускают простую подделку.

Цифровой подписью заверяются документы, передаваемые по компьютерным сетям. Цифровая подпись решает проблему возможного спора между отправителем и получателем, в том числе и в суде, при наличии юридической базы для ее применения.

Цифровая подпись должна обладать свойствами обычной подписи и одновременно представлять собой цепочку данных, которые можно передавать по сетям, т.е. она должна удовлетворять следующим четырем основным требованиям:

  • цифровая подпись должна быть уникальной, т.е. никто, кроме автора, не может создать такую же подпись, включая лиц, проверяющих ее подлинность;

  • каждый пользователь сети, законный или незаконный, может проверить истинность цифровой подписи;

  • подписавший не может отказаться от сообщения, заверенного его цифровой подписью;

  • как реализация, так и проверка цифровой подписи, должны быть достаточно простыми.

Чтобы удовлетворить всем перечисленным требованиям цифровая подпись, в отличие от «бумажной», должна зависеть от всех бит сообщения и изменяться даже при изменении одного бита подписанного сообщения. Для реализации цифровой подписи на основе симметричных криптосистем необходимо участие доверенного лица – арбитра. Реализация цифровой подписи без арбитра возможна только на основе использования асимметричных систем.

Существуют различные виды цифровой подписи, основанные на криптосистемах с открытым ключом. Рассмотрим реализацию ЦП на основе криптосистемы RSA.

В этом случае пользователь A, подписывающий сообщение M, генерирует пару ключей kA , KA и сообщает пользователям сети значения KA и N. Далее пользователь A создает контрольную группу

,

которая и будет цифровой подписью (рис. 17). Контрольная группа приписывается к сообщению и передается вместе с ним.

Любой другой пользователь сети, приняв сообщение M , при необходимости проверить цифровую подпись производит вычисление и сравнивает результат с полученным значением M . При совпадении подпись считается подлинной.

Рис. 17. Цифровая подпись на основе RSA

Легко убедиться, что в данном случае все четыре требования к цифровой подписи, сформулированные ранее, выполняются, если шифр RSA выбран достаточно стойким.

Однако рассмотренная система выработки цифровой подписи имеет два существенных недостатка:

  • возникает значительная избыточность за счет приписывания контрольной группы, длина которой равна длине сообщения, что требует удвоения объема памяти, времени передачи и т.п.;

  • при сообщениях большой длины операция возведения в степень при вычислении контрольной группы и ее проверке будет выполняться за недопустимо большое время.