Основные понятия Криптографии


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

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

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

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

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

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

Возможнось создания подобных шифров появилась с развитием теории чисел, а практическое их применение — с развитием вычислительной техники, из-за необходимости вычислений над очень длинными числами (тысячи двоичных разрядов).

Гибридные.

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

Гибридный шифр использует и симметричный шифр, и шифр с открытым ключом. Сначала генерируется случайный ключ для симметричного шифра, называемый сеансовым ключом. Сообщение зашифровывается симметричным шифром с использованием сеансового ключа. Затем сеансовый ключ зашифровывается открытым ключом получателя. Сеансовый ключ, зашифрованный шифром с открытым ключом, и сообщение, зашифрованное симметричным шифром, автоматически объединяются вместе. Получатель использует свой секретный ключ для расшифровки сеансового ключа и, затем, использует полученный сеансовый ключ для расшифровки сообщения. Так как ключ симметричного шифра передаётся защищённым образом, то для каждого сообщения генерируется новый сеансовый ключ. Дополнительно, появляется возможность зашифровать сообщение сразу для нескольких получателей, при этом к сообщению, зашифрованному сеансовым ключом, добавляется несколько копий сеансового ключа, зашифрованного открытыми ключами разных получателей. И PGP и GnuPG используют именно гибридную схему.

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

ЭЦП— реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе, [1] а также обеспечивает неотказуемость подписавшегося.
Общая схема
Схема электронной подписи обычно включает в себя: алгоритм генерации ключевых пар пользователя;
функцию вычисления подписи;
функцию проверки подписи.

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

В настоящее время детерминированные схемы практически не используются. Даже в изначально детерминированные алгоритмы сейчас внесены модификации, превращающие их в вероятностные (так, в алгоритм подписи RSA вторая версия стандарта PKCS#1 добавила предварительное преобразование данных (OAEP), включающее в себя, среди прочего, зашумление).

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

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

Алгоритмы ЭЦП делятся на два больших класса: обычные цифровые подписи и цифровые подписи с восстановлением документа. Обычные цифровые подписи необходимо пристыковывать к подписываемому документу. К этому классу относятся, например, алгоритмы, основанные на эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002). Цифровые подписи с восстановлением документа содержат в себе подписываемый документ: в процессе проверки подписи автоматически вычисляется и тело документа. К этому классу относится один из самых популярных алгоритмов — RSA.

Следует различать электронную цифровую подпись и код аутентичности сообщения, несмотря на схожесть решаемых задач (обеспечение целостности документа и н еотказуемости авторства). Алгоритмы ЭЦП относятся к классу асимметричных алгоритмов, в то время как коды аутентичности вычисляются по симметричным схемам.
Защищённость
Цифровая подпись обеспечивает:
Американские стандарты электронной цифровой подписи: DSA, ECDSA
Российские стандарты электронной цифровой подписи: ГОСТ Р 34.10-94 (в настоящее время не действует), ГОСТ Р 34.10-2001
Украинский стандарт электронной цифровой подписи: ДСТУ 4145-2002
Стандарт PKCS#1 описывает, в частности, схему электронной цифровой подписи на основе алгоритма RSA
ElGamal
Вероятностная схема подписи Рабина Управление ключами

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

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

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

Обновлено: 11.03.2015