Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_2-й_модуль.docx
Скачиваний:
25
Добавлен:
08.12.2018
Размер:
99.74 Кб
Скачать

Длина открытого ключа

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

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

Пример, если разложить число на множители с помощью квадратного решета, то разложить 512-битное число в 100 раз сложнее, чем десятичное число из 129 разрядов.

Сравнение дли симметричных и открытых ключей на устойчивость вскрытия грубой силой

Длина симметричного ключа (в битах)

Длина открытого ключа (в битах)

56

384

64

512

128

2304

Какова должны быть длина ключа

На этот вопрос нет однозначного ответа. Ответ зависит от:

  1. Сколько стоит информация.

  2. Как долго она должна хранить.

  3. Каковы ресурсы взломщика.

Требования к безопасности различной информации:

Бизнес-план разрабатывается на несколько лет – тогда при генерации ключа его min длина должна быть 64 бита.

Управление ключами. Генерация ключей.

Если при генерации ключей используется слабый криптографический процесс, то система становится уязвимой.

Способы генерации:

  1. Объединенный выбор ключей.

  2. Случайные ключи – выбор происходит в автоматическом режиме, требование – равномерность выбора.

  3. Ключевые фразы.

Время жизни ключей – должно истекать автоматически.

Причины смены ключей:

  1. Чем дольше используется ключ, тем больше вероятность его компрометации.

  2. Чем дольше используется ключ, тем больше потери при компрометации ключа.

  3. Чем дольше используется ключ, тем больше соблазна у взломщика вскрыть данный ключ.

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

Управление ключами

Криптография с открытыми ключами упрощает управление ключами, но в ней есть свои проблемы. У каждого абонента сети есть один открытый ключ. Если абонент 1 хочет отправить сообщение абоненту 2, он должен знать его открытый ключ

Способ получения ключа:

  1. Получить от абонента 2.

  2. Получить от центральной БД.

  3. Получить из своей БД.

Опасность – перехват ключа.

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

Время жизни ключа. Разрушение ключей. Управление открытыми ключами.

Ни один ключ шифрования нельзя использовать бесконечно. Время его действия должно истекать автоматически.

Причины смены ключей:

  • Чем дольше используется ключ, тем больше вероятность его компрометации

  • Чем дольше исп-ся ключ, тем больше потери при компрометации ключа

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

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

Управление ключами

Криптография с открытыми ключами упрощает управление ключами, но в ней есть свои проблемы. У каждого абонента сети есть свой открытый ключ. Если абонент 1 хочет отправить сообщение 2 абоненту, то ему нужно знать открытый ключ 2 абонента.

Способы получения ключа:

  • Получить у другого абонента

  • Получить из БД сервера

  • Получить из своей БД

Опасность: возможность перехвата ключа.

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

Стандарт шифрования данных DES. Разработка стандарта. Проверка и сертификация оборудования DES.

Разработка стандарта.

В 1972 г. Национальное бюро стандартов (NBS) выступило инициатором программы защиты линий связи и компьютерных данных. Одной из целей этой программы была разработка единого, стандартного криптографического алгоритма.

15 мая 1973 г. Federal Register NBS опубликовало требования к криптографическому алгоритму, который мог бы быть принят в качестве стандарта. Было описано несколько критериев оценки проекта: алгоритм должен обеспечивать высокий уровень безопасности, быть полностью определен и легко понятен, безопасность алгоритма должна основываться на ключе, алгоритм должен предоставлять возможности проверки, быть доступен всем пользователям, эффективным в использовании, разрешен для экспорта, позволять экономичную реализацию в виде электронных приборов, позволять адаптацию к различным применениям.

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

/*Национальное агентство безопасности (NSA) охарактеризовало DES как одну из своих самых больших ошибок. Если бы агентство предполагало, что раскрытые детали позволят писать программное обеспечение, оно никогда бы не согласилось на это. Следующий правительственный стандарт алгоритма Skipjack был засекречен*/.

Проверка и сертификация оборудования DES.

1987. В стандарте DES было оговорено, что он будет пересматриваться каждые 5 лет. В 1983 г. DES был повторно сертифицирован без проблем. В 1987 г. NBS и NSA пересмотрели стандарт. Благодаря подписанной Рейганом директиве NSA получило право вето по отношению к деятельности NBS в области криптографии. Первоначально NSA объявило, что оно не сертифицирует стандарт повторно, однако так как DES на то время широко использовался в бизнесе и приемлемой альтернативы не существовало он был вновь утвержден в качестве правительственного стандарта США.

1993. В 1992 г. альтернативы алгоритму DES все еще не было. Рэймонд Каммер, в то время директор NIST (в прошлом NBS) после присланных комментариев по поводу повторной сертификации DES и других технических источников, рекомендовал министру торговли, чтобы он повторно сертифицировал DES. Каммер объявил, что готов рассматривать альтернативы в течение этих 5 лет.

Алгоритм был сертифицирован повторно.

Описание и схема алгоритма DES. Дешифрование DES. Аппаратные и программные реализации DES.

Описание . DES – блочный алгоритм, он шифрует данные 64 битовыми блоками. В начало алгоритма подается 64-битовый блок открытого текста, а с другого конца выводит 64-битовый блок шифротекста. DES – симметричный алгоритм.

Длина ключа равна 56 битам (ключ обычно – 64-битное число, но каждый 8-ой бит используется для проверки четности и игнорируется). Ключ, который может быть любым 56-битным числом, можно изменить в любой момент времени. Ряд чисел считаются слабыми ключами, но их можно легко избежать. Безопасность полностью определяется ключом.

Фундаментальным строительным блоком DES является применение к тексту единичной комбинации методов (подстановка, а затем перестановка), зависящей от ключа. Такой блок называется этапом. DES состоит из 16 этапов, одинаковая комбинация методов применяется к открытому тексту 16 раз.

Схема алгоритма. DES работает с 64-блоком открытого текста. После первоначальной перестановки блок разбивается на правую и левую половины длиной по 32 бита. Затем выполняется 16 выполняется 16 этапов одинаковых действий, называемых функцией f, в которых данные объединяются с ключом. После 16-го этапа правая и левая половины объединяются и алгоритм завершается заключительной перестановкой.

Дешифрование DES. Для шифрования и дешифрования используется один и тот же алгоритм. DES позволяет использовать для шифрования и дешифрования блока одну и ту же функцию. Единственное отличие – ключи должны использоваться в обратном порядке.

Аппаратные и программные реализации DES. Самая быстрая микросхема DES разработана в Digital Equipment Corporation. Данные могут зашифровываться и дешифроваться со скоростью 1 Гб в сек, обрабатывая 16,8 млн. блоков в сек.

Программная реализация DES на мэйнфрейме IBM 3090 может выполнить 32000 шифрований в сек. На других платформах скорость ниже, но все равно велика.

Безопасность DES. Слабые и полуслабые ключи DES. Длина ключа.

Безопасность DES.

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

После длительных исследований выяснилось, что NSA не принимало участия в создании алгоритма. Алгоритм DES был полностью разработан внутри IBM ее сотрудниками. NSA не было продиктовано ни единой связи.

Однако когда S-блоки отправили в Вашингтон они были изменены NSA и вернулись полностью переработанными. Зачем это было сделано? Вероятно для того, чтобы гарантировать, что лазейка не будет встроена DES самой компанией IBM. У NSA не было причин доверять исследованиям IBM, и оно могло решить, что не до конца исполнит свой долг, если не обеспечит отсутствие лазеек в DES. Это наиболее правдоподобное предположение.

Слабые и полуслабые ключи DES. Из-за того, что первоначальный ключ изменяется при получении подключа для каждого этапа алгоритма, определенные первоначальные ключи являются слабыми. Слабые ключи: ключ, состоящий из одних 1, из одних 0 или если одна половина ключа состоит из одних 1, а другая из одних 0.

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

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

Длина ключа. Изначально в NBS предполагался 112-битовый ключ. К тому времени, когда DES стал стандартом, длина ключа уменьшилась до 56 бит. Многие криптографы настаивали на более длинном ключе. Основным их аргументом было вскрытие грубой силой.

На сегодняшний день существуют потенциальные возможности вскрытия данного ключа. В 1993 Майкл Виннер спроектировал машину, которая может выполнить вскрытие DES грубой силой в среднем за 3.5 часа.

Дифференциальный криптоанализ. Характеристики DES.

Бихам и Шамир, используя метод дифференцированного криптоанализа, нашли способ вскрытия DES с использованием выбранного открытого текста.

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

Алгоритм процесса данного криптоанализа:

  1. выбираем пару открытых текстов с фиксированным различием;

  2. используя различия в получившихся шифротекстах, присваиваются различные вероятности различным ключам;

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

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

Дифференциальное основное вскрытие n-этапного DES дает 48-битовый подключ, используемый на этапе n, а остальные 8 битов получаются грубым вскрытием.

Криптоанализ со связанными ключами. Линейный криптоанализ.

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

Такое вскрытие интересно по трем причинам: это первая попытка криптоаналитического вскрытия алгоритма генерации подключей в DES, это вскрытие не зависит от количества этапов криптоаналитического алгоритма; DES невосприимчив к такому алгоритму.

Линейный криптоанализ. Данное вскрытие использует линейные приближения для описания работы DES. Это означает, что если выполнить операцию XOR над некоторыми битами открытого текста, затем над некоторыми битами шифротекста, а затем над результатами, то получится бит, который представляет собой XOR некоторых битов ключа. Это называется линейным приближением, которое может быть верным с некоторой вероятностью p. Если p не равно ½ то это смещение можно использовать. Используя собранные открытые тексты и связанные шифротексты можно сделать предположения о значениях битов ключа. Чем больше данных, тем вернее предположение.

Линейный криптоанализ сильно зависит от структуры S-блоков, оказалось, что S-блоки не оптимизированы против такого вскрытия.

Линейный криптоанализ новее, чем дифференцированный, и в ближайшее время возможно дальнейшее продвижение в этом направлении.

Критерии проектирования DES. Варианты DES.

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

Критериями проектирования S-блоков являлись:

— У каждого S-блока 6 входных битов и 4 выходных бита

— Ни один выходной бит S-блока не должен быть слишком близок к линейной функции входных битов.

— Если зафиксировать крайние левый и правый биты S-блока, изменяя 4 средних бита, то каждый возможный 4-битовый результат получается только один раз.

— Если два входа S-блока отличаются только одним битом, результаты должны отличаться по крайней мере на 2 бита.

— Если два входа S-блока отличаются только двумя центральными битами, результаты должны отличаться по крайней мере на 2 бита.

— Если два входа S-блока отличаются двумя первыми битами, а последние их последние 2 бита совпадают, результаты не должны быть одинаковыми.

— Для любого ненулевого 6-битового отличия между входами, не более, чем 8 из 32 пар входов могут приводить на выходе к одинаковому различию.

— Аналогичный предыдущему критерий, но для случая трех активных S-блоков.

Критериями проектирования P-блока являлись:

— 4 выходных бита каждого S-блока на этапе i распределены так, чтобы 2 из них влияют на средние биты S-блоков на этапе i + 1, а другие 2 бита влияют на последние биты.

— 4 выходных бита каждого S-блока влияют на шесть различных S-блоков, никакие 2 не влияют на один и тот же S-блок.

— Если выходной бит одного S-блока влияет на средние биты другого S-блока, то выходной бит этого другого S-блока не может влиять на средние биты первого S-блока.

Варианты DES

DESX - это вариант DES, разработанный RSA Data Security, Inc., и включенный в 1986 году в программу обеспечения безопасности электронной почты MailSafe, а в 1987 году в набор BSAFE. DESX использует метод, называемый отбеливанием (64-битовый ключ отбеливания), для маскировки входов и выходов DES. Эти 64 бита используются для выполнения операции XOR с блоком открытого текста перед первым этапом DES.

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

Обобщенный DES (Generalized DES, GDES) был спроектирован для ускорения DES и повышения устойчивости алгоритма. Общий размер блока увеличился, а количество вычислений осталось неизменным.

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

Другие блочные шифры

Lucifer - это набор перестановок и подстановок, его блоки похожи на блоки DES. В DES результат функции f объединяется с помощью XOR со входом предыдущего этапа, образуя вход следующего этапа. У S-блоков алгоритма Lucifer 4-битовые входы и 4-битовые выходы, вход S-блоков представляет собой перетасованный выход S_блоков предыдущего этапа, входом S-блоков первого этапа является открытый текст.

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

NewDES оперирует 64-битовыми блоками шифротекста, но использует 120-битовый ключ. NewDES проще, чем DES, в нем нет начальной и заключительной перестановок. Все операции выполняются над целыми байтами.

FEAL. В качестве входа процесса шифрования используется 64-битовый блок открытого текста. Сначала блок данных подвергается операции XOR с 64 битами ключа. Затем блок данных расщепляется не левую и правую половины. Объединение левой и правой половин с помощью XOR образует новую правую половину. Левая половина и новая правая половина проходят через n этапов. На каждом этапе правая половина объединяется с помощью функции f с шестнадцатью битами ключа и с помощью XOR - с левой половиной, создавая новую правую половину. Исходная правая половина становится новой левой половиной. После n этапов левая половина снова объединяется с помощью XOR с правой половиной, образуя новую правую половину, затем левая и правая соединяются вместе в 64-битовое целое. Блок данных объединяется с помощью XOR с другими 64 битами ключа, и алгоритм завершается.

LOKI разработан в Австралии и впервые был представлен в 1990 году в качестве возможной альтернативы DES. В нем используются 64-битовый блок и 64-битовый ключ.

Khufu - это 64-битовый блочный шифр. 64-битовый открытый тест сначала разбивается на две 32-битовые половины, L и R. Над обеими половинами и определенными частями ключа выполняется операция XOR. Затем, аналогично DES, результаты проходят через некоторую последовательность этапов. На каждом этапе младший значащий байт L используется в качестве входных данных S-блока. У каждого S-блока 8 входных битов и 32 выходных бита. Далее выбранный в S-блоке 32-битовый элемент подвергается операции XOR с R. Затем L циклически сдвигается не несколько из восьми битов, L и R меняются местами, и этап заканчивается. Наконец после последнего этапа над L и R выполняется операция XOR с другими частями ключа, и половины объединяются, образуя блок шифротекста.

MMB - это итеративный алгоритм, главным образом состоящий из линейных действий (XOR и использование ключа) и параллельное использование четырех больших нелинейных изменяющих обычный порядок подстановок.

Алгоритмы с открытыми ключами. Алгоритмы рюкзака

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

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

Только лишь 3 алгоритма хорошо работают как при шифровании, так и для цифровой подписи: RSA, ElGamal и Rabin. Однако у них есть существенный недостаток – все эти алгоритмы медленны. Они шифруют и дешифруют данные намного медленнее, чем симметричные алгоритмы. Обычно их скорость недостаточна для шифрования больших объемов данных.

Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x), что по известному x довольно просто найти значение f(x), тогда как определение x из f(x) невозможно за разумный срок.

Но сама односторонняя функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка — это некий секрет, который помогает расшифровать. То есть существует такой y, что зная f(x) и y, можно вычислить x. К примеру, если разобрать часы на множество составных частей, то очень сложно собрать вновь работающие часы. Но если есть инструкция по сборке (лазейка), то можно легко решить эту проблему.

Безопасность алгоритмов с открытыми ключами

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]