Автор: Пользователь скрыл имя, 16 Сентября 2011 в 23:58, реферат
Электронная Цифровая Подпись (ЭЦП) является полным электронным аналогом обычной подписи на бумаге, но реализуется не с помощью графических изображений, а с помощью математических преобразований над содержимым документа.
Особенности математического алгоритма создания и проверки ЭЦП гарантируют невозможность подделки такой подписи посторонними лицами (неопровержимость авторства). Надежность и удобство использования ЭЦП не вызывает сомнений.
Министерство образования и науки Украины
Запорожский
национальный технический университет
Кафедра:
ЗИ
Описать
математическую модель шифрования сообщений,
подписанных ЭЦП, на основе использования
ключа парной связи.
Выполнила
студентка группы РП-718
Принял
Запорожье
2011
Электронная Цифровая Подпись (ЭЦП) является полным электронным аналогом обычной подписи на бумаге, но реализуется не с помощью графических изображений, а с помощью математических преобразований над содержимым документа.
Особенности математического алгоритма создания и проверки ЭЦП гарантируют невозможность подделки такой подписи посторонними лицами (неопровержимость авторства). Надежность и удобство использования ЭЦП не вызывает сомнений.
Процедура проверки ЭЦП выполняется компьютером безошибочно, что позволяет избежать человеческого фактора, при проверке обычной подписи.
ЭЦП дает информацию не только о лице, подписавшем документ, но и позволяет удостовериться, что сам документ не был изменен или подделан после подписания (аутентичность и целостность документа).
Сеансовые (сессионные или ключи парной связи) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.
Сессионные ключи можно сгенерировать также на основе некоторого заданного значения (пароля) при помощи функции CryptDeriveKey. Это стоит делать, например, в том случае, когда нужно избежать пересылки сессионного ключа вместе с зашифрованными данными. Получатель данных, зная пароль и алгоритм, может сам сгенерировать сессионный ключ и с его помощью расшифровать данные
Рисунок 2. Шифрование. |
Симметричный алгоритм менее
надежен, но работает намного
быстрее, чем асимметричный.
Рисунок 3. Дешифровка. |
Таким образом, расшифровать данные можно только, имея закр ключ из той же ключевой пары, что и открытый кл
Алгори́тм Ди́ффи — Хе́ллмана (англ. Diffie-Hellman, DH) — алгоритм, позволяющий двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены, канал связи. Этот ключ может быть использован для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования.
Усовершенствование Алгоритма Ди́ффи — Хе́ллмана сделал Тахер Эль-Гамаль и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации.
Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом,основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США и России.
Шифрсистема Эль-Гамаля является фактически одним из способов выработки открытых ключей Диффи — Хеллмана. Шифрование по схеме Эль-Гамаля не следует путать с алгоритмом цифровой подписи по схеме Эль-Гамаля.
Сообщение шифруется следующим образом:
Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения M вдвое.
Зная закрытый ключ , исходное сообщение можно вычислить из шифротекста по формуле:
При этом нетрудно проверить, что
и поэтому
.
Симметричная
криптография – это раздел криптографии,
в котором для преобразования открытого
текста в зашифрованный и для обратного
расшифровывания используется один и
тот же ключ.
В
настоящее время симметричные
шифры — это:
-блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
-поточные шифры, в которых
шифрование проводится над
Большинство симметричных
Распространенными алгоритмами является:
· ГОСТ 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)