Описать математическую модель шифрования сообщений, подписанных ЭЦП, на основе использования ключа парной связи

Автор: Пользователь скрыл имя, 16 Сентября 2011 в 23:58, реферат

Описание работы

Электронная Цифровая Подпись (ЭЦП) является полным электронным аналогом обычной подписи на бумаге, но реализуется не с помощью графических изображений, а с помощью математических преобразований над содержимым документа.

Особенности математического алгоритма создания и проверки ЭЦП гарантируют невозможность подделки такой подписи посторонними лицами (неопровержимость авторства). Надежность и удобство использования ЭЦП не вызывает сомнений.

Работа содержит 1 файл

Министерство образования и науки Украины.doc

— 229.00 Кб (Скачать)

Министерство  образования и науки Украины

Запорожский национальный технический университет 
 
 
 
 
 
 
 

      Кафедра: ЗИ 
 
 
 
 
 
 
 

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

Выполнила студентка группы РП-718                                                             Печерей А.

Принял                                                                                                              Слепцов В.И. 
 
 
 
 
 

Запорожье

2011 

   Электронная Цифровая Подпись (ЭЦП) является полным электронным аналогом обычной подписи на бумаге, но реализуется не с помощью графических изображений, а с помощью математических преобразований над содержимым документа.

Особенности математического алгоритма создания и проверки ЭЦП гарантируют невозможность подделки такой подписи посторонними лицами (неопровержимость авторства). Надежность и удобство использования ЭЦП не вызывает сомнений.

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

ЭЦП дает информацию не только о лице, подписавшем  документ, но и позволяет удостовериться, что сам документ не был изменен  или подделан после подписания (аутентичность  и целостность документа).

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

      Сессионные ключи можно сгенерировать также на основе некоторого заданного значения (пароля) при помощи функции CryptDeriveKey. Это стоит делать, например, в том случае, когда нужно избежать пересылки сессионного ключа вместе с зашифрованными данными. Получатель данных, зная пароль и алгоритм, может сам сгенерировать сессионный ключ и с его помощью расшифровать данные

Рисунок 2. Шифрование.

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

Рисунок 3. Дешифровка.

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

Алгори́тм  Ди́ффи — Хе́ллмана (англ. Diffie-Hellman, DH) — алгоритм, позволяющий двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены, канал связи. Этот ключ может быть использован для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования.

  Усовершенствование  Алгоритма Ди́ффи — Хе́ллмана  сделал Тахер Эль-Гамаль  и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации.

     Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом,основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США и России.

Генерация ключей

  1. Генерируется случайное простое число длины битов.
  2. Выбирается произвольное целое число , являющееся первообразным корнем по модулю .
  3. Выбирается случайное целое число такое, что .
  4. Вычисляется .
  5. Открытым ключом является тройка , закрытым ключом — число .

Работа в режиме шифрования

    Шифрсистема Эль-Гамаля является фактически одним  из способов выработки открытых ключей Диффи — Хеллмана. Шифрование по схеме Эль-Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля.

  Шифрование

Сообщение шифруется следующим образом:

  1. Выбирается сессионный ключ — случайное целое число такое, что
  2. Вычисляются числа и .
  3. Пара чисел является шифротекстом.

Нетрудно  видеть, что длина шифротекста  в схеме Эль-Гамаля длиннее исходного  сообщения M вдвое.

  Расшифрование

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

При этом нетрудно проверить, что

и поэтому

    .

[Схема шифрования

 

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

 В  настоящее время симметричные  шифры — это: 

       -блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

      -поточные шифры, в которых  шифрование проводится над каждым  битом либо байтом исходного  (открытого) текста с использованием  гаммирования. Поточный шифр может  быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

   Большинство симметричных шифров  используют сложную комбинацию  большого количества подстановок  и перестановок. Многие такие  шифры исполняются в несколько  (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок. 

Распространенными алгоритмами является:

·  ГОСТ 28147-89 — отечественный стандарт шифрования данных

·  DES (англ. Data Encryption Standard) - стандарт шифрования данных в США до AES 
 
 

      ГОСТ 28147-89 

ГОСТ 28147-89 — блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. 

 

Шаг 0. Определяет исходные данные для основного шага криптопреобразования:

_ N – преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N1)

и старшая (N2) части обрабатываются как отдельные 32-битовые целые числа без знака.

Таким образом, можно записать N=(N1,N2).X – 32-битовый элемент ключа;

Шаг 1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа,результат передается на следующий шаг;

Шаг 2. Поблочная  замена. 32-битовое значение,полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовыхблоков кода: S = (S0,S1,S2,S3,S4,S5,S6,S7).

Далее значение каждого из восьми блоковзаменяется новым, которое выбирается по таблицезамен следующим образом: значение блока  Siменяется на Si-тый по порядку элемент (нумерация с нуля) i-того узла замен (т.е. i-той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа. Теперь становится понятным размер таблицы замен: число строк в ней равно числу 4-битовых элементов в 32-битовом блоке данных, то есть восьми, а число столбцов равно числу различных значений 4- битового блока данных, равному как известно 24,шестнадцати.

Шаг 3. Циклический  сдвиг на 11 бит влево. Результат  предыдущего шага сдвигается циклически на 11 бит в сторону старших  разрядов и передается на следующий  шаг. На схеме алгоритма символом 11 R_ обозначена функция циклического сдвига своего аргумента на 11 бит влево,

т.е. в  сторону старших разрядов.

Шаг 4. Побитовое  сложение: значение, полученное на шаге 3, побитно складывается по модулю 2

со старшей  половиной преобразуемого блока.

Шаг 5. Сдвиг  по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на

ее место  помещается результат выполнения предыдущего  шага.

Шаг 6. Полученное значение преобразуемого блока возвращается как результат выполнения

алгоритма основного шага криптопреобразования 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DES 

DES (Data Encryption Standard) — симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). DES имеет блоки по 64 бита и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. 
 
 

        
 
 
 

Зашифрование 64-битового блока данных T (входной параметр алгоритма, рис.2, шаг 0) начинается с начальной перестановки битов в нем (IP, шаг 1). Затем шифруемый блок разделяется на две 32-битовые части (шаг 2), с которыми выполняются 16 раундов преобразования в соответствии с архитектурными принципами сети Файстеля. Через Hin(X) и Lon(X) обозначены функции, возвращающие в качестве результата соответственно n старших или младших битов своего аргумента. На каждом раунде старшая половина блока модифицируется путем побитового прибавления к ней по модулю 2 (операция " ") результата вычисления функции шифрования (f), зависящей от младшей половины блока (Li–1) и 48-битового ключевого элемента (ki). Между раундами старшая и младшая половины блока меняются местами. Таким образом, на каждом раунде кроме последнего младшая половина блока становится старшей, а модифицированная с помощью функции шифрования старшая – младшей половиной блока (шаг 3). На последнем раунде происходит то же самое за исключением обмена значениями половин блока. Затем полублоки объединяются в полный блок (шаг 4), в котором выполняется конечная битовая перестановка (IP–1, шаг 5), обратная начальной. Результат последней операции и является выходным значением цикла шифрования – зашифрованным блоком T' (шаг 6) 
 

Информация о работе Описать математическую модель шифрования сообщений, подписанных ЭЦП, на основе использования ключа парной связи