Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3345

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
4.34 Mб
Скачать

В связи с этим секретная система включает в себя два статистических выбора: выбор сообщения и выбор ключа. Количество

информации,

создаваемое при выборе сообщения имеет вид

H( M )

P( M )log P( M ).

M

Аналогично неопределенность, связанная с выбором ключа определяется H( K ) P( K )log P( K ) , где Р(М), Р(К) – ап-

K

риорные вероятности выбора сообщения и ключа соответственно. Соотношение величин неопределенностей Н(М) и Н(К) опре-

деляется из следующего правила: величина неопределенности сообщения не может быть больше величины неопределенности ключа, то есть Н(М) ≤ Н(К).

Секретная система с точки зрения шифровальщика противника, допускающего ошибки при дешифровании (получается не единственное «достоверное расшифрование», а несколько), напоминает канал связи с шумами. Примечание: есть существенная «натяжка»: шумы – явление природное, а выбор ключей – выбор разумного субъекта. что является «большой разницей». (см. фон Неймана и О.Моргенштерн, с. 37, абзац 4 снизу). Там принятие сообщения, искаженного шумом, тоже приводит к ошибкам. Для количественного оценивания степени ошибочности расшифрованного сообщения вводят величину ненадежности. Чем эта величина больше, тем хуже шифровальщику противника, но тем лучше владельцу секретной системы. Поэтому целесообразно использовать ненадежность в качестве теоретической меры секретности.

Имеются две основные ненадежности: ненадежность ключа НЕ(К) и ненадежность сообщения НЕ(М). Их величины определяются соотношениями

H E ( K ) P( E,K )log PE ( K )

E ,K

H E ( M ) P( E,M )log PE ( M ) ,

E ,M

где Е, М, К – криптограмма, сообщение и ключ;

71

Р(Е,К) – вероятность ключа К и криптограммы Е; РЕ(К) – апостериорная вероятность ключа К, если перехваче-

на криптограмма Е; Р(Е,М) и РЕ(М) – аналогичные вероятности для сообщения.

Суммирование НЕ(К) проводится по всем возможным криптограммам определенной длины (скажем, N) и по всем возможным ключам. Аналогично и для НЕ(М), но по сообщениям и криптограммам. Таким образом, НЕ(К) и НЕ(М) являются функциями от N

– числа перехваченных букв, они уменьшаются при увеличении N, и поэтому обозначаются так НЕ(К,N) НЕ(М,N). При этом «скорость» ненадежности, то есть изменение ее величины, приходящееся на одну букву из N, определяемое отношениями H E K ,N N и H E М ,N N , не вычисляется.

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

2.4.4. Кодовые системы. Кодирование и декодирование информации для поддержания секретности называется криптологией. Однако имеется много кодов, где секретность не представляет интереса, например код ASCII. Поэтому мы кратко рассмотрим коды, предназначенные для защиты информации от искажения и от несанкционированных получателей.

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

72

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

В 1950 г. Хэммингом был разработан код, способный обнаруживать и исправлять одну ошибку. Идея состоит в том, что к информационным цифрам (в двоичном коде) кодового слова добавляется r проверочных цифр и передается весь блок n=k+r цифр. Предполагается, что канал изменит относительно немного из этих n передаваемых цифр, так что пользователь на основе r проверочных цифр будет иметь достаточно информации, чтобы обнаружить и исправить ошибки канала. То есть надежность передачи улучшается за счет введения избыточности, однако существенны и определенные правила выбора этих r цифр. Они следующие.

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

сi=║10100110║ сj=║01101010║

x x

x x

то есть кодовое расстояние Хэмминга d(ci,cj) = 4. Это расстояние тесно связано с вероятностью ошибки при передаче сообщений. Действительно, пусть передано слово сi, которое принято как сло-

 

 

p qn

, где р – вероятность

во сj, и d(ci,cj) = δ. Тогда P c

c

j

i

 

 

 

ошибки в канале, а q = 1-p, то есть вероятность безошибочного приема.

При этом расстояние Хэмминга можно вычислить, просуммировав кодовые комбинации по mod2 и подсчитав число единиц в сумме.

Ошибки в кодовых комбинациях имеют кратность: одиночная

– ошибка в каком-либо одном знаке n-значной кодовой комбина-

73

ции; двукратная – ошибка в двух знаках и так далее, что соответствует расстоянию Хэмминга 1 и 2 соответственно.

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

d dc + dq + 1.

При этом обнаружение ошибок проводится проверкой на четность: все разрешенные комбинации имеют четное число единиц (ибо применяют только такие), а все пораженные одиночной ошибкой – нечетное. Технически это осуществляется суммированием цифр кодовых комбинаций по mod2. Сумма равна нулю, когда число единиц четно, и единице – в противном случае. При этом коды Хэмминга с расстоянием d = 3 исправляют все одиночные ошибки, а с d 4 исправляют одиночные и обнаруживают двойные. Метод декодирования – проверка на четность. Число проверок равно числу проверочных символов, то есть r=n-k.

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

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

74

основой теории корректирующих кодов является линейная алгебра.

2.4.4.2. Криптография – общие понятия.

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

Первая из перечисленных опасностей – это проблема криптографии и ей занимается ФАПСИ. Защита от перехватчика, преследующего две последние цели, выдвинулась недавно, касается нас и включает в себя установление полномочий (УП) и обеспечение сохранности (ОС). Проблема УП возникает в процедуре входа в многопользовательских компьютерных системах, а проблема ОС возникает при электронной передаче фондов. Подлинность нарушается, когда сообщение С’ составлено перехватчиком (выдать деньги

– Ю.Б.), а получатель убежден, что оно пришло от отправителя С; сохранность нарушается, когда М М’ и ни отправитель, ни получатель не могут обнаружить изменения сообщения С.

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

75

отправитель

М

 

С

 

К

К.Св

перехватчик

получатель

М'

 

С'

 

D

Рис. 2.2. Структурная схема криптосистемы

При этом криптосистема или шифр состоит в преобразовании сообщения М, называемого открытым текстом, с помощью шифровальной схемы таким образом, что только законный получатель может обратить это преобразование и восстановить сообщение М. Шифросхема работает не только с сообщением М, но и с ключом К. Функция шифрования Е определяется алгоритмом, и результат процесса шифрования Е(К,М) = С называется шифрованным текстом или криптограммой. Текст С передается по незащищенному каналу, где перехватчик может рассмотреть его, запомнить, работать с ним и, наконец, заменить на С’. Дешифратор, или схема дешифровки, использует алгоритм расшифровки D, который берет в качестве аргументов полученный шифрованный текст С’ (сомнительной подлинности) и ключ для дешифровки К’. Ключ и шифрованный текст должны определять открытый текст однозначно. При этом К,М не обязательно совпадают с К’, М’, где М’=D(K’, C’), хотя в классической криптографии К>К’. Системы, где К=К’ называют системами единого ключа или симметричными криптосистемами, чтобы отличить их от более новых систем открытого ключа, или асимметричных криптосистем, где К К’.

Коды и шифры – единственные две возможности для процесса шифровки/дешифровки. Использование кодов для шифрования сообщений означает замену некоторых или всех слов и фраз кодо-

76

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

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

2.4.4.2.1. Симметричные криптосистемы (единого ключа).

В классической криптографии имеются два основных преобразования открытого текста сообщения и их комбинации:

1.Транспозиция или перестановка символов в соответствии с некоторым правилом, не меняя их (например, передача текста «задом наперед»).

2.Подстановка замещает символы открытого текста соответствующими символами из алфавита шифрованного текста (Мейверс, Лейпцигское издание у Штирлица).

3.Комбинация подстановка/перестановка.

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

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

Если А и В алфавиты открытого и шифрованного текстов, то ключом называется взаимнооднозначное отображение f:A B.

77

Ключ бывает фиксированным или переменным (в пределах алфавита А).

Одноалфавитные перестановки, использующие один ключ, очень легко взломать, наблюдая частоту распределения символов в шифрованном тексте и сравнивая их с частотой использования букв в том или ином языке (в английском языке буква «е» имеет частоту 13 %). Был предложен код Виженера (16 век), скрывающий частоты букв использованием многоалфавитного шифра кратных подстановок. Этот шифр был взломан только в 1863 г. прусским офицером Ф. Касинским, который нашел теоретикочисловой метод поиска ключа.

Наиболее значительное улучшение шифра Виженера было предложено в 1918 г. американцем Вернамом из фирмы АТТ. Он предложил к сообщению, передаваемому двоичным кодом, прибавлять по mod2 последовательность точек и пробелов (1 и 0) так, чтобы вся частотная информация, корреляция между символами, периодичность и др. терялись.

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

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

Возможность дешифровки принципиально зависит от того, чем пользуется противник. Возможны три случая: 1) анализ только шифрованного текста. При такой атаке на систему противник имеет доступ только к перехваченному шифртексту; 2) анализ известного открытого текста. Теперь противник имеет несколько пар «открытый текст – шифрованный текст», с которыми он может работать; 3) анализ выбранного открытого текста. Противник может

78

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

2.4.4.2.2.Асимметричные криптосистемы (открытого ключа) Понятие такой системы было введено в 1976 г. Диффри и

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

Функция f называется односторонней, если она обратима и ее легко вычислить, но определить f -1, исходя из полного описания функции f, вычислительными средствами невозможно. Функция f называется односторонней ловушкой, если f -1 легко вычисляется при наличии информации о ловушке (а именно секретного ключа дешифровки) и если без этой информации функция f односторонняя. Более просто это можно пояснить так: имеется два больших (требующих более сотни десятичных цифр для своей записи) простых числа Р1 и Р2. Найти их произведение П = Р1 Р2 не составляет большого труда. А вот решить обратную задачу - по известному П найти его составляющие – практически невозможно! Попробуйте. При этом с величиной П связывают открытый ключ, а с Р1 или Р2 – закрытый. (Л.Федичкин, ФТИ РАН). Однако, в ближайшее время появляются квантовые компьютеры, которые эту задачу решают быстро. Вот тогда всем «открытым» шифровальщикам будет не «по себе», ибо у «перехватчиков»накоплено большое количество нерасшифрованных сообщений.

Первая криптосистема открытого ключа базировалась на NP- задаче рюкзака или подмножеств, которая может быть сформулирована следующим образом: даны число N и k чисел {n1, n2, …nk};

79

найти подмножество в {n1, n2, …nk}, сумма которого равна N, если такое подмножество существует. Желаю удачи!

2.5.Модель представления и измерения информации на интеллектуальном уровне

Интеллектуальную сущность информации обеспечивает ее знаковое представление, содержание которого изложено во второй лекции. Поэтому перед нами сейчас стоит задача установить связь между результатом измерения свойств объекта – источника информации на физическом уровне и самым низким (младшим) знаком интеллектуального представления - признаком. То есть стоит задача преобразования «результат измерения свойств объекта - признак объекта», а «покруче» - физическую величину в интеллектуальную! Примечание. Учитывая иерархическую связь знаковых систем далее признак преобразуется в более сложные (мощные) знаки: образ, слово, буква, символ.

При этом функция преобразования пространства измерений в пространство признаков может быть линейной и нелинейной. При линейном преобразовании реальность отображается в двузначный признак (то есть «один к одному»), а при нелинейном - в признак представителя множества объектов.

При этом двузначный признак можно назвать логическим (булевским) или качественным, а признак представителя множества объектов – количественным.

Качественный признак имеет два значения: «принадлежит» (объекту), или «1»; «не принадлежит» (объекту), или «0». Так как мы рассматриваем (выявляем) признаки, которые всегда принадлежат объекту, то далее качественные признаки не рассматриваются. Количественный же признак имеет столько значений, сколько объектов он представляет (замещает). Тем самым он обеспечивает знаковое («меточное») замещение реальности по принципу не «один к одному», а «один к многим». Из-за этого признак как знак обеспечивает сокращение (сжатие) размерности обозначаемой реальности, реализуя объединяющий (прикрывающий) эффект.

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]