Криптография

Для такой системы подстановки используют также термин “одноразовая лента” и “одноразовый блокнот”. Пространство ключей К системы одноразовой подстановки является вектором рангов (K0, K1, ., Kn-1) и содержит mn точек.

Рассмотрим небольшой пример шифрования с бесконечным ключом. В качестве ключа примем текст

“БЕСКОНЕЧНЫЙ_КЛЮЧ ”.

Зашифруем с его помощью текст “ШИФР_НЕРАСКРЫВАЕМ”. Шифрование оформим в таблицу:

ШИФРУЕМЫЙ_ТЕКСТ

24

8

20

16

19

5

12

27

9

32

18

5

10

17

18

БЕСКОНЕЧНЫЙ_КЛЮЧ

1

5

17

10

14

13

5

23

13

27

9

32

10

11

30

ЩРДЪАТТССЦЪЫДФЬП

25

13

4

26

0

18

17

17

22

26

27

4

20

28

15

Исходный текст невозможно восстановить без ключа.

Наложение белого шума в виде бесконечного ключа на исходный текст меняет статистические характеристики языка источника. Системы одноразового использования теоретически не расшифруемы[3], так как не содержат достаточной информации для восстановления текста.

Почему же эти системы неприменимы для обеспечения секретности при обработке информации? Ответ простой - они непрактичны, так как требуют независимого выбора значения ключа для каждой буквы исходного текста. Хотя такое требование может быть и не слишком трудным при передаче по прямому кабелю Москва - Нью-Йорк, но для информационных оно непосильно, поскольку там придется шифровать многие миллионы знаков.

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

1.5.Системы шифрования Вижинера

Начнем с конечной последовательности ключа

k = (k0 ,k1 , .,kn),

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

k = (k0 ,k1 , .,kn), kj = k(j mod r, 0 £ j < ¥ .

Например, при r = ¥ и ключе пользователя 15 8 2 10 11 4 18 рабочий ключ будет периодической последовательностью:

15 8 2 10 11 4 18 15 8 2 10 11 4 18 15 8 2 10 11 4 18 .

Определение. Подстановка Вижинера VIGk определяется как

VIGk : (x0, x1, ., xn-1) ® (y0, y1, ., yn-1) = (x0+k, x1+k,. , xn-1+k).

Таким образом:

1) исходный текст x делится на r фрагментов

xi = (xi , xi+r , ., xi+r(n-1)), 0 £ i < r;

2) i-й фрагмент исходного текста xi шифруется при помощи подстановки Цезаря Ck :

(xi , xi+r , ., xi+r(n-1)) ® (yi , yi+r , ., yi+r(n-1)),

Вариант системы подстановок Вижинера при m=2 называется системой Вернама (1917 г). В то время ключ k=(k0 ,k1 , .,kк-1) записывался на бумажной ленте. Каждая буква исходного переводилась с использованием кода Бодо в пятибитовый символ. К исходному тексту Бодо добавлялся ключ (по модулю 2). Старинный телетайп фирмы AT&T со считывающим устройством Вернама и оборудованием для шифрования, использовался корпусом связи армии США.

Очень распространена плохая с точки зрения секретности практика использовать слово или фразу в качестве ключа для того, чтобы k=(k0 ,k1 , .,kк-1) было легко запомнить. В ИС для обеспечения безопасности информации это недопустимо. Для получения ключей должны использоваться программные или аппаратные средства случайной генерации ключей.

Пример. Преобразование текста с помощью подстановки Вижинера (r=4)

Исходный текст (ИТ1):

НЕ_СЛЕДУЕТ_ВЫБИРАТЬ_НЕСЛУЧАЙНЫЙ_КЛЮЧ

Ключ: КЛЮЧ

Разобьем исходный текст на блоки по 4 символа:

НЕ_С ЛЕДУ ЕТ_В ЫБИР АТЬ_ НЕСЛ УЧАЙ НЫЙ_ КЛЮЧ

и наложим на них ключ (используя таблицу Вижинера):

H+К=Ч, Е+Л=Р и т.д.

Получаем зашифрованный (ЗТ1) текст:

ЧРЭЗ ХРБЙ ПЭЭЩ ДМЕЖ КЭЩЦ ЧРОБ ЭБЮ_ ЧЕЖЦ ФЦЫН

Можно выдвинуть и обобщенную систему Вижинера. ЕЕ можно сформулировать не только при помощи подстановки Цезаря.

Пусть x - подмножество симметрической группы SYM(Zm).

Определение. r-многоалфавитный ключ шифрования есть r-набор p = (p0, p1, ., pr-1) с элементами в x.

Обобщенная система Вижинера преобразует исходный текст (x0, x1 , ., xn-1) в шифрованный текст (y0 ,y1 , .,yn-1) при помощи ключа p = (p0, p1, ., pr-1) по правилу

VIGk : (x0 ,x1 , .,xn-1) ® (y0 ,y1 , .,yn-1) = (p0(х0), p1(х1), ., pn-1(xn-1)), где используется условие pi = pi mod r. Следует признать, что и многоалфавитные подстановки в принципе доступны криптоаналитическому исследованию. Криптостойкость многоалфавитных систем резко убывает с уменьшением длины ключа.

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

1.6. Гам­ми­ро­ва­ние

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

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

Про­цесс дешифрования дан­ных сво­дит­ся к по­втор­ной ге­не­ра­ции гам­мы шиф­ра при из­вест­ном клю­че и на­ло­же­нии та­кой гам­мы на за­шиф­ро­ван­ные дан­ные.


Страница: