Методы криптографической защиты информации
Глава 9
ИНФОРМАЦИОННО-КРИПТОГРАФИЧЕСКИЕ
ТЕХНОЛОГИИ
Необходимым условием эффективности электронного документооборота в правовых автоматизированных информационных системах (АИС), в том числе в ГАС РФ «Правосудие», является обеспечение требуемого уровня конфиденциальности и секретности циркулирующей привилегированной информации. В противном случае возможны раскрытие, модификация (с целью дезинформации), случайное или преднамеренное разрушение, а также несанкционированное использование информации, которое может привести к тяжелым последствиям (катастрофическому отказу АИС, принятию деструктивных или необоснованных организационно-правовых решений, нарушению принципа законности и др.).
Все принципиально возможные нарушения конфиденциальности информации можно отнести к трём категориям, таким как незаконная выдача информации, незаконная модификация информации, незаконный отказ в доступе.
Проблема обеспечения конфиденциальности информации в АИС заключается в контроле полномочий субъектов и объектов АИС (пользователей, программно-технических средств и ресурсов АИС), контроле операций по выборке информационных массивов (ИМ), т.е. массивов данных и машинных программ, и посылке данных на хранение, в установлении правил взаимодействий и разграничении доступа.
Существующие информационно-криптографические технологии защиты привилегированной информации от несанкционированного доступа (НСД) и использования (НСИ), применяемые в юридической деятельности, базируются на целесообразном комплексировании специальных формализованных методов, алгоритмов и процедур преобразования (шифрования и кодирования) привилегированной информации, обеспечивающих скрытие её смыслового содержания.
Принципы и показатели эффективности криптографической
Защиты информации
Можно условно выделить три основных исторических периода применения криптографических методов для защиты содержательной привилегированной информации:
прикладная тривиальная криптография (50 г. до н. э. – 50-е гг. XX в.);
симметричная криптография с закрытым (секретным) ключом (50-е гг. XX в. – 70-е гг. XX в.);
асимметричная криптография с открытыми (публичными) ключами (70-е гг. XX в. – н/вр.).
Начало первого периода связано с применением так называемого «шифра Цезаря[1]», суть которого состояла в том, что в зашифрованных сообщениях императора каждая буква X латинского алфавита (26 букв и пробел) заменялась на третью букву справа по формуле шифра (см. табл. 9.1):
Y = (X + 3)mod27,
где mod27 – операция нелинейного (циклического) вычитания по модулю 27 (чтобы буквы в зашифрованном сообщении тоже соответствовали латинскому алфавиту).
Таблица 9.1
Латинская алфавитно-цифровая матрица
A | B | C | D | E | F | G | H | I | J | K | L | M | N |
O | P | Q | R | S | T | U | V | W | X | Y | Z | _ |
Пример. Для передачи условного сообщения с текстом: ”Game is over” в уме выполняются следующие операции побуквенного сложения и вычитания по mod27 (см. таб. 9.2):
Таблица 9.2
Шифрование сообщения по методу Цезаря
G | A | M | E | _ | I | S | _ | O | V | E | R | ||
7+3 | 1+3 | 13+3 | 5+3 | 27+3mod27 | 9+3 | 19+3 | 27+3mod 27 | 15+3 | 22+3 | 5+3 | 18+3 | ||
J | D | P | H | C | L | V | C | R | Y | H | U | ||
В результате получается зашифрованное сообщение, содержащее текст: ”Jdphclvcryhu”,которое расшифровывается в обратном порядке.
В настоящее время криптографическая защита привилегированной информации на основе её шифрования и кодирования исследуется по следующим направлениям [3]:
выбор рациональных (надёжных) систем и методов шифрования;
обоснование путей реализации систем шифрования;
разработка правил использования криптографических методов в процессе функционирования эргасистем;
оценка эффективности криптографической защиты.
Методы защитных преобразований при передаче ИМ (данных) используются уже давно, поэтому требования к ним сформировались практически, основные из них:
· применяемый метод должен быть надёжным (применяемый шифр достаточно «стойким»), т.е. попытка раскрыть исходный ИМ, имея только преобразованный ИМ (ПИМ) должна быть невыполнимой;
· объём ключа не должен затруднять его запоминание и пересылку, т.е. должен быть небольшим;
· алгоритм преобразования ИМ и ключ, используемые для зашифрования (закодирования) и расшифрования (раскодирования), не должны быть очень сложными: затраты на защитные преобразования должны быть приемлемы при заданном уровне конфиденциальности ИМ;
· ошибки в шифровании не должны вызывать потерю информации. Из-за появления ошибок передачи ПИМ по каналам связи не должна исключаться возможность его надёжной расшифровки на приёмном конце;
· длина ПИМ не должна превышать длину исходного ИМ, что обусловлено трудоёмкостью передачи ПИМ по каналам связи;
· необходимые временные и стоимостные ресурсы на шифрование и дешифрование информации определяются требуемым уровнем конфиденциальности информации.
В той или иной степени этим требованиям отвечают некоторые виды криптоалгоритмов:
· перестановки (транспозиционные);
· замены (транскрипционные), в том числе аналитических преобразований;
· гаммирования (аддитивные).
Эти криптоалгоритмы составляют основу методического обеспечения криптографической защиты информации. При этом методы перестановки и замены (подстановки) обычно характеризуются короткой длиной ключа, и их надёжность определяется сложностью алгоритмов преобразования. Для аддитивных методов характерны простые алгоритмы преобразования, а их надёжность основана на увеличении длины ключа.
Стойкость криптоалгоритма (определяемая как величина обратная показателю возможностей его вскрытия статистическим анализом ПИМ) у простых методов преобразования (простая перестановка, простая замена и др.) низка и уже при незначительном объёме ПИМ криптоалгоритм можно вскрыть статистическим путём. Сложные методы преобразования (например, гаммирование при «бесконечной» длине ключа-гаммы) являются достаточно стойкими относительно вскрытия их статистическими методами. Однако, при наличии дополнительной преобразованной информации (например, вариантов одного и того же ИМ в различные моменты времени) и сложные методы преобразования не могут обеспечить в практическом плане абсолютной защиты информации.
Стойкость криптоалгоритмов в общем случае связана с практической вычислительной сложностью их раскрытия и должна по правилу Керкхоффа[2] [5] определяться только секретностью ключа (т.е. сам алгоритм преобразования может быть известен). В качестве выражения для стойкости часто используется среднее количество работы (в единицах времени), необходимой для нахождения ключа на основе n знаков ПИМ при использовании наилучшего из известных методов анализа данного криптоалгоритма.
Можно также использовать уровень стойкости E, определяемый как характеристика усложнения (упрощения) обратных преобразований ПИМ по отношению к прямым или к так называемому порогу U производительности современных ЭВМ, равному приблизительно 108 оп/с, для некоторого временного интервала Т:
E = 10 lg(L/U T) дБ , (9.1)
где L – количество элементарных арифметических операций обратных преобразований, реализующих наилучший известный метод криптоанализа.
В качестве прагматических показателей эффективности криптографической защиты информации на практике используются ожидаемое безопасное время (ОБВ) Tо и вероятность Pо определения пароля-стринга по его отображениям.
Под ОБВ понимается полупроизведение числа возможных паролей и времени, требуемого для того, чтобы опробовать каждый пароль из последовательности запросов:
Tо = Rwt1/2 = (Rw/2)[n/V + (tо + tз )/f + tп], (9.2)
где R – размер (число символов) алфавита A, из которого составляется пароль; t1 – время одной попытки получить доступ (опробования одного пароля); tо – время отключения ЭВМ при вводе неверного пароля; tз – время (дополнительное) искусственной задержки отключения ЭВМ; tп – время печати сообщения об ошибке; n = w + r – значность передаваемого сообщения (включая w символов пароля и r служебных символов) при попытке получить доступ; V – скорость передачи (телеграфирования, если A = <0, 1>) в линии связи; f – число разрешённых попыток.
Вероятность Pw того, что пароль может быть раскрыт посторонним лицом за время T (в месяцах), в течение которого непрерывно предпринимаются попытки открытия пароля с помощью ЭВМ, имеет асимптотический характер (поскольку после неудачной попытки опробованный вариант пароля вычеркивается из списка возможных) и представляется в виде:
Pw {t < T} ³ NT /Rw, (9.3)
где NT – число попыток за время T (месяцев); Rw – число возможных паролей.
Преобразуем правую часть (9.3) при t1 = min:
NT /Rw = (T´30´24´60´60 / Rwt1) = 2,592´106 TV /Rw(w+r). (9.4)
Из (9.3) и (9.4) получим модифицированную формулу Дж. Андерсона[3]:
2,592´106 TV /(w+r)Pw £ Rw. (9.5)
В выражении (9.5) наибольшее влияние (превышающее один порядок) на вероятность Pw раскрытия пароля оказывает величина w. В случае, если {T, V, n = w+r, R} = const, то различная длина w пароля будет давать различную вероятность Pw правильного его отгадывания, поэтому w выбирают с учётом (9.5) при заданной вероятности Pw = Pо (обычно Pо = [0,01;...; 0,000001]) следующим образом:
w ³ [ lg(TV/n) + lg 2,592 + 6 – lg(Pо)]/lgR
или
w ³ [ lg(TV/n) + 6,44 – lg(Pо)]/lgR. (9.6)
Например, процедура ввода оператором в ЭВМ запроса длиной n = 10 смв (символов) включает ввод имени (r символов) и пароля (w символов) со скоростью V = 1 смв/с. Алфавит A, из которого составляются пароли, содержит 32 буквы русского кириллического алфавита (без й) и пробел, т.е. R = 33.
После ввода неверного пароля ЭВМ отключается, процедура отключения занимает время tо = 3 с. Повторный ввод пароля осуществляется после того, когда будет напечатано сообщение об ошибке, время печати tп = 4 с. После трёх попыток (f = 3) введения неправильных (ошибочных) паролей происходит отключение ЭВМ от оператора.
Необходимо выбрать рациональную длину w пароля-стринга так, чтобы вероятность Pw его непрерывного отгадывания в течение одного (T = 1) месяца была не больше 0,01. И требуется оценить степень конфиденциальности информационных массивов (ИМ), содержащихся во внутримашинной информационной базе ЭВМ.
В данном случае R = 33, Pо £ 10–2, поэтому длину w пароля можно определить из модифицированного выражения (9.6):
w ³ 0,66 lg(TV/n) + 5,54.
Для T = 1 мес, V = 1 смв/с, n = 10 смв имеем:
w ³ (– 0,66 + 5,54) или w ³ 4,88.
Отсюда рациональная длина пароля-стринга w* = 5 смв.
Тогда ОБВ будет равно:
T = Rwt1/2 = (Rw/2)(n/V + tп + tо/f) = (335/2)(10/1 + 4 + 3/3) » 2,9´108 c »
» 10 лет.
Если, кроме того, после каждой неудачной попытки автоматически предусматривается пятнадцатисекундная задержка (tз = 15 c), то Tо возрастает в 1,3 раза (tо/f = (3 + 15)/3 = 6).
С целью обеспечения защиты информации и самого пароля (при вводе в ЭВМ) увеличивают R, w, tз и вводят блокировку терминала после нескольких (обычно f = 2 или 3) неудачных попыток доступа.
Необходимо также обеспечивать безопасность паролей при хранении и распределении. Как правило, в памяти ЭВМ хранятся эталонные пароли, полученные по алгоритмам «необратимых» (плохообратимых) преобразований [3] из исходных паролей абонентов. В данных алгоритмах можно использовать, в частности, полиномиальное «необратимое» представление на основе применения семейства полиномов :
Y(C, X) = (Xn + C1Xn – 1 + ... + Cn – 1X + Cn)mod R, (9.7)
где X – исходный пароль в явной форме; C , i = 1,…,n – любые произвольные целые числа (выбираются разработчиками криптоалгоритмов, операторами, пользователями и др.); R – сравнительно большая величина (например, примерно 264); mod – оператор вычитания по правилу модуля (R), обеспечивающий необратимость отображения; Y – эталонный (преобразованный) пароль.
После успешной аутентификации субъекта необходимо также установить его полномочия по отношению к элементам данных (файлу, записи, полю и др.). При этом анализируются права субъекта и терминала на доступ, требуемые действия, сами элементы данных и их значения, порядок использования элементов данных, состояние базы данных и знаний АИС, регламент (время) их использования и др. Для обеспечения процедуры установления полномочий часто применяют так называемую матрицу установления полномочий (МУП), в которой каждый элемент dij определяет права доступа i-го объекта АИС к j-му ресурсу. Элементы dij могут представлять собой строку битов или указатели на специализированные процедуры анализа попыток доступа.
Например, строки битов могут означать (табл. 9.3):
0000 – запрет всех видов доступа;
0001 – право считывать элементы данных;
0010 – право дополнять (присоединять) элементы данных;
0011 – право считывать и дополнять элементы данных;
0100 – право исполнять (если элемент данных - процедура);
0101 – право считывать и исполнять элементы данных;
0110 – право дополнять и исполнять элементы данных;
0111 – право считывать, дополнять и исполнять;
1000 – право заменять (удалять) элементы данных;
1111 – право считывать, дополнять, исполнять и заменять.
МУП, как правило, хранится в специальной внешней памяти ЭВМ как отдельный файл в преобразованном виде.
Таблица 9.3
Вариант простой матрицы установления полномочий субъектов
Место расположения терминала | Элементы данных | ||||
Имя объекта | Учётный номер | Каталог файлов | Файлы объекта | Ключи к файлам | |
Отдел кадров | |||||
Бухгалтерия | |||||
Деканат ОЮФ | |||||
Деканат ЗЮФ | |||||
Деканат ФНО |
Используются и более сложные варианты МУП, в которых учитываются категории конфиденциальности ИМ (например, основанные на иерархической классификации данных [1, 2]).
Комбинированные алгоритмы преобразования, используемые в реальных эргасистемах, как правило, унифицируют и стандартизируют с целью обеспечения необходимой степени защиты ИМ во всех возможных подсистемах и комплексах. К стандартизированным алгоритмам преобразования информации предъявляются следующие основные требования:
высокий уровень защиты ИМ от НСД и необнаруженной модификации;
простота для понимания, но наличие достаточной степени сложности, делающей его раскрытие более дорогостоящим, чем получаемый при этом выигрыш;
независимость ни от какой «конфиденциальности» алгоритма, а зависимость только от ключа преобразования;
экономичность в реализации и эффективность в действии;
приспосабливаемость для выполнения обратных преобразований;
доступность всем субъектам-операторам.
Методы криптографической защиты информации
Методы перестановки. Суть методов перестановки заключается в том, что символы преобразуемого ИМ переставляются по определённому правилу в пределах некоторого блока m, на которые делят исходный ИМ. Перестановки получаются в результате записи исходного ИМ-оригинала Mо и чтения финального – преобразованного ИМ (ПИМ) Mf по разным путям геометрической фигуры.
Простейший алгоритм перестановки состоит в следующем:
Шаг 1. Последовательная (задаваемая тайным ключом K1) запись информационного блока ml Î Mо, l = 1,2,... исходного ИМ по строкам матрицы Tk перестановки размера [i ´ j], i ³ 2, j > 1.
(Например, матрица Tk размера [6´4] (рис. 9.1), K1 = < 6, 5, 3, 1, 4, 2 >,
Mо = m1 = <АВТОМАТИЗАЦИЯ_УПРАВЛЕНИЯ>).
Шаг 2. Формирование ПИМ Mf путём последовательного (задаваемого тайным ключом K2) считывания по столбцам содержимого матрицы Tk, осуществляя, тем самым, операцию преобразования:
F(K1, K2 ): Mо Mf .
(K2 = <2, 4, 3, 1>,
Mf = <ВА_НААТТУИЦВАМЯЕЗРОИПЯИЛ>).
Шаг 3. Формирование выходного ПИМ Mg, передаваемого по линиям связи, путём разделения ПИМ Mf на g-значные группы с добавлением произвольных (*) символов на незаполненных позициях последней группы.
(g = 5,
Mg = <*ВА_Н_ААТТУ_ИЦВАМ_ЯЕЗРО_ИПЯИЛ>).
Для небольших матриц Tk, например, размера [8´8] (длина блока m = 64 смв) возможно более (8! ´ 8!) » 1,6´109 ключей, что позволяет на современных ЭВМ путём простого перебора расшифровать заданный ИМ в пределах одного часа. Для матриц Tk размера [16´16] (длина блока m = 256 смв) имеется (16! ´ 16!) » 1,4´1026 ключей и перебор их с помощью современных вычислительных средств практически неосуществим. Выбирая длину блока и усложняя порядок перестановки можно достигнуть достаточной для реальных АИС стойкости преобразования.
Mо Mо
Tk [6´4] Tk– 1[6´4]
А | В | Т | О | Р | А | В | Л | |||||
М | А | Т | И | З | А | Ц | И | |||||
Я | _ | У | П | Е | Н | И | Я | |||||
Е | Н | И | Я | Я | _ | У | П | |||||
З | А | Ц | И | М | А | Т | И | |||||
Р | А | В | Л | А | В | Т | О |
K1 K1’
4 | K2’ | 3 |
K2
Mf Mg Mf
Перехват
Рис. 9.1. Прямые и обратные криптопреобразования информации
методом перестановки информационных символов
Известный алгоритм усложнённой перестановки использует перестановки по «маршрутам Гамильтона[4]» Y-элементной таблицы-схемы Tk и состоит в следующем:
Шаг 1. Последовательная запись исходного Mо в таблицу Tk перестановки согласно нумерации её элементов. Если длина шифруемого ИМ Mо не кратна числу элементов Tk, то при последнем заполнении в свободные элементы заносится произвольный символ (знак).
( Например, Y = 8 (рис. 9.2, табл. 9.4),
Mо = <АВТОМАТИЗАЦИЯ_УПРАВЛЕНИЯ>,
1-я запись m1 = <ЯИНЕЛВАР>,
2-я запись m2 = <ПУ_ЯИЦАЗ>,
3-я запись m3 = <ИТАМОТВА>).
5 6
1 2
3 4
7 8
Рис. 9.2. Пример 8-элементной таблицы Гамильтона
(обозначен маршрут № 1)
Таблица 9.4
Маршруты в таблице Гамильтона
Номер | Последовательность вершин таблицы | |||||||
Шаг 2. Формирование ПИМ Mf путём выборки из таблицы Tk (после каждого её заполнения) символов шифруемого ИМ Mо по своему маршруту, при этом очерёдность маршрутов задаётся тайным ключом K*.
(K* = <4, 3, 5, 6, 2, 7, 8, 1, 14, 13, 15, 9, 16, 11, 12, 18, 17, 10>,
1-я выборка m1 = <ЯНЕИВРАЛ >,
2-я выборка m2 = <ПУЦИАЗЯ_>,
3-я выборка m3 = <ИОВАМТТА>,
Mf = <ИОВАМТТАПУЦИАЗЯ_ЯНЕИВРАЛ>).
Шаг 3. Формирование выходного ПИМ Mg, передаваемого по линиям связи, путём разделения ПИМ Mf на g-значные группы с добавлением произвольных (*) символов на незаполненных позициях последней группы.
( g = 5, Mg = <*ИОВА_МТТАП_УЦИАЗ_Я_ЯНЕ_ИВРАЛ>).
Достоинства алгоритмов перестановки в простоте и возможности программной реализации.
Недостатками являются:
- низкая стойкость (при большой длине исходного ИМ в ПИМ Mf проявляются статистические закономерности ключа, что позволяет его легко раскрыть);
- низкая защищённость от тестирования (если длина блока в исходном ИМ равна N символам, то для раскрытия ключа достаточно пропустить через матрицу перестановки (N – 1) блоков специального тестового ИМ, в которых все символы, кроме одного, одинаковы).
Методы замены (подстановки) основаны на том, что символы исходного ИМ (блока), записанные в одном алфавите, заменяются на символы другого алфавита в соответствии с принятым ключом K преобразования:
K: Soi Sfi , i = 1,…,I ; Sоi Î Mо(Aо), Sfi Î Mf(Af). (9.8)
Различают прямую (моноалфавитную, монофоническую и др.) и рассчитываемую аналитически (полиалфавитную, многоконтурную и др.) подстановки.
В моноалфавитных подстановках устанавливается взаимооднозначное соответствие между каждым символом (знаком) Sfi алфавита сообщений (кортежа замен) Af и соответствующим символом (знаком) Sоi ИМ, представленным в исходном алфавите Aо (табл. 9.5).
Все алгоритмы прямой моноалфавитной замены содержат числовые преобразования символов и знаков исходного ИМ, рассматриваемых как числа, и заключаются в следующем:
Шаг 1. Формирование числового кортежа Moh, F: Mо Moh путём замены каждого символа (знака) Sоi Î Mо , i = 1,…,I , представленного в исходном алфавите Aо размера [1´Rо], на соответствующее число h(Sоi).
( Например, R = 33,
Aо = <АБВГДЕёЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ_>,
Mo = <АВТОМАТИЗАЦИЯ_УПРАВЛЕНИЯ>,
Moh = <1, 3, 19, 15, 13, 1, 19, 10, 7, 1, 23, 10, 32, 33, 20, 16, 17, 1, 3, 12, 6, 14, 10, 32 >).
Шаг 2. Формирование эквивалентного числового кортежа Mfh путём последовательной замены каждого числа hoi кортежа Moh на эквивалентное число hfi, i = 1,…,I кортежа Mfh по уравнению:
hfi = [ k1 hоi(Sоi) + k2 ] mod Ro , (9.9)
где k1 – десятичный коэффициент; k2 – коэффициент сдвига; mod – оператор вычитания по правилу модуля (Ro).
(k1 = 5, k2 = 10,
Mfh = <15, 25, 6, 19, 9, 15, 6, 27, 22, 15, 26, 27, 5, 10, 11, 24, 29, 15, 25, 4, 7, 14, 27, 5>).
Таблица 9.5
Вариант сопоставления двух алфавитов (таблица замены)
Ао | Аf | ||
А | О | ||
Б | У | ||
В | Ш | ||
Г | Э | ||
Д | Б | ||
Е | Ё | ||
Ё | Л | ||
Ж | Р | ||
З | Х | ||
И | Ь | ||
К | Я | ||
Л | Г | ||
М | З | ||
Н | Н | ||
О | Т | ||
П | Ч | ||
Р | Ъ | ||
С | А | ||
Т | Е | ||
У | К | ||
Ф | П | ||
Х | Ф | ||
Ц | Щ | ||
Ч | Ю | ||
Ш | В | ||
Щ | Ж | ||
Ь | М | ||
Ы | С | ||
Ъ | Ц | ||
Э | Ы | ||
Ю | (пробел) | ||
Я | Д | ||
(пробел) | И |
Шаг 3. Формирование ПИМ Mf, путём замены каждого числа hfi(Sfi) кортежа Mfh соответствующим символом Sfi Î Mf, i = 1,…,I, алфавита сообщений (шифровального алфавита или кортежа замен) Af размера [1´Rf], Rf = Ro.
(Af = <ОУЩЭБЗЛРХЬЯГёНТУЪАЖКПФШЮВЕМСЦЫ_ДИ>,
Mf = <ОЩЖТёОЖЬХОШЬДИКЧЪОЩГЗНЬД>).
Шаг 4. Формирование выходного ПИМ Mg путём разделения ПИМ Mf на g-значные группы с добавлением произвольных (*) символов SfjÎ Af, j = 1,…,J на незаполненных позициях последней группы.
(g = 5,
Mg = <ОЩЖТЁ_ОЖЬХО_ШЬДИК_ЧЪОЩГ_ЗНЬД*>).
Таким образом, при преобразовании производится замена исходных символов ИМ Mо на их эквивалент из кортежа замен Af, смещённый от начала исходного алфавита Aо на величину k = k(k1, k2 ). При k1 = 1, k2 = 3 и R = 27 (латинский алфавит с пробелом) уравнение (9.9) превращается в известное уравнение алгоритма моноалфавитной подстановки Юлия Цезаря («шифр Цезаря»).
При обратном преобразовании поиск производится в кортеже замен Af, а эквивалент выбирается из Ao . Однако, ПИМ имеет сравнительно низкий уровень защиты, так как исходный и преобразованный ИМ имеют одинаковые статистические характеристики, что позволяет осуществить (с помощью ЭВМ) частотный анализ встречаемости букв и их сочетаний (пар букв и др.).
Большинство искусственных и все естественные языки имеют характерное частотное распределение букв и других знаков [4]. Например, для русского языка наиболее часто «встречаются» буквы (в порядке убывания) о, е(ё), а, и, н; наименее часто – ф, щ, э; для английского языка – е, t, o, a, n и z, q, j, соответственно.
ИМ, зашифрованные методами перестановки или одноалфавитной подстановки, сохраняют характерное частотное распределение, а это даёт криптоаналитику путь к раскрытию шифра, на основе использования так называемого коэффициента соответствия b в качестве оценки суммы (Si pi2, i = 1,…,R) квадратов вероятностей каждой буквы:
b = [1/N(N – 1)] Si fi(fi– 1), i = 1,…,R (9.10)
где fi – общее число встречаемости i-й буквы в ПИМ; N – количество букв в ПИМ-криптограмме (шифрограмме).
Например, для английского языка теоретически ожидаемое значение b определяется следующим выражением [4]:
b = [1/l(N – 1)] [0,066(N – l) + 0,038(l – 1)N ], (9.11)
где l – число алфавитов.
Тогда с учётом (9.11) при перехвате ПИМ значительного объёма (N >> R) уже по значению b можно предположить, что если:
- b > 0,066 – использовалась одноалфавитная подстановка;
- 0,052 < b < 0,066 – использовалась двухалфавитная подстановка (и т.д. до b = 1/26 = 0,038);
- b < 0,038 – использовалась полиалфавитная подстановка с l ³ 10.
Простая полиалфавитная подстановка (на основе матрицы Tv Вижинера[5]) последовательно и циклически меняет используемые алфавиты. При N-алфавитной подстановке символ (знак) So1 из исходного алфавита Aо заменяется символом (знаком) Sf1 из алфавита Af1 , So2 – соответствующим Sf2 из алфавита Af2 ,..., SoN – SfN из AfN , So(N+1) – снова Sf1 из алфавита Af1 и т.д. При этом обеспечивается маскировка естественной частотной статистики исходного языка Aо, так как конкретный символ (знак) Soi Î Ao может быть преобразован в несколько различных символов (знаков) шифровальных алфавитов Afj, j = 1,…,N .
С другой стороны, различные символы (знаки) исходного алфавита могут быть заменены одинаковыми символами (знаками) шифровальных алфавитов. Степень обеспечиваемой защиты теоретически пропорциональна длине периода (N) в последовательности используемых алфавитов.
Алгоритм N-алфавитной замены (подстановки) реализуется следующим образом:
Шаг 1. Формирование матрицы Tv Вижинера размера [R´R] циклическим сдвигом строк на одну позицию влево, начиная со строки алфавита Ao.
(Например, R = 33,
Ao =<АБВГД ... ЭЮЯ_>,
A | Б | В | … | Ю | Я | _ |
Б | В | Г | … | Я | _ | А |
В | Г | Д | … | _ | А | Б |
… | … | … | … | … | … | … |
… | … | … | … | … | … | … |
… | … | … | … | … | … | … |
_ | A | Б | … | Э | Ю | Я |
Tv[33´33] =
Шаг 2. Формирование матрицы Tk = KTv замены размера [(N+1)´R], где K – индикаторная матрица-ключ размера [(N+1)´R], соответствующая символьному (буквенному) ключу K = <Srn>, r Î R, n = 1,…,N и содержащая в каждой строке единицу на позиции с номером, равным номеру r-го символа ключа K в алфавите Ao, а также в дополнительной строке.
(K = <АСУ>, r =(1, 18, 20), N = 3, R =33,
… | … | |||||||
… | … | |||||||
… | … | |||||||
… | … |
K[4´33] =
A | Б | В | … | Ю | Я | _ |
C | Т | У | … | О | П | Р |
У | Ф | Ц | … | Р | С | Т |
_ | A | Б | … | Э | Ю | Я |
Tk[4´33] = KTv =