Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Simon / диплом.doc
Скачиваний:
93
Добавлен:
16.04.2013
Размер:
9.51 Mб
Скачать
      1. Разворачивание ключа.

В виду того, что при использовании постоянных ключевых элементов во всех блоках открытого текста приводит к возникновению на выходе регулярных шифрограмм при условии, что открытый текст тоже регулярный, а операция ∦.∦n представляет собой выборку сплошного массива бит по жестко закрепленному смещению. Поэтому, ключевые элементы необходимо подвергать преобразованию, чтобы добиться стойкости маскирования. Определим зависимость ключевых элементов от временного параметра t. Характер изменений этого параметра определяет временные интервалы «разового пользования» ключевым материалом. Частота изменений этого параметра характеризуется информационной нагрузкой на каждую используемую ключевую матрицу, т. е. количеством информации маскируемой на одной ключевой матрице. Для того, чтобы избежать регулярных шифрограмм в течении временного интервала t и уменьшить информационную нагрузку на разовый ключевой материал будем использовать ключевой материал, меняющиеся с регулярностью t / k, где k – количество развернутых (сеансовых) ключей.

Разворачивания ключей можно представить в следующем виде:

- Исходный ключевой материал

- первый сеансовый ключ

- второй сеансовый ключ

- третий сеансовый ключ

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

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

Все биты каждого ключевого элемента развернутого ключа должны быть равномерно распределены между собой;

общее число нулей в развернутом ключе не должно существенно отличаться от числа единиц;

Для исследуемой ключевой последовательности эти требования выполняются.

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

      1. Определение времени жизни сеансовых ключей

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

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

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

К сожалению безусловно стойкие криптосистемы неудобны на практике (системы

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

Достоинством доказуемо стойких алгоритмов является хорошая изученность

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

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

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

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

  • Длительное пользование одним и тем же ключом увеличивает потенциальный ущерб, который может быть нанесен в случае его компрометации.

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

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

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

Срок жизни секретного ключа определяется, исходя из потенциально накопленного объема данных, представляющего интерес для криптоаналитика и в принципе неограничен. Использование сеансового ключа для выполнения криптографических операций не дает дополнительного материала криптоаналитику. Определим срок жизни секретного ключа 1 год (в соответствии с рекомендациями ФАПСИ ). Ключевая матрица представляет 16 32-ух разрядных числа, следовательно, максимально возможное количество сеансовых ключей 16!. Длительность одного сеанса связи составляет 1 минуту, т.е. производя смену сеансового ключа каждый сеанс связи, не будет использоваться все множество сеансовых ключей.

Соседние файлы в папке Simon