
- •5 Сентября 2012 г.
- •12 Сентября 2012г.
- •19 Сентября 2012г.
- •26 Сентября 2012г.
- •3 Октября 2012г.
- •9 Октября 2012г.
- •20 Октября 2012г.
- •24 Октября 2012г.
- •31 Октября 2012
- •7 Ноября 2012г. Лекции нет.
- •14 Ноября 2012г.
- •21 Ноября 2012г.
- •28 Ноября 2012г.
- •5 Декабря 2012г.
- •12 Декабря 2012г. Лекции, к сожалению, нет
- •26 Декабря 2012г.
21 Ноября 2012г.
Существует национальный стандарт на подобные методы — ГОСТ 28147-89. Существует новый вариант этого ГОСТа «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования» — Р.28147-2001
Для определенности мы будем говорить о защите сообщений, хотя события могут развиваться не только в пространстве, но и во времени, когда зашифровывается и расшифровываются никуда не перемещающиеся файлы.
Основным недостатком симметричного шифрования является то, что ключ должен быть известен не только отправителю, но и получателю. С одной стороны это создает новую проблему распространения ключей. С другой стороны, получатель на основании наличия зашифрованного и расшифрованного сообщения не может доказать, что он получил это сообщение от конкретного отправителя, т.к. такое же сообщение он может сгенерировать и самостоятельно.
В ассиметричных системах используются два ключа, один из них открытый, несекретный — ключ отправителя (может публиковаться вместе с другими открытыми сведениями о пользователе). Применяется для шифрования. Другой, секретный, известный только получателю, используется для расшифрованиясамым популярным из асиметричных является метод RSA. Этот метод основан на операциях с большими простыми числами и их произведениями.
Существенным недостатком ассиметричных методов шифрования является их низкое быстродействие, поэтому данные методы приходится сочетать с симметричными (ассиметричные методы на 3-4 порядка медленнее симметричных). Так, для решения задачи эффективного шифрования с передачей секретного ключа, использованного отправителем, сообщение сначала симметрично зашифровывают случайным ключом, затем сам этот ключ зашифровывают открытым ассиметричным ключом получателя, после чего и сообщение и ключ отправляются по сети.
Отметим, что ассиметричные методы позволили решить важную проблему выработки секретных ключей (это особенно важно если стороны недоверяют друг другу), обслуживающих сеанс взаимодействия при изначальном отсутствии общих секретов. Для этого используется алгоритм Диффи-Хелмана. Определенное распространение получила разновидность симметричного шифрования, основанная на использовании составных ключей. Идея в том, что секретный ключ делится на две части, хранящиеся отдельно. Каждая часть не позволяет сама по себе выполнить расшифрование.
Если у правоохранительных органов появляются подозрения относительно некоторого лица, использующего ключ, они могут в установленном порядке получить половинки ключа и дальше действовать обычным, для симметричного расшифрования, образом. Порядок работы составными ключами — хороший пример следования принципу разделения обязанностей. Он позволяет сочетать права на разного рода тайны (персональную, коммерческую, и т.д.) с возможностью эффективно следить за нарушителями закона.
Многие криптографические алгоритмы в качестве одного из параметров требуют псевдослучайное значение, в случае предсказуемости которого в алгоритме появляется уязвимость. По этой причине генерация псевдослучайных последовательностей — важный аспект криптографии.
Классификация криптографических алгоритмов.
В зависимости от блока шифруемой информации, криптоалгоритмы делятся на блочные и поточные шифры. Единицей кодирования в потоковых шифрах является один бит. Результат кодирования не зависит от прошедшего ранее входного потока. Такая схема применяется в системах передачи потоков информации, т.е. в тех случаях, когда передача информации начинается и заканчивается в произвольные моменты времени, и может случайно прерываться.
Для блочных шифров единицей кодирования является блок, состоящий из нескольких байтов. Результат кодирования зависит от всех исходных байтов этого блока. Такая схема применяется при пакетной передаче информации и кодировании файлов.
Еще одним критерием классификации является тип выполняемых преобразований над блоками открытого текста. По этому критерию криптоалгоритмы делятся на подстановочные и перестановочные.
В перестановочных, блоки информации не изменяются сами по себе, но изменяется порядок их следования, что делает информацию недоступной постороннему наблюдателю.
Подстановочные шифры сами изменяют блоки информации по определенным законам.
Деление криптоалгоритмов на моноалфавитные и многоалфавитные, характерно для подстановочных шифров. Моноалфавитные заменяют блок входного текста (символ входного алфавита) на один и тот же блок шифротекста (символ выходного алфавита).
В многоалфавитных шифрах одному и тому же блоку входного текста могу соответствовать разные блоки шифротекста, что существенно затрудняет криптоанализ.
По степени секретности криптоалгоритмы делятся на абсолютно стойкие, и практически стойкие.
Абсолютно стойкие шифры невозможно вскрыть. На практике этого можно добиться если размер используемого ключа шифрования превышает размер кодируемого сообщения, и при этом ключ используется однократно.
Практически стойким называется шифр, для которого несуществует более эффективного способа взлома, кроме как перебор.
Говоря об атаках на шифры, можно выделить следующие виды атак:
Атака на основе шифротекста
На основе известного открытого текста
На основе выборочного открытого текста
При атаке на основе шифротекста, криптоаналитику известен только закодированный текст, и на его основе он должен узнать секретный ключ шифрования.
Атака на основе открытого текста предполагает, что криптоаналитику известны одна или несколько пар «открытый текст — шифротекст», зашифрованных на одном ключе, и на основе этой информации он проводит свой анализ.
Выполняя атаку на основе выборочного открытого текста, злоумышленник имеет возможность подать на вход шифрующего устройства произвольный открытый текст, и получить на его основе шифротекст.
Чтобы называться практически стойким, криптоалгоритм должен успешно противостоять любому из перечисленных типов атак.
Контроль целостности.
Криптографические методы позволяют надежно контролировать целостность как отдельных порций данных, так и их наборов, таких как поток сообщений. Они позволяют также определять подлинность источника сообщений и гарантировать невозможность отказаться от совершенных действий. В основе криптографического контроля целостности лежат 2 понятия:
Хэш-функция
ЭЦП
Хэш-функция — труднообратимое преобразование данных (односторонняя функция, реализуемая как правило средствами симметричного шифрования со связыванием блоков). То, что получается после шифрования последнего блока (зависящий от всех предыдущих) и служит результатом хэш-функции. Пусть имеются данные, целостность которых нужно проверить. Имеются также хэш-функция и ранее вычисленный результат ее применения к исходным данным (т.н. дайджест). Обозначим через h хэш-функцию. Обозначим через t исходные данные. Проверяемые данные обозначим через t'. Должно выполняться условие:
h(t)=h(t')
Если условие выполнено, считается, что t'=t.
Совпадание дайджестов для различных данных называется коллизией. Они возможны т.к. мощность множества дайджестов меньше чем мощность множества хэшируемых данных. То, что функция h односторонняя, за приемлимое время специально организовать коллизию невозможно.
Рассмотрим применение ассиметричного шифрования для выработки ЭЦП.
Пусть E(T) означает результат шифрования текста T с помощью некоторого открытого ключа. А D(T) обозначает результат расшифрования текста T с помощью секретного ключа. Чтобы ассиметричный метод мог применяться для реалиции ЭЦП необходимо выполнение условия:
E(D(T))=D(E(T)).
Таким образом, ЭЦП защищает целостность источника данных и удостоверяет личность отправителя, то есть защищает подлинность источника данных и служит основой неотказуемости.