Главная страница
Навигация по странице:

  • 10 Блочные шифры

  • 11 Режимы работы блочных шифров

  • Криптография. 1 История криптографии


    Скачать 251.1 Kb.
    Название1 История криптографии
    АнкорКриптография
    Дата17.12.2019
    Размер251.1 Kb.
    Формат файлаdocx
    Имя файлаКриптография .docx
    ТипДокументы
    #100728
    страница3 из 6
    1   2   3   4   5   6

    №9 Шифрование с открытым ключом


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

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

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

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



    Рисунок 1. Принцип работы асимметричной системы

    Асимметричные криптометоды очень медленны в сравнении с симметричными, и поэтому применимы для небольших объёмов информации. Такое ограничение также вызвано тем, что асимметричные алгоритмы имеют буфер фиксированной длины. Зачастую асимметричные алгоритмы применяются для шифрования ключей от симметричных систем, поскольку открытый ключ асимметричного криптометода можно спокойно отправлять в плавание по сетям, чего не скажешь о ключах симметричных методов.

    ПРИМЕЧАНИЕ

    Для сравнения: программа, реализующая шифрование симметричным криптометодом DES, будет работать примерно в 100 раз быстрее, чем программа с асимметричным RSA. А при аппаратной реализации этих алгоритмов соотношение составит 1000-10000 раз.

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

    Среди алгоритмов с открытым ключом можно выделить следующие: RSA (Rivest-Shamir-Adleman), DSA (Digital Signature Standard), DH (Diffie-Hellman). Из этого небольшого списка .NET поддерживает лишь первые два - RSA и DSA.

    10 Блочные шифры

    — разновидность симметричного шифра, оперирующего группами бит фиксированной длины — блоками, характерный размер которых меняется в пределах 64‒256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. Фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной. Блочный шифр является важной компонентой многих криптографических протоколов и широко используется для защиты данных, передаваемых по сети.

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

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



    Общая схема работы блочного шифра

    11 Режимы работы блочных шифров

    Сам по себе блочный шифр позволяет шифровать только одиночные блоки данных предопределенной длины. Если длина сообщения меньше длины блока (англ. blocklength), то оно дополняется до нужной длины. Однако, если длина сообщения больше, возникает необходимость его разделения на блоки. При этом существуют несколько способов шифрования таких сообщений, называемые режимами работы блочного шифра.
    1   2   3   4   5   6


    написать администратору сайта