РАЗРАБОТКА АППАРАТНО-ПРОГРАММНЫХ СРЕДСТВ СИСТЕМЫ



Разработка математической модели системы

Первая серьезная попытка систематизировать и подвести общую математическую базу под теорию криптографии была предпринята Клодом Шенноном в 1945 году. Статья «Теория связи в секретных системах» первоначально составляла содержание секретного доклада «Математическая теория криптографии», датированного 1 сентября 1945 г. Статья в настоящее время рассекречена.

Согласно К. Шеннону существуют три общих типа секретных систем:

1. Системы маскировки, при помощи которых скрывается сам факт наличия сообщения (стеганография). Например, невидимые чернила или маскировка сообщения за безобидным текстом.

2. Тайные системы, в которых для раскрытия сообщения требуется специальное оборудование. Например, инвертирование речи.

3. Криптографические системы, где смысл сообщения скрывается при помощи шифра, кода и т. п., но само существование сообщения не скрывается.

Ограничимся рассмотрением только третьего вида систем и только для случая, когда информация имеет дискретный вид.

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

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

Каждому такому ключу соответствует некоторая априорная вероятность – вероятность выбрать этот ключ. Понятие криптографической системы. Общий вид криптографической системы можно представить следующим образом (Рисунок 7).

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

 

Рисунок 7. Общая схема криптографической системы

 

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

Вычисление апостериорных вероятностей – есть общая задача дешифрования.

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

.

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

Если  достаточно велико (  букв), имеется обычно единственное сообщение с апостериорной вероятностью, близкой к единице , в то время как все другие сообщения имеют вероятность, близкую к нулю ,, то есть, по существу, имеется единственное «решение» такой криптосистемы. , где  – истинный ключ,  – ошибочные ключи.

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

, где  – возможные ключи.

Пример вычисления апостериорных вероятностей

Пусть имеется некоторый алфавит, состоящий из трех символов: ’Aù, ’Bù и ’Cù, и известны относительные частоты использования каждой буквы P(A) = 50%, P(B) = 20%, P(C) = 30%.

Возьмем произвольное сообщение, состоящее из 10 букв: ’­­­­­­­­­­ù.

При использовании метода случайной подстановки мы получим множество возможных отображений, мощность которого равна 3! = 6, то есть:

Множество возможных криптограмм P(A), % P(B), % P(C), %
1 ABACACABCA 50 20 30
2 BABCBCBACB 20 50 30
3 BCBABABCAB 30 50 20
4 CBCACACBAC 30 20 50
5 CACBCBCABC 20 30 50
6 ACABABACBA 50 30 20

 

Допустим, что был выбран третий ключ для шифрования. Тогда закодированное сообщение будет ’BCBABABCABù. Если противник знает, что мощность множества ключей равна 6 и ему известны относительные частоты использования букв, то он соответственно осуществит 6 перестановок и для каждой проверит P(A), P(B) и P(C).

Истинные относительные частоты он получит только в одном случае, во всех остальных они будут ложными.

Итак, для того чтобы найти решение задачи дешифрования необходимо знать:

1. Алфавит, используемый в исходном сообщении.

2. Мощность множества возможных ключей.

3. Вероятностные характеристики использования букв, слов.

4. Схему, по которой проводится шифрование.

На практике восстановление может быть очень сложной задачей, так как:

1. Информация об источнике сообщений неполная или ее вообще нет.

2. Мощность множества возможных ключей настолько велика, что перебор всех возможных значений займет слишком много времени (для алфавита в 256 символов мощность множества ключей в алгоритме простой перестановки составит 506 256! ≈ 8.578 ⋅10).

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

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

Основные характеристики секретных систем

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

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

2. Объем ключа – чем меньше размер ключа, тем лучше, так как его легче запомнить.

3. Сложность операции шифрования и дешифрования – по возможности эти операции должны быть как можно проще для снижения затрат времени.

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

5. Увеличение объема сообщения – в некоторых системах объем сообщения увеличивается в результате операции шифрования с целью «потопления статистики», этот нежелательный эффект нужно пытаться минимизировать.

Комбинирование секретных систем

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

Чаще всего используется два способа комбинирования: взвешенная сумма и произведение. 1. Взвешенная сумма Если имеются две секретные системы, которые имеют одно и то же пространство сообщений, то можно образовать взвешенную сумму:

где p – вероятность использования системы Т, q – вероятность использования системы R.

Выбор конкретной системы является частью ключа системы S. Полный ключ должен определять, какая из систем выбрана (T или R) и с каким ключом используется выбранная система, так как любую систему можно записать как сумму фиксированных операций:

где  – определенная операция шифрования в системе Т, соответствующая выбору ключа i, причем вероятность такого выбора равна pi.

Обобщая далее, можно образовать сумму нескольких систем:

2. Произведение

Образование произведения двух секретных систем (Рисунок 8) осуществляется следующим образом:

Рисунок 8. Произведение секретных систем

 

То есть сначала применяется система T, а затем система R к результатам первой операции.

Ключ системы S состоит как из ключа системы T, так и из ключа системы R.

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

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

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

Рисунок 9. Классификация криптосистем

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

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

К алгоритмам блочного шифрования относятся: американский стандарт шифрования DES и его модификации, Казахстанский стандарт шифрования ГОСТ 28147–89, Rijndael, RC6, SAFFER+ и многие другие.

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

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

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

 


Дата добавления: 2019-08-31; просмотров: 186; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!