русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Формальные модели шифров


Дата добавления: 2015-08-31; просмотров: 3138; Нарушение авторских прав


Для того чтобы иметь возможность доказывать в крипто­графии точные результаты, нужны математические модели основных исследуемых объектов, к которым относятся в пер­вую очередь шифр и открытый текст. Введем сначала алгеб­раическую модель шифра (шифрсистемы), предложенную К.Шенноном. С моделями открытых тек­стов мы познакомимся ниже.

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

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

Формализуем сказанное.

Пусть X,K,Y – конечные множества возможных от­крытых текстов, ключей и шифрованных текстов соответст­венно; Еk: Х —> Y – правило зашифрования на ключе k Î К. Множество {Еk : k Î К} обозначим через Е, а мно­жество {Еk(х): хÎX}– через Еk(X). Пусть Dkk (X) —> Х – правило расшифрования на ключе k Î К, и D – множество {Dk : k Î K}.



Здесь и далее мы будем предполагать, что если k Î К представляется в виде k=(kkз, kkр), где kз – ключ зашифро­вания, a kр – ключ расшифрования (причем kз¹kр), то Еk понимается как функция Еkз , a Dk – как функция Dkр.

Определение 1. Шифром (шифрсистемой) назовем со­вокупность

åА=(X,K,Y,E,D)

введенных множеств, для которых выполняются следующие свойства:

1) для любых х Î Х и k Î К выполняется равенство

Dkk (х)) = х;

2)Y= È Еk (X).

kÎK

Неформально, шифр – это совокупность множеств воз­можных открытых текстов (то, что шифруется), возможных ключей (то, с помощью чего шифруется), возможных шифр-текстов (то, во что шифруется), правил зашифрования и правил расшифрования.

Отметим, что условие 1) отвечает требованию однознач­ности расшифрования. Условие 2) означает, что любой эле­мент у Î Y может быть представлен в виде Еk(х) для под­ходящих элементов х Î Х и k Î К . Отметим также, что в общем случае утверждение "для любых k Î К и у Î Еk(X) выполняется равенство Ek(Dk(y)) = у" является неверным.

Легко проверить, что из условия 1) следует свойство инъективности функции Еk. Другими словами, если х1, х2 Î Х , причем х1 ¹ х2, то при любом k Î К выполняется неравен­ство Еk (х1) ¹Еk (х2).

По сути дела определение 1 вводит математическую мо­дель, отражающую основные свойства реальных шифров. В силу этого мы будем отождествлять реальный шифр с его мо­делью åА, которую будем назвать алгебраической моделью шифра. Для подавляющего большинства известных шифров несложно составить такую модель, как это будет видно из дальнейшего.

Введем теперь вероятностную модель шифра. Следуя К. Шеннону, определим априорные распределения вероятностей Р(Х), Р(К) на множествах Х и К соответст­венно. Тем самым для любого х Î Х определена вероятность рХ(х) Î Р(Х) и для любого k Î К – вероятность рК(k) Î Р(К), причем выполняются равенства

и

В тех случаях, когда нам требуется знание распределений Р(Х) и Р(К), мы будем пользоваться вероятностной моде­лью åВ, состоящей из пяти множеств, связанных условиями 1) и 2) определения 1, и двух вероятностных распределений:

åВ = (X, К, Y, Е, D, Р(Х), Р(К)).

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

В большинстве случаев множества Х и Y представляют собой объединения декартовых степеней некоторых мно­жеств А и В соответственно, так что для некоторых нату­ральных L и L1,

       
   
 
 


Множества А и В называют соответственно алфавитом открытого текста и алфавитом шифрованного текста. Другими словами, открытые и шифрованные тексты записы­ваются привычным образом в виде последовательностей букв.

Введем шифр простой замены в алфавите А.

 
 


Определение 2. Пусть K Í S(A), где S(A) – симметрическая

группа подстановок множества А. Для любого ключа kÎK, открытого текста х=(х1,...,хm) и шифрованного текста у =(у1,..., уm) прави­ла зашифрования и расшифрования шифра простой замены в алфавите А определяются формулами:

Еk(х)= (k(х1),...,k(хm)),

Dk(y)= (k -1(у1),..., k -1m)),

где k -1 – подстановка, обратная к k.

В более общей ситуации для шифра простой замены

 

 

причем |А|=|В|, а К представляет собой множество биекций множества А на множество В. Правила зашифрования и расшифрования определяются для

k Î К, х Î X, у Î Y (и обратной к k биекции k -1) формула­ми (1).

Определим еще один шифр, называемый шифром пере­становки.

Определение 3. Пусть Х = Y = АL и пусть К Í SL, где SL – симметрическая группа подстановок множества {l,2,...,L}. Для любого ключа k, открытого текста х=(х1,...,хL) и шифрованного текста у=(у1,...,уL) пра­вила зашифрования и расшифрования шифра перестановки определяются формулами:

Еk(х)= (хk(1)),...,хk(L))),

Dk(y)= (уk-1(1)),...,уk-1(L))),

где k -1 – подстановка, обратная к k.

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

Приведем пример асимметричного шифра. В следующем определении шифра RSA мы будем пользо­ваться общепринятыми в алгебре терминологией и обозначе­ниями.

Определение 4. Пусть п = pq, где р и q – простые числа. Пусть Х = Y = Znкольцо вычетов по модулю п. Положим

К= {(п,р, q, а, b): а,b Î Zn , п =pq, ab º 1(modj(n))},

где j –функция Эйлера. Представим ключ k Î К в виде k=(kз,kр), где kз=(n,b) и kр=(n,p,q,a) –ключи за­шифрования и расшифрования соответственно. Правила зашифрования и расшифрования шифра RSA определим для

х Î Х и у Î Y формулами:

Еkз(х) = хb mod п, Dkр (у) = уа mod п. (2)

Аббревиатура RSA определяется начальными буквами фамилий создателей этого шифра – Rivest, Shamir, Adleman. Корректность формул (2) следует из малой теоремы Ферма.

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



<== предыдущая лекция | следующая лекция ==>
Центры сертификации | Математические модели открытого текста


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.14 сек.