Здавалка
Главная | Обратная связь

Основы теории К. Шеннона



Шеннон рассмотрел модель, в которой источник сообщений порождает открытый текст X. Источник ключей генерирует ключ Z. Шифратор преобразовывает открытый текст X с помощью ключа Я в шифртекст Y:
Y=Tz(X)

Дешифратор, получив зашифрованное сообщение Y, выполняет обратную операцию:
X=Tz(-1)(Y)

Модель секретной системы К. Шеннона приведена на рис.1.


pис.1. Модель К.Шеннона.

Задачей криптоаналитика противника является получение открытого текста и ключа на основе анализа шифртекста. Шеннон рассмотрел вопросы теоретической и практической секретности.

Для определения теоретической секретности Шеннон сформулировал следующие вопросы.

  1. Насколько устойчива система, если криптоаналитик противника не ограничен временем и обладает всеми необходимыми средствами для анализа криптограмм?
  2. Имеет ли криптограмма единственное решение?
  3. Какой объем шифртекста необходимо перехватить криптоаналитику, чтобы решение стало единственным?

Для ответа на эти вопросы Шеннон ввел понятие совершенной секретности с помощью следующего условия: для всех Y апостериорные вероятности равны априорным вероятностям, то есть перехват зашифрованного сообщения не дает криптоаналитику противника никакой информации. По теореме Бейеса
Py(X)=P(X)Px(Y)/P(Y)
где P(X) - априорная вероятность сообщения Х;
Рx(Y)- условная вероятность криптограммы Y при условии, что выбрано сообщение X, то есть сумма вероятностей всех тех ключей, которые переводят сообщение X в криптограмму Y;
P(Y) - вероятность получения криптограммы Y;
Рy(Х)- апостериорная вероятность сообщения X при условии, что перехвачена криптограмма Y.

Для совершенной секретности величины Рy(Х) и Р(Х) должны быть равны для любых X и Y.

Теорема 1. Необходимое и достаточное условие для совершенной секретности состоит в том, что Рy(X)=P(X) для всех X и Y, то есть Px(Y) не должно зависеть от X.

Секретная система включает в себя два статистических выбора: выбор сообщения и выбор ключа

Методы кpиптогpафического закpытия данных
Шифpование Кодиpование Дpугие виды          
замена (подстановка) смысловое сжатие          
перестановка символьное расширение          
аналитические преобразования комбинированное рассечение- разнесение          
комбинированные методы . .          

 

15)

Основные понятия

Рассмотрим общую схему симметричной, или традиционной, криптографии.


Рис. 1. Общая схема симметричного шифрования

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

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

Незашифрованное сообщение будем обозначать P или M, от слов plaintext и message. Зашифрованное сообщение будем обозначать С, от слова chiphertext.

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

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

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

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

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


Рис. 2. Структура алгоритма симметричного шифрования

Области применения

Стандартный алгоритм шифрования должен быть применим во многих приложениях:

· Шифрование данных. Алгоритм должен быть эффективен при шифровании файлов данных или большого потока данных.

· Создание случайных чисел. Алгоритм должен быть эффективен при создании определенного количества случайных битов.

· Хэширование. Алгоритм должен эффективно преобразовываться в одностороннюю хэш-функцию.

Сеть Фейштеля

Блочный алгоритм преобразовывает n-битный блок незашифрованного текста в n-битный блок зашифрованного текста. Число блоков длины n равно 2n. Для того чтобы преобразование было обратимым, каждый из таких блоков должен преобразовываться в свой уникальный блок зашифрованного текста. При маленькой длине блока такая подстановка плохо скрывает статистические особенности незашифрованного текста. Если блок имеет длину 64 бита, то он уже хорошо скрывает статистические особенности исходного текста. Но в данном случае преобразование текста не может быть произвольным в силу того, что ключом будет являться само преобразование, что исключает эффективную как программную, так и аппаратную реализации.

Наиболее широкое распространение получили сети Фейштеля, так как, с одной стороны, они удовлетворяют всем требованиям к алгоритмам симметричного шифрования, а с другой стороны, достаточно просты и компактны.

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


Рис. 3. I-ый раунд сети Фейштеля

Функция F называется образующей. Каждый раунд состоит из вычисления функции F для одной ветви и побитового выполнения операции XOR результата F с другой ветвью. После этого ветви меняются местами. Считается, что оптимальное число раундов - от 8 до 32. Важно то, что увеличение количества раундов значительно увеличивает криптостойкость алгоритма. Возможно, эта особенность и повлияла на столь активное распространение сети Фейштеля, так как для большей криптостойкости достаточно просто увеличить количество раундов, не изменяя сам алгоритм. В последнее время количество раундов не фиксируется, а лишь указываются допустимые пределы.

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

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

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

 

16)

Режим ECB

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

ECB-режим идеален для небольшого количества данных, например, для шифрования ключа сессии.

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

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.