ПРИБОРОСТРОЕНИЕ, МЕТРОЛОГИЯ, ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ И СИСТЕМЫ
Д. В. ГОЛОВИН В. Г. ШАХОВ
Омский государственный университет путей сообщения
УДК 621.391.7
ИССЛЕДОВАНИЕ ГЕНЕРАТОРА ПСЕВДОСЛУЧАЙНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ И ВОЗМОЖНОСТЕЙ ЕГО ИСПОЛЬЗОВАНИЯ
В области защиты информации широко используются генераторы псевдослучайной последовательности [1]. Например, в такой схеме: у двух объектов, обменивающихся информацией, есть заданный алгоритм генератора ПСП и начальные данные для него. При установлении связи на обоих объектах запускается этот алгоритм, и передаваемые данные гаммируются полученным Ы-ым псевдослучайным числом. О значении числа N (номере ПСП) можно договариваться заранее или передавать его по открытому каналу. Сам алгоритм генератора (его функциональные таблицы) и начальные данные для него должны передаваться по секретному каналу связи или устанавливаться заранее (например, жёстко прошиваться в приемо-передающей аппаратуре). Возможны варианты например, алгоритм полностью жестко прошивается в приемо-передающей аппаратуре, а начальные установки генератора ПСП изменяются через определенный интервал времени (передаются по секретному каналу или берутся из заранее переданной абонентам таблицы) [2.3].
Так как каждый сеанс связи проходит с использованием новой гаммы, а нарушитель не знает начальных установок генератора, то даже зная номер используемого псевдослучайного числа и алгоритм генератора ПСП, он не может получить открытый текст.
Полученную ПСП можно использовать в более сложных функциональных преобразованиях открытого текста.
Целью работы является исследование характеристик выбранного генератора и рассмотрение возможностей его применения
Описание и реализация генератора ПСП
В качества исследуемого генератора ПСП выбран описанный в ОСТ В4.200.043-88.
Основная схема реализации алгоритма генератора ПСП представлена на рис.1
Объем РГ1 должен обеспечивать запись т байт (8Чт бит) исходной информации. Значение т должно быть не более 8 и не менее 4. Объем регистра РГ2 должен обеспечить запись 64 байт (512 бит), выработанных из 16
Схема реализации алгоритма генератора ПСП
^64'
РГ2
1Т) ГТ1-] . . . 2 1
1 + 1 РГ1 А ! ! У
Рис. 1
Обозначения:
РГI — регистр из т 8-разрядных двоичных ячеек. РГ2 — регистр из 64 8.разрядных двоичных ячеек, ф — 3-разрядный сумматор для поразрядного сложения по модулю 2.
| | — 3-разрядный сумматор для сложения байтов по модулю 2*.
(Т^) — побайтное функциональное преобразование.
байт (128 бит) ключа алгоритма. Выработка каждого очередного т-байтного ПСЧ (ат,65>. .а,(65)) осуществляется следующим образом:
В регистр РГ1 записываются т байт (а (11...а,(1)) исходной информации. Алгоритм работает 64 цикла, все циклы идентичны. При этом в ¡-тый (1 < \ < 64) цикл работы первый, второй, (т-1)-й и т-й байты РГ1 складываются по модулю 2е. К полученной сумме побитно прибавляется по модулю два ¡-тый байт РГ2. К вновь полученной сумме применяется преобразование (, и результат преобразования записывается в РГ1 на освободившееся место после сдвига содержимого РГ1 на один байт в сторону младшего разряда (вправо).
После 1-го цикла содержимое РГ1 имеет вид:
Ша
■ а ,"> + ... + а,"
т-1 2
■а«»] Фу!};
а = >11-1
(¡4)
где уг у64 - содержимое 64-байтного ключевого регистра РГ2.
Полученные в результате в РГ1 т байт (аи(65)...а|(65)) результирующей информации являются т-байтным ПСЧ. Ограничений на порядок использования разрядов результирующего состояния не накладывается. Можно использовать как все 8Чт-битовое состояние, так и отдельные его разряды или группы разрядов, а также смежные т-байтные ПСЧ для формирования при необходимости последовательности большей длины.
Ключ имеет размер 16 байт (128 бит). Регистр РГ2 (64 байта у,...ум) формируется из 16 байт хг..х1е.ключа алгоритма следующим образом:
= х
= к,- У|6+,
Уди«-! _ Х7'(|-1М'
3 (¡-|)+|' Уз2+| Х?'(1-1)+1' 0=1*16).
Здесь в индексе используется операция умножения по модулю 16. Явный вид таблицы ключевого регистра представлен в табл 1. Допускается реализация этой таблицы другим способом.
Для нормального функционирования генератора ПСЧ необходимо подать на его вход последовательность т-
Явный вид таблицы ключевого регистра
Таблица 1
у» '
Ум =Х|„
Таблица 2
Явный вид функции (
« 1 1 .1 4 5 6 7 8
11(1 152 41 1 (>4 1 1 1 231 204 373 1 1 10
111 - 1 3 71 , .130 мз ; 103 1' 134 324 345 142
02 <.з ! 106 122 1 10 221 165 70 105 1 2
(13 .1 47 ' ЗбО 163 . 233 ) 154 313 НИ *
(м п 1 1 1 (Л- : 202 343 .и: 236 302 314
115 254 ! : 1 >0 301 Г1 132 .43 322 34 1 146
11(1 1-Н , 125 ; -и 3"п : 213 46 20о 16 175 34
цт 25 1 151 ! 4 336 15 241 263 30 3,2
ИХ ,.ч . 351 ' 2т 207 366 75 145 227 64 120
(19 (Г л.и ' ЗГ 1 265 257 266 321 23 340
10 ^ \ 12о ! -з 23^ ■ 136 107 1 303 44 367
1 I !<о : <1 303 , 264 41 .1 32 326 20,
II 50 1 66 1 230 32 243 104 252 36 274 167
. С 112 1 6 370 : 102 202 242 353 203 ,00
14 |™зЯ~Т 172 | <61 316 ' 25 Г 31 26 346 260 246
15 0 ! 12" ! 172 :> 247 ' 76 352 261 57 147
10 I Ы 1 210 174 272 327 225 232 331 220
17 1-6 256« ! б: 42 . 253 137 224 235 53 115
1К ; : но 123 ' 335 363 244 320 200 310
14 ! 10 : 240 65 60 153 362 161 354 325
' 2(1 г. I •1 < 50 ! и" 45 ; 61 <74 217 135 273 141
: 21 375 Г21 307 , 16« 245; .14 214 157 250
и .и | 2'0 ! 342 147 . 143 71 336 54 364 22
1 23 22? 1 55 ' 377 121 234 211 ■306 357 112 355
24 40 ; 216 I 304 271 ! 344 276 ,24 155 205 13
15 : 15 ; 315 323 , 77 350 |
байтных исходных состояний, удовлетворяющую следующим требованиям:
- для фиксированного ключа алгоритма при выработке очередных ПСЧ исходные состояния не должны повторяться;
- на одном ключе алгоритма допускается выработка не более половины максимально возможного числа различных псевдослучайных блоков.
При наличии 256-байтовой памяти функция f задается в явном виде таблицей (см. табл. 2). Содержимое байтов таблицы представлено в восьмеричном коде. Значение функции находится на пересечении строки и столбца к. Например, число 12310 преобразуется в число, которое находится на пересечении строки 12 и столбца 3 (число 528).
Графическая схема алгоритма представлена на рис. 2
При исследовании использовался следующий ключ генератора (в восьмеричном формате):
, х,) = (242, 13, 342, 236, 321, 272, 107,165, 214, 167,161,73, 3,170,34,147).
Графическая схема алгоритма
Рис. 2
Реализация алгоритма осуществлялась на языке Ассемблер, чтобы обеспечить максимально возможную производительность. Для проверки правильности реализации и ускорения анализа данный алгоритм был смоделирован в пакете Ма№САО [3].
Исследование характеристик генератора ПСП
Целью исследования являлось получение распределения, автокорреляционной функции и периода повторения сгенерированных ПСП для выяснения пригодности данного генератора ПСП в вышеуказанных способах защипы информации.
Генератор ПСП должен удовлетворять следующим требованиям [4].
- сгенерированные псевдослучайные последовательности должны быть равномерно распределены;
- значения ПСП должны быть некоррелированными (автокорреляционная функция должна быть близка к 6-функции).
Все вычисления и построения графиков проводилось в пакете Ма№са<1.
Для исследования было выбрано т=2. Предполагается, что для т > 2 результаты будут не хуже, чем для т = 2. Алгоритм генерации ничем не отличается, от описанного выше.
Получение распределения и автокорреляционной функции.
Последовательно для исходного значения генератора ПСП подставлялись числа от 0 до 65535 (2"-1). При этом генерировалось одно псевдослучайное число, которое записывалось в таблицу. Затем по данным этой таблицы составлялась гистограмма распределения и вычислялась автокорреляционная функция.
Полученная гистограмма (для разбиения всего диапазона возможных значений ПСП на 100 поддиапазонов) представлена на рис. 3. Как видно из рисунка, получаем равномерное распределение. Более того, если разбить весь интервал возможных значений ПСП на 65536 интервалов (количество возможных значений), то получаем, что в каждый интервал попадает одно сгенерированное число. Отсюда можно сделать вывод, что данное преобразование является однозначным, т.е. при фиксированном ключе генератора каждое выходное число может быть получено лишь из одной начальной установки.
Гистограмма распределения ПСП
Исследование периода повторения ПСП.
Период повторения генератора ПСП должен быть не меньше половины от количества возможных значений выходной последовательности [4].
Последовательно для исходного значения генератора ПСП подставлялись числа от 0 до 65535 (21в-1) и генерировались псевдослучайные числа до тех пор, пока полученное число не равнялось устанавливаемому исходному значению. Внутренних зацикливаний (повторения уже сгенерированного числа) быть не может, так как данная система (генератор) является однозначной, как было показано выше. В таблицу записывались начальная установка генератора и период повторения (количество сгенерированных чисел до совпадения полученного и начального числа). Затем полученная таблица для наглядности сортировалась по периоду повторения.
Максимальное значение периода повторения - 34367 (больше половины максимального значения ПСП) - было получено при 34367 начальных установках.
Остальные начальные установки дали меньший результат, причем для некоторых из них период повторения получился равен 1 (т.е. число на выходе генератора ПСП не меняется и всё время равно числу на входе, сколько циклов генерации мы бы не сделали).
В табл. 3 представлены первые 30 строк из сортированной таблицы.
Таблица 3
Зависимость между периодом повторения и количеством начальных установок, приводящих к такому периоду
Период повторения 1 3 4 9 10 27 48
Количество начальных установок 3 3 4 9 10 27 48
Период повторении 913 1781 1914 5521 9063 11873 34367
Количество нагольных установок 913 1781 1914 5521 9063 11873 34367
Рис. 3
График масштабированной (к(0) = 1) автокорреляционной функции приведен на рис. 4. Из графика видно, что значения ПСП практически некоррелированными.
График автокорреляционной функции
Также получена следующая зависимость между периодом повторения и количеством начальных установок, приводящих к этому периоду (табл. 4).
В качестве иллюстрации построим график зависимости периода повторения (Т) от начальной установки генератора ПСП (а0) (рис. 5).
График зависимости периода повторения (Т) от начальной установки генератора ПСП (А,)
¡¡и ! Нп ;ПП М!Н| ¡ШМШ'ШМ ¡; ¡ПН ИМ
»■•-К:! ПИ;!;! НИ ! !; I М ^ !М; !!!¡I|! ИМ; И !и ! ;!М
ИМ М И ;{¡! ¡;! ;
г.; М «¡-г
I : <!;
Л}
Рис. 5
% - к
-г—— Рис.4
Вывод о существовании какой-либо функциональной зависимости между периодом повторения и начальной установкой генератора сделать затруднительно. Можно порекомендовать разработчикам перед использованием конкретной начальной установки проверять период повторения последовательности для этой начальной установки.
Исследование периода повторения можно упростить: если после генерации примерно 1/6 от общего количества возможных значений ПСП ни одно сгенерированное число не равно начальной установке, то с большой вероятностью
Таблица 4
Периоды повторения для различных начальных установок генератора
Начальная установка и^ишчиос число) Период повторении Начальная установки (двоичное число)
старший байт младший байт
9095 1 (»100011 100001II
ííiftti 1 1 100011II 00110101
20113 1 0I00III0 10010001
37470 3 10010010 0I0I1II0
39927 3 10011011 I1I10III
41574 3 10100010 опоопо
1728 4 00000110 11000000
65090 4 IIIIIII0 01000010
52755 4 11001110 00010011
329 4 00000001 01001001
57690 9 IIГ00001 01011010
4954 9 00010011 01011010
45132 9 10110000 оюопоо
15467 9 00111100 01101011
50212 9 11000100 00100100
1033 9 00000100 00001001
56268 9 поноп 11001100
33620 9 юооооп оюююо
55718 9 1101100I 10100110
50433 10 11000101 00000001
2201 10 00001000 10011001
59045 10 111001Ш 10100101
46668 10 10110110 01001100
59910 10 III0I0I0 ооооопо
54199 10 11010011 00000110
28816 10 01110000 10010000
22591 10 оюмооо 10010000
38209 10 100Ю101 01000001
24929 10 01100001 01100001
6312 27 00011000 10101000
1. изменение таблицы функционального преобразования £
2. изменение алгоритма формирования регистра РГ2 из ключа генератора;
3. изменение длины регистра РГ2.
Для исследования возьмем наиболее простой способ: изменение таблицы функционального преобразования 1 Поменяем местами в ней два числа: 2 и 3, таким образом, полученная таблица - исходная с двумя инвертированными битами.
Характеристики полученного генератора представлены далее (рис. 6,7, 8).
Гистограмма распределения ПСП модифицированного генератора.
О Ш W III
J0 60 - TU ID 'JO IÜO
Рис. 6
График автокорреляционной функции.
можно утверждать, что для данной начальной установки генератора период повторения больше '/ от общего числа ПСП.
Исследование влияния изменения ключа генератора на ПСП
Генератор ПСП должен удовлетворять следующему требованию: изменение одного бита в ключе генератора должно привести к изменению половины от общего числа битов всех возможных последовательностей, сгенерированных с помощью этого ключа [4].
Проверим выполнение этого требования в исследуемом генераторе ПСП.
Изменим один бит ключа генератора:
(Х16,..., х,) =.(241,13, 342, 236, 321, 272,107, 165, 214, 167, 161,73,3,170,34,147).
Сгенерируем ПСП для всех начальных установок - от О до 65535 (т = 2). Затем проведем побитовое сложение по модулю 2 (побитовое исключающее ИЛИ - XOR) всех получившихся последовательностей с соответствующими последовательностями полученными при использовании немодифицированного генератора. Посчитаем количество единиц в двоичном представлении результата сложения (вычислим суммарный вес).
Получаем
Вес: W =523510;
Всего битов в последовательностях: N = 65356'16 = =1048576,
W/N = 0.499.
Как видно, количество изменившихся битов примерно равно половине общего числа битов, что говорит о сильной зависимости генерируемых ПСП от ключа генератора.
Возможность модифицирования генератора ПСП
Можно еще более усилить безопасность генератора ПСП. Для этого необходимо один из постоянных в описываемом выше алгоритме параметров генератора сделать модифицируемым (также как и ключ с начальной установкой генератора). При этом нарушителю для удачного перехвата зашифрованных данных необходимо помимо ключа генератора и его начальной установки знать еще и значение этого модифицируемого параметра.
Присутствует несколько возможностей модифицирования генератора.
Рис. 7
Зависимость периода повторения от начальной установки генератора.
!|';..... ■ |'¡ : ! I I il: j !
i«!!»
У ¡iíi ¡¡¡i! i; >i¡ i
: : !;i ¡;ji ,!jii !. i¡ 1 i ií í! í ¡i S i
I i ISün'il I:
í ;i Míi
II!!
[ !
loo 121) 141
Рис. 8
Как видно, полученный в результате модификации генератор имеет характеристики, сходные с исходным генератором (без модификации).
Теперь произведем другую модификацию таблицы функционального преобразования. В исходной таблице проинвертируем один бит: заменим 2 на 3. Таким образом, получилась таблица в которой число 3 присутствует два раза, а число 2 - ни разу (число 3 может быть получено на выходе функционального преобразования из двух входных чисел, а число 2 - не из одного).
Гистограмма распределения ПСП полученного генератора представлена на рис. 9.
Как видно, при неоднозначной таблице функционального преобразования нарушается строгая равномерность распределения ПСП. Также можно предположить, что нарушается и однозначность сгенерированных ПСП (один вход - один выход).
Таким образом, можно порекомендовать разработчикам модифицировать таблицу преобразования только при условии сохранения ее однозначности (каждое число на выходе функционального преобразования может быть получено только из одного входного числа).
Гистограмма распределения ПСП второго модифицированного генератора
50а
¡Пп!
¡1!|1!|1||||1
¡1:Н! ¡11! ¡:11
: I I) I! !: ¡1 1 ;
Щ1У Чу!
И Ц|п
.....II г
|| I
Ч I
100
20
зо
40
50
Рис. 9
60
70
80
90
В дальнейшем планируется исследовать характеристики генератора, полученного путем различного (каскадного, параллельного,...) соединения нескольких генераторов с различными установками.
Выводы по исследованию генератора
Исходя из всего вышеприведенного, можно сделать вывод, что описанный генератор ПСП может быть использован в качестве генератора гаммы для защиты передаваемых данных, но с проверкой периода повторения для данной начальной установки генератора. Разработчикам устройств и программ реализующих данный алгоритм можно порекомендовать составлять таблицы допустимых начальных установок генератора с отбрасыванием начальных установок, приводящих к вырожденным циклам.
Также возможно изменение таблицы функционального преобразования I но с условием сохранения однозначности этого преобразования (каждое значение выхода должно получаться из единственного значения входа).
Способы применения генератора
1 Шифровка сообщений, передаваемых между двумя абонентами. Два абонента зашифровывают пакеты, передаваемые друг другу с помощью последовательности, выработанной генератором (в простом случае - просто гаммируют их с этой последовательностью)
2 Генерация последовательностей для использования в более сложных алгоритмах шифрования. Во многих алгоритмах шифрования кроме ключа шифра используется дополнительная цифровая последовательность. В качестве этой последовательности вместо постоянной величины можно использовать
результат работы генератора ПСП, что усиливает алгоритм шифрования.
3 Генерация ключей пользователей. В любой системе, нуждающейся в регулярной смене паролей (ключей) пользователей возможно введение так называемого центра управления ключами (ЦУК). На нем по запросу происходит формирование ключа пользователя. Эта схема позволяет исключить использование коротких и "плохих" ключей пользователями.
ЛИТЕРАТУРА
1 Брюс Шнайер Прикладная криптография: 2-е издание (http://beda.stup.ac.ru/psf/2iss/wmaster/books/security/crypto/ 3Zindex.html,16.01.2001)
2. Яковлев В.В., Корниенко А.А. Информационная безопасность и защита информации в корпоративных сетях железнодорожного транспорта: Учеб. Для вузов ж.-д. транспорта / Под ред. В.В. Яковлева. - М.: УМК МПС России, 2001.
3'. Мельников В.В. Защита информации в компьютерных системах. - М.: Финансы и статистика; Электронинформ, 1999.-402 с.
4. Головин Д. В., Шахов В. Г. Исследование возможности использования генератора ПСП при его модифицировании. //Актуальные проблемы Транссиба на современном этапе: Матер, науч.-практ. конф. - Новосибирск, 2001
ГОЛОВИН Дмитрий Владимирович, аспирант кафедры «Автоматика и системы управления». ШАХОВ Владимир Григорьевич, кандидат технических наук, профессор, заведующий кафедрой «Автоматика и системы управления».
Консультации
Может пи старший научный сотрудник (по званию) представляться к ученому званию доцента по специальности?
Может, если выполняются условия п. 17 «Положения о порядке присвоения ученых званий» № 194 от 29.03.02 г, но это нецелесообразно, поскольку в соответствии с п. 5 звание старшего научного сотрудника соответствует званию доцента по специальности.