Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП-ИТЮД- гл. 9.doc
Скачиваний:
5
Добавлен:
29.08.2019
Размер:
371.71 Кб
Скачать

Перехват

Рис. 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

Маршруты в таблице Гамильтона

Номер

Последовательность вершин таблицы

1

1

3

4

2

6

8

7

5

2

1

2

6

5

7

8

4

3

3

1

5

7

3

4

2

6

8

4

1

2

4

3

7

5

6

8

5

1

2

4

8

6

5

7

3

6

1

2

6

5

7

3

4

8

7

1

2

6

8

4

3

7

5

8

1

3

4

2

6

5

7

8

9

1

3

7

8

4

2

6

5

10

1

5

7

8

6

2

4

3

11

1

5

6

2

4

3

7

8

12

1

5

6

8

7

3

4

2

13

1

3

7

5

6

2

4

8

14

1

3

4

8

7

5

6

2

15

1

3

7

5

6

8

4

2

16

1

5

6

2

4

8

7

3

17

1

5

7

3

4

8

6

2

18

1

2

4

3

7

8

6

5

Шаг 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

А

1

15

О

Б

2

20

У

В

3

25

Ш

Г

4

30

Э

Д

5

2

Б

Е

6

7

Ё

Ё

7

12

Л

Ж

8

17

Р

З

9

22

Х

И

10

27

Ь

К

11

32

Я

Л

12

4

Г

М

13

9

З

Н

14

14

Н

О

15

19

Т

П

16

24

Ч

Р

17

29

Ъ

С

18

1

А

Т

19

6

Е

У

20

11

К

Ф

21

16

П

Х

22

21

Ф

Ц

23

26

Щ

Ч

24

31

Ю

Ш

25

3

В

Щ

26

8

Ж

Ь

27

13

М

Ы

28

18

С

Ъ

29

23

Ц

Э

30

28

Ы

Ю

31

33

(пробел)

Я

32

5

Д

(пробел)

33

10

И

Шаг 3. Формирование ПИМ Mf, путём замены каждого числа hfi(Sfi) кортежа Mfh соответствующим символом SfiMf, 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, соответственно.

ИМ, зашифрованные методами перестановки или одноалфавитной подстановки, сохраняют характерное частотное распределение, а это даёт криптоаналитику путь к раскрытию шифра, на основе использования так называемого коэффициента соответствия в качестве оценки суммы (i pi2, i = 1,…,R) квадратов вероятностей каждой буквы:

 = [1/N(N – 1)] i fi(fi– 1), i = 1,…,R (9.10)

где fi – общее число встречаемости i-й буквы в ПИМ; N – количество букв в ПИМ-криптограмме (шифрограмме).

Например, для английского языка теоретически ожидаемое значение определяется следующим выражением [4]:

 = [1/l(N – 1)] [0,066(N – l) + 0,038(l – 1)N ], (9.11)

где l – число алфавитов.

Тогда с учётом (9.11) при перехвате ПИМ значительного объёма (N  R) уже по значению можно предположить, что если:

- > 0,066 – использовалась одноалфавитная подстановка;

- 0,052 < < 0,066 – использовалась двухалфавитная подстановка (и т.д. до = 1/26 = 0,038);

- < 0,038 – использовалась полиалфавитная подстановка с l  10.

Простая полиалфавитная подстановка (на основе матрицы Tv Вижинера5) последовательно и циклически меняет используемые алфавиты. При N-алфавитной подстановке символ (знак) So1 из исходного алфавита Aо заменяется символом (знаком) Sf1 из алфавита Af1 , So2 – соответствующим Sf2 из алфавита Af2 ,..., SoNSfN из AfN , So(N+1) – снова Sf1 из алфавита Af1 и т.д. При этом обеспечивается маскировка естественной частотной статистики исходного языка Aо, так как конкретный символ (знак) SoiAo может быть преобразован в несколько различных символов (знаков) шифровальных алфавитов Afj, j = 1,…,N .

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

Алгоритм N-алфавитной замены (подстановки) реализуется следующим образом:

Шаг 1. Формирование матрицы Tv Вижинера размера [RR] циклическим сдвигом строк на одну позицию влево, начиная со строки алфавита Ao.

(Например, R = 33,

Ao =<АБВГД ... ЭЮЯ_>,

A

Б

В

Ю

Я

_

Б

В

Г

Я

_

А

В

Г

Д

_

А

Б

_

A

Б

Э

Ю

Я


Tv[3333] =

Шаг 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,

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1


K[433] =

A

Б

В

Ю

Я

_

C

Т

У

О

П

Р

У

Ф

Ц

Р

С

Т

_

A

Б

Э

Ю

Я


Tk[433] = KTv =

Шаг 3. Попарное последовательное объединение символов исходного Mo ИМ с символами, повторяющими ключ K требуемое число раз с последующим преобразованием: символы Mo заменяются по Tk символами, расположенными на пересечении линий, соединяющих символы дополнительной (у нас последней) строки матрицы Tk и символы ключа K, находящиеся над ним.

(Mo = <АВТОМАТИЗАЦИЯ_УПРАВЛЕНИЯ>,

операция преобразования – сложение по mod 33 (табл. 9.6),

Mf = <БУЖПЮФУЫЬБЕЭ_СЗРБФГЭЫОЫТ>).

Таблица 9.6

Преобразование информации путём простого дополнения

в алгоритме трёхалфавитной замены

ИМ Mо

Ключ K

Операция преобразования

(сложение по mod33)

ПИМ Mf

А

А

1 + 1 mod33 = 2

Б

В

С

2 + 18 mod33 = 20

У

Т

У

19 + 20 mod33 = 6

Ж

О

А

15 + 1 mod33 = 16

П

М

С

13 + 18 mod33 = 31

Ю

А

У

1 + 20 mod33 = 21

Ф

Т

А

19 + 1 mod33 = 20

У

И

С

10 + 18 mod33 = 28

Ы

З

У

7 + 20 mod33 = 27

Ь

А

А

1 + 1 mod33 = 2

Б

Ц

С

23 + 18 mod33 = 8

Е

И

У

10 + 20 mod33 = 30

Э

Я

А

32 + 1 mod33 = 0

_

_

С

0 + 18 mod33 = 18

С

У

У

20 + 20 mod33 = 7

З

П

А

16 + 1 mod33 = 17

Р

Р

С

17 + 18 mod33 = 2

Б

А

У

1 + 20 mod33 = 21

Ф

В

А

3 + 1 mod33 = 4

Г

Л

С

12 + 18 mod33 = 30

Э

Е

У

8 + 20 mod33 = 28

Ы

Н

А

14 + 1 mod33 = 15

О

И

С

10 + 18 mod33 = 28

Ы

Я

У

32 + 20 mod33 = 19

Т

Шаг 4. Формирование выходного ПИМ Mg путём разделения ПИМ Mf на g-значные группы с добавлением произвольных (*) символов Srj Ao , r R, j = 1,...,J на незаполненных позициях последней группы.

(g = 5,

Mg = <БУЖПЮ_ФУЫЬБ_ЕЭ_СЗ_РБФГЭ_ЫОЫТ*>).

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

во всех (кроме последней) строках Tv символы (знаки) расположить в произвольном порядке;

выбрать десять (не считая последней) строк, пронумерованных от 0 до 9;

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

e = 2,7182818285...,  = 3,14159265... или др.).

Алгоритм многоконтурной полиалфавитной подстановки использует L наборов алфавитов, применяемых циклически с периодами Nl, l = 1,…,L. При этом преобразованный символ Sfj Mf , j = 1,…,J формируется из уравнения:

Sfj = Soj1, j mod N12, j mod N2... L, j mod N L, j = 1,…,J (9.12)

где Soj – символ (знак) исходного ИМ Mо;  – знак некоторой обратимой операции; l, l = 1,…,L – набор алфавитов (ключ полиалфавитного преобразования).

Надёжность данного алгоритма значительно выше, чем алгоритма простой полиалфавитной подстановки.

Алгоритмы монофонической полиалфавитной замены позволяют уравнивать частоту появления преобразованных символов и знаков и таким образом защищать ПИМ от раскрытия с помощью частотного анализа. Для знаков, встречающихся часто требуется относительно большое количество преобразованных эквивалентов, а для нечасто используемых исходных знаков – один, два [4].

Методы аналитических преобразований. Часто в алгоритмах замены, обеспечивающих надёжное преобразования ИМ, используются аналитические преобразования информации по некоторой формуле (аналитическому правилу). Например, по правилу умножения матрицы {tij} на вектор {zi}:

t 11 t12 t13 z1 t11z1 + t12z2 + t13z3 zf1

t21 t22 t23z2 = t21z1 + t22z2 + t23z3 = zf2 (9.13)

t31 t32 t33 z3 t31z1 + t32z2 + t33z3 zf3 .

Тогда матрицу {tij} можно использовать в качестве Tk, знаками zi, i = 1,2,3 вектора могут быть символы и знаки Soi , i = 1,...,I исходного ИМ Mо, а знаками zfi, i = 1,2,3 вектора-результата – символы и знаки Sfj, j = 1,...,J ПИМ Mf. Для преобразования буквенных ИМ Mo вначале заменяют символы и знаки алфавита их числовыми эквивалентами (порядковыми номерами букв и др.)

Для «депреобразования» используются те же правила умножения матрицы на вектор, только в качестве Tk берётся обратная матрица Tk–1 ={tij0}, а в качестве умножаемого вектора – соответствующее количество чисел ПИМ Mf. Цифрами вектора-результата будут цифровые эквиваленты (hoi ) символов и знаков исходного ИМ Mо.

Кроме того, на практике широко используются криптоалгоритмы, реализующие плохообратимые показательные функции. Прямое преобразование ИМ при этом осуществляется путём несложного вычисления значений показательных функций в полях Галуа6 с Q простыми элементами, с 2 элементами или в кольцах по модулю простых чисел (в отличие от двухсоставных чисел в (9.26)) [5]. Обратное преобразование ИМ (при отсутствии дополнительной информации) можно выполнить лишь путём огромного количества вычислений логарифмов в соответствующем поле.

Например,

Mf = aMo modQ, 1 < Mo < Q – 1, (9.14)

Mo = loga Mf modQ , 1 < Mf < Q – 1, (9.15)

где Q {0, 1,..., Q – 1} – простое число конечного Q-элементного поля GF(Q) Галуа; a – фиксированный примитивный элемент поля GF(Q), т.е. степени a дают все ненулевые элементы поля (например, при Q = 7 имеем a = 3, так как a1 = 3; a2= 9 mod 7 = 2; a3 = 27 mod 7 = 6; a4 = 4; a5 = 5; a6 = 1).

При повторяющемся возведении в квадрат для прямого вычисления по (9.13) потребуется не более 2log Q операций умножения [5].

Например:

a37 = a32+4+1 = ((((a2)2)2)2)2(a2)2a1.

Извлечение же логарифмов по modQ из Mf по (9.14) с целью получения Mo (другого метода пока не известно) потребует [5] проведения только предварительных вычислений по объёму пропорциональных величине

V(Q) = exp (lnQlnlnQ)–0,5.

Для пары <i, j> абонентов, взаимодействующих в ИРС, можно записать

Mfi = aMoi mod Q , (9.16)

Mfj = aMoj mod Q , (9.17)

где Moi , Moj {1, 2,..., Q – 1} – случайно выбранные числа i-го и j-го абонентов, соответственно.

Тогда выражение:

Kij = aMoi Moj mod Q (9.18)

можно использовать в качестве тайного ключа, известного только паре <i, j> абонентов сети, реализующих каждый свои преобразования:

i: Kij = MfjMoi mod Q = (aMoj)Moi mod Q = aM Moj mod Q, (9.19)

j: Kij = MfiMoj mod Q = (aMoi)Moj mod Q = aMoj Moi mod Q . (9.20)

Посторонние абоненты, не зная Moi, Moj, вынуждены вычислять Kij только по перехваченным Mfi, Mfj.

Если Q имеет длину 1000 бит, то для вычисления Moi из Mfi потребуется примерно 2000 операций умножения 1000-битовых чисел. Для решения обратной задачи (на основе вычисления логарифмов над полем GF(Q) Галуа) потребуется более 2100 (или  1030) операций.

Отсюда с учётом (9.1) уровень стойкости такого криптоалгоритма на месячном интервале времени равен:

E = 10 lg(1030/1082,592106)  160 дБ .

Методы гаммирования реализуются сложением символов исходного ИМ и ключа по модулю, равному числу букв в алфавите Aо (например, если используется двоичный алфавит Aо(2) = <0, 1>, то производится сложение по mod 2). В качестве ключа они используют некоторую последовательность символов (кодов) того же алфавита Aо и такой же длины, что и в исходном ИМ.

Соответствующий алгоритм аддитивного преобразования ИМ может состоять, в частности, в следующем:

Шаг 1. Кодирование символов Sоi Mо, i = 1,…,I исходного ИМ Mо и символов kj KГ , j = 1,…,Jk ключа-гаммы (некоторой последовательности кодов) двоичным кодом и расположение их один под другим.

Шаг 2. Формирование ПИМ Mf путём замены каждой пары двоичных знаков одним двоичным знаком zfi Mf , i = 1,…,IM согласно принятому уравнению преобразования (например, с помощью логической операции «исключающего ИЛИ»).

Шаг 3. Формирование ПИМ Mg, передаваемого по линиям связи путём замены полученной последовательности знаков zfi Mf , i = 1,…,IM символами Sоi, i = 1,…,IM алфавита Aо в соответствии с выбранным кодом.

Если ключ KГ преобразования выбирается случайным образом, например, с помощью датчика псевдослучайных чисел (ПСЧ), то раскрыть ПИМ теоретически и практически невозможно (в случае, когда периодичность ключа превышает длину всех перехваченных ПИМ и никакой исходный ИМ не был похищен).

Датчики ПСЧ гененируют последовательности ключей KГj, j = 1,2,..., в которых числа kij KГj , i = 1,…,I «кажутся случайными» и произвольно распределены в интервале [1, JK], где JK – некоторое максимальное число. К наиболее приемлемым (с точки зрения периодичности и случайности) для шифрования датчикам ПСЧ относится линейно-конгруэнтный7, вырабатывающий последовательность ПСЧ:

1, 2, 3,..., JK, 1, 2,... ,

используя соотношения:

i+1 = (k1i + k2) mod JK, JK = 2b , b  2, (9.21)

где k1, k2 – константы, определяющие период повторения ПСЧ (причём, если k2 – нечётная и k1 mod 4 = 1, то JK = max); о – порождающее (исходное) число (может определяться идентификатором или паролем абонента, именем файла, длиной ИМ и др. константами); JK – длина ключа-гаммы; b – длина машинного слова в бит.

Полученный ключ изменяется случайным образом для каждой группы символов (слова) исходного ИМ Mо в отличие от периодически повторяющегося (см. табл. 9.6).

Применение длинного ключа, для которого IM = JK, ограничено объёмом памяти ЭВМ, а также резким (в 2 раза) увеличением объёма информационного массива <Mg ,KГ>, передаваемого по линиям связи.

Указанные недостатки метода гаммирования снижают возможности использования его на практике. Поэтому в АИС он реализуется, как правило, в комбинированных алгоритмах (в комбинации с методами перестановки и замены по типу второго закрытия при защите особенно важных ИМ).

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

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