Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







ПРИНЦИПЫ ПОСТРОЕНИЯ НЕДЕТЕРМИНИРОВАННЫХ ПРОГРАММНЫХ ШИФРОВ





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

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

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



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

Слайд 25

Непосредственно с постановкой проблемы разработки криптосистем с недетерминированным алгоритмом преобразований связан следующий теоретический вопрос. А не выработает ли система на этапе настройки слабый криптоалгоритм второго этапа? Трудно дать формализованное описание такого объекта как криптосхема с недетерминированным алгоритмом преобразований и тем более сложным является строгое теоретическое доказательство ее стойкости. Однако, в пользу применения этих новых систем можно привести следующее:

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

(2)на подготовительный этап можно возложить задачу контроля качества сформированного алгоритма (например, предусмотреть на этом этапе контрольное шифрование, а затем анализ шифра на удовлетворение определенному спектральному тесту; при отрицательной оценке порождающая программа первого этапа задаст изменение некоторых исходных параметров, управляющих генерацией алгоритма второго этапа);

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

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

Слайд 26

Следующие приемы могут быть применены для задания недетерминированности шифрующих преобразований:

(1)использование операций в качестве ключевых элементов;

(2)задание генерации машинного кода той или иной операции, используемой на i-том шаге шифрования, в зависимости от результата преобразований на (i-1)-ом шаге (в этом случае имеет место динамическое изменение операций шифрования по ходу проведения преобразований);

(3)задание генерации вида некоторой операции (или нескольких операций) в зависимости от значения очередного извлекаемого ключевого элемента;

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

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

Криптосистема, использующая операции преобразований в качестве ключевых элементов, будет более подробно рассмотрена ниже. В многопроходных шифрах неоднозначность криптоалгоритма может быть задана выбором конкретных алгоритмов из заранее условленной библиотеки криптоалгоритмов и очередностью их использования на каждой шифрующей проходке. Задача формирования используемой комбинации алгоритмов возлагается на подпрограмму настройки и может решаться следующим образом. На этапе инициализации под управлением пароля пользователя осуществляется “псевдослучайный” выбор m чисел из ряда целых чисел 1,2,3,...,N, являющихся номерами описанных алгоритмов (m - предусматриваемое количество проходок).

Слайд 27

Каждый из выбранных алгоритмов поддерживается процедурами настройки (формирования ключевого поля, выбор операций преобразований и т. п.), которые выполняются под контролем пароля. При m проходках и N исходных криптоалгоритмов число потенциально реализуемых различных алгоритмов шифрования составляет I=Nm. При N=20 и m=4 значение I превышает 105.

Независимо от выбора алгоритма для каждой из проходок можно задать также управляемый паролем выбор конкретного закона очередности преобразования символов исходного текста (и знаков промежуточных шифров). Тогда, если число разных способов выборки преобразуемых символов составляет W, то число потенциально реализуемых алгоритмов равно I=NmWm=(NW)m. Можно указать простые и экономичные способы задания законов выборки преобразуемых знаков, для которых W имеет значение более 103, что при N=20 и m=4 соответствует значению I>1017.

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

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

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

Слайд 28









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.