Научная статья на тему 'Двухуровневое тестирование случайных последовательностей длиной 128 и 256 бит'

Двухуровневое тестирование случайных последовательностей длиной 128 и 256 бит Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
120
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДВУХУРОВНЕВОЕ ТЕСТИРОВАНИЕ / СЛУЧАЙНАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ / ТЕОРЕТИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ / TWO-LEVEL TESTING / RANDOM SEQUENCE / THEORETICAL DISTRIBUTION

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Киевец Н. Г., Корзун А. И.

Найдены теоретические распределения вероятностей превышения тестовыми статистиками значений, получаемых при тестировании случайных последовательностей длиной 128 и 256 бит по тесту на самые длинные подпоследовательности единиц в блоках. Приведены результаты двухуровневого тестирования случайных последовательностей, выработанных генераторами электронных пластиковых карт.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Two-level testing of 128-bit and 256-bit random sequences

The theoretical distributions of probability of exceeding the test statistics values for test for the longest run of ones in a block corresponded to random 128-bit and 256-bit sequences were found. The results of two-level testing of random sequences produced by electronic plastic card random number generators were presented.

Текст научной работы на тему «Двухуровневое тестирование случайных последовательностей длиной 128 и 256 бит»

Доклады БГУИР

Doklady BGUIR

2017, № 3 (105) 2017, No. 3 (105)

УДК 004.056:519.254

ДВУХУРОВНЕВОЕ ТЕСТИРОВАНИЕ СЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ДЛИНОЙ 128 И 256 БИТ

Н.Г. КИЕВЕЦ1, А.И. КОРЗУН2

1 Белорусская государственная академия связи, Республика Беларусь

2ЗАО «Центр новых интеллектуальных интегрированных систем», Республика Беларусь

Поступила в редакцию 3 апреля 2017

Аннотация. Найдены теоретические распределения вероятностей превышения тестовыми статистиками значений, получаемых при тестировании случайных последовательностей длиной 128 и 256 бит по тесту на самые длинные подпоследовательности единиц в блоках. Приведены результаты двухуровневого тестирования случайных последовательностей, выработанных генераторами электронных пластиковых карт.

Ключевые слова: двухуровневое тестирование, случайная последовательность, теоретическое распределение.

Abstract. The theoretical distributions of probability of exceeding the test statistics values for test for the longest run of ones in a block corresponded to random 128-bit and 256-bit sequences were found. The results of two-level testing of random sequences produced by electronic plastic card random number generators were presented.

Keywords: two-level testing, random sequence, theoretical distribution.

Doklady BGUIR. 2017, Vol. 105, No. 3, pp. 78-84 Two-level testing of 128-bit and 256-bit random sequences N.G. Kiyevets, A.I. Korzun

Введение

В криптографических системах для генерации ключевой информации требуется применение генераторов случайных чисел (ГСЧ), которые вырабатывают равномерно распределенные случайные последовательности (РРСП). По определению РРСП состоят из независимых элементов с равномерным распределением вероятностей [1]. Наиболее предпочтительными являются ГСЧ, в которых используются физические источники случайности [2]. Для выявления отказов, сбоев и изменений физических параметров при функционировании физических источников должна быть разработана процедура тестирования выходных последовательностей ГСЧ, которая должна включать оценку энтропии источника случайности генератора [2].

Оценка качества работы ГСЧ выполняется с использованием систем тестов. Наиболее известные системы тестирования требуют относительно длинных битовых последовательностей. Для тестов стандарта FIPS 140 необходимо 20 тыс. бит данных [3], для системы CRYPT-X - от 100 тыс. бит [4], для системы NIST - от 1 млн бит [5]. Однако на практике для шифрования требуются случайные последовательности (СП) определенных длин, которые применяются в качестве ключей. Например, в симметричных алгоритмах шифрования используются ключи следующих длин: 128, 192 и 256 бит в AES (Advanced Encryption Standard); 128 бит в IDEA; 256 бит в алгоритме ГОСТ 28147-89 [6]. СП определенной длины

можно получить, взяв отрезок длинной протестированной последовательности, если она является РРСП. Поскольку сложно доказать, что последовательность является РРСП, то результат ее тестирования следует с осторожностью распространять на ее отрезки [7]. Кроме того, тестирование длинных последовательностей не позволяет оценить энтропию ГСЧ как источника СП определенных длин. Так как энтропия источника максимальна, когда СП вырабатываются с одинаковыми вероятностями, то требуется проверка равновероятности генерируемых последовательностей.

Решить задачу проверки статистических свойств каждой из сгенерированных СП и проверить равновероятность СП позволяет применение методики двухуровневого тестирования [7]. Разработчики системы NIST рекомендуют использование этой методики применительно к СП длиной от 1 млн бит [5]. При двухуровневом тестировании СП длиной от 1 млн бит можно выделить два основных этапа.

1. Для каждой из СП рассчитывается тестовая статистика и определяется величина PT -вероятность превышения полученного значения статистики при предположении о том, что СП состоит из равномерно распределенных и независимых элементов. На данном этапе выполняется проверка статистических свойств каждой СП.

2. Проверяется равномерность распределения значений PT с использованием критерия согласия «хи-квадрат». Равномерность распределения значений PT свидетельствует о равновероятности генерируемых СП.

В связи с тем, что в тестах вместо действительных теоретических распределений статистик используются аппроксимированные распределения, при относительно коротких длинах СП может иметь место отклонение значений PT от равномерного распределения [7, 8]. Следовательно, при двухуровневом тестировании СП требуется находить теоретические распределения значений PT. В работе [8] найдены теоретические распределения значений величины Pt для частотного теста и теста на подпоследовательности одинаковых бит системы NIST, приведены результаты тестирования СП длиной 128 и 256 бит. Данная статья посвящена нахождению теоретических распределений PT для теста на самые длинные подпоследовательности единиц в блоках.

Нахождение теоретических распределений вероятностей Pt для теста на самые длинные

подпоследовательности единиц в блоках

Для нахождения распределения случайной величины PT необходимо знать все ее возможные значения pт ( i - номер значения) и соответствующие вероятности их появления P(Ptî ). Так как существует конечное число битовых последовательностей заданной длины n, то величина PT является дискретной. Величина PT однозначно связана с тестовой статистикой S, поэтому вероятности появления значений Pt совпадают с вероятностями появления соответствующих значений S. В связи с этим можно выделить следующие этапы нахождения распределения значений PT .

1. Определяются все возможные значения статистики S : si, S2,...,sk.

2. Определяются все возможные значения pTi величины PT , которые являются вероятностями превышения соответствующих значений статистики pт = P(S > si ) .

3. Определяются значения вероятности P(P ) появления всех возможных значений Pt , которые равны вероятностям появления соответствующих значений статистики S: P(рт, ) = P(Si ).

Для проведения тестирования по тесту на самые длинные подпоследовательности единиц в блоках при длинах СП до 6272 бит, рекомендуется разбивать СП на подпоследовательности (блоки) длиной M = 8 бит [5]. При этом каждая из подпоследовательностей относится к одной из четырех категорий в зависимости от длины l самой длинной непрерывной подпоследовательности единиц в блоке.

К первой категории относят подпоследовательности, для которых l < 1; ко второй категории относят подпоследовательности, для которых I = 2; к третьей категории -подпоследовательности с параметром l = 3; к четвертой категории относят подпоследовательности, для которых l > 4.

В соответствии с определенным порядком находим распределения вероятностей Pт для теста на самые длинные подпоследовательности единиц в блоках.

1. Определяем все возможные значения Si тестовой статистики.

1.1. Формируем массив V, содержащий все возможные комбинации чисел подпоследовательностей, относящихся к каждой из четырех категорий.

fvW =

V =

vfr' = N

vp = о v(1) = О

« = 0 v(l) = О ^

,;(2)= N -1 v(2) = 1 "(2) =

= О v(2) = О

(1)

где v^ -]-я комбинация чисел, принадлежащая к к-й категории.

Для чисел, содержащихся в массиве V, при всех у должно выполняться условие

3

Е )=*.

к=0

(2)

1.2. Для каждой комбинации V Р ^ рассчитываем значение тестовой статистики [5]:

2 ^(vj-N^ % 2-^Nf-

(3)

вероятность отнесения

к=0 " 'Ч

где N - количество подпоследовательностей; кк подпоследовательности к ^й категории.

1.3. Формируем массив £ = ^}, содержащий все возможные значения тестовой статистики, рассчитанные в соответствии с выражением (3).

2. Для каждого из значений sj определяем значение вероятности Рт [5]:

РТг =

^ (ъ 1

V Ч /2

Jt2 e tdt / J t2 e tdt

\

(4)

3. Находим значения P(pt) вероятности P(Pt ) , для чего найдем значения Р^г) вероятности P(S) . Значения Р^г) определяются из выражения

P(S) = ZP(%2 ) . (5)

В формуле (5) суммируются только значения вероятностей P (%2) тестовых статистик

2

% ., которые равны значению .

Значения Р(У/) равны вероятностям

p(v( j)) появления соответствующих комбинаций v(j) = {(к)} (k = 0,з), поэтому необходимо найти значения p(v( j)).

Пусть событие А состоит в том, что = а , событие В состоит в том, что = Ь ,

событие С состоит в том, что ^ = с и событие О состоит в том, что ^ = d . События А, В, С и О являются совместными событиями, поэтому вероятность их одновременного появления Равсп будем рассчитывать по формуле [9]:

РАВСО = Р(А)Ра (В)РАВ (С)РАВС (О), (6)

где Р(А) - вероятность события А при условии того, что события В, С и О еще не наступили; Ра (В) - вероятность события В при условии того, что событие А уже наступило,

(j)-,

о

2

V

/

1

ъ

0

V

У

а события С и О еще не наступили; РАВ (С) - вероятность события С при условии того, что события А и В уже наступили, а событие О еще не наступило; Равс(О) - вероятность события О при условии, что события А, В и С уже наступили.

Вероятность Равс (О) = 1, так как события А, В, С и О представляют полную группу событий, в которой О произойдет обязательно, если произошли А, В и С. Получаем: РАВСО = Р(А)Ра (В)Рав (С). (7)

Вероятность появления последовательности с параметром ^ = а , т. е. наступления события А:

< (1 -О"1 N!

Р(А) = 0(, °) „ . (8)

а!(N - а)!

После наступления события А точно известно, что а подпоследовательностей принадлежит к первой категории и ко второй категории могут относиться максимум (N — а) подпоследовательностей. Вероятность попадания подпоследовательности во вторую категорию становится равной = я1 / (1 — я0) и вероятность Ра (В) определяется:

(,\Ь/ N—a—b

Я ) (1 — <) (N — а)!

РА (В ) = —^-^-. (9)

А Ь!( N — а — Ь)!

Аналогичным образом получаем выражение для вероятности Рав (С) с учетом того, что а и Ь подпоследовательностей из N уже принадлежат к первой и второй категориям соответственно:

(, \с / , \N—а—Ь—с

<) (1 — ) (N — а — Ь)!

РАВ (С ) = —^-^-, (10)

АВ с!( N — а — Ь — с)!

где я22 = я2 / (1 — я0 — я1 ).

Подставив в формулу (7) выражения (8)-(10), получаем:

Р =К-(1 — Яо)N—aN! (<)Ь-(1 — я; )N—а—Ь •( N — а)! ^ ■АВС° а!- (N — а)! - (N — а — Ь)!- Ь! Х

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(Я2 )с • (1 — Я2 У—а—Ь—С • (N — а) - (N — а — Ь )! Х (N — а — Ь — с)!- с! '

Получили выражение (11), которое позволяет рассчитать значения р(у() )= Р(у() = а, ) = Ь, ) = с, ) = d) = РАВСО . Значения р(у(^)) равны соответствующим

значениям Р(х2). Подставив в формулу (5) вместо Р(х2) выражение для р(у(у) ) в

(11)

соответствии с формулой (11) и вместо значений Р) значения Р(рт. ), получаем:

(

Р( Рт,) = 1

( Я

„М / NN—v(J) -^- - 1--^-

я0о -(1 — Яо) 0 Ж! [(1 — Яо)J [ (1 — Яо)

-(N —

)!- (N—^)! (N—^ — ^ )!- (^)!

/ / ^ Я ' *

(12)

(1 — Яо —Я1) ] I (1 — Яо —Я1)

1 —

-(N — v(J') — ^

(N—^^ — — ^)!- (^)!

На основе выражений (3)-(5) и (12) найдены распределения вероятностей Рт при длинах СП 128 и 256 бит. Полученные распределения представлены на рис. 1. Из рисунка

х

х^

/

видно, при п = 128 бит и п = 256 бит для теста на самые длинные подпоследовательности единиц в блоках значения Рт распределены неравномерно.

а б

Рис. 1. Теоретические распределения вероятностей Рт : а - при п = 128 бит; б - при п = 256 бит

Диапазон возможных значений величины Рт был разбит на интервалы Ь : ¡1 = [0;0,1], /2 = (0,1;0,2], ¡з = (0,2;0,3], ¡2 = (0,1;0,2], ¡2 = (0,3;0,4], ¡5 = (0,4;0,5], ¡6 = (0,5;0,6], ¡7 = (0,6;0,7], ¡8 = (0,7;0,8], ¡9 = (0,8;0,9], ¡10 = (0,9;1]. Далее рассчитаны значения рг вероятности Р попадания значений Рт в интервалы (г' = 1,10). Значения величины Р представлены в табл. 1, а соответствующие гистограммы на рис. 2.

Таблица 1. Значения вероятностей Р для СП различных длин п

Ь P (п = 128 бит) P (п = 256 бит) Ь P (п = 128 бит) P (п = 256 бит)

[0-0,1] 0,0940 0,0943 (0,5-0,6] 0,1200 0,1127

(0,1-0,2] 0,1053 0,1045 (0,6-0,7] 0,0775 0,0964

(0,2-0,3] 0,1016 0,1058 (0,7-0,8] 0,1092 0,0973

(0,3-0,4] 0,1065 0,1030 (0,8-0,9] 0,0892 0,0983

(0,4-0,5] 0,1030 0,0894 (0,9-1] 0,0936 0,0981

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 а

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 б

Рис. 2. Гистограммы вероятностей Р: а - при п = 128 бит; б - при п = 256 бит

Из гистограмм на рис. 2 видна неравномерность распределения значений Рт как при длине СП п = 128 бит, так и при п = 256 бит. Видно, что при п = 256 бит гистограмма более равномерна, чем при п = 128 бит.

Результаты двухуровневого тестирования случайных последовательностей длиной 128 и 256 бит

Для оценки качества работы ГСЧ четырех электронных пластиковых карт (ЭПК) было выполнено двухуровневое тестирование сгенерированных СП по тесту на самые длинные подпоследовательности единиц в блоках. Из каждой ЭПК получены наборы по N1 = 8000 СП

длиной 128 бит и по N = 4000 СП длиной 256 бит. Далее было выполнено тестирование каждого набора СП по следующему алгоритму.

1. Каждая СП протестирована по тесту на самые длинные подпоследовательности единиц в блоках, в результате чего получен массив значений Рт .

2. Рассчитаны количества т, значений РТ, попадающих в соответствующие интервалы I, ( = 1Д0).

3. Рассчитана случайная величина х2 [5]:

=£(т - т)2, (13)

где N - количество значений Рт; р1 - вероятность попадания значения Рт в интервал I, ( = 110) .

4. Рассчитана вероятность превышения полученного по формуле (13) значения %2 [5]: Рс = 1 -Гх2/2(9/2)/Г(9/2), (14)

™ Г

где Гх (а) = |е~'tа1Л - неполная гамма-функция; Г(а) ^ tа 1е - гамма-функция.

X 0

5. Выполнено сравнение значения Рс с уровнем значимости а = 0,0001 [5]. При значениях Рс > 0,0001 делается вывод о том, что СП генерируются с одинаковыми вероятностями, т.е. о прохождении последовательностями двухуровневого тестирования.

В табл. 2 для каждого из наборов СП приведено значение вероятности Рс и количество К СП, прошедших тест на самые длинные подпоследовательности единиц в блоках.

Таблица 2. Результаты двухуровневого тестирования СП

№ ЭПК 1 2 3 4

n, бит 128 256 128 256 128 256 128 256

Pc 0,3563 0,9206 0,3642 0,0141 0,0306 0,0829 0,5359 0,5755

K 7933 3961 7913 3967 7911 3966 7925 3970

Из табл. 2 видно, что наборы СП, полученных из всех четырех ЭПК прошли двухуровневое тестирование, так как все значения Рс > 0,0001.

Заключение

Найдены теоретические распределения значений вероятности Рт для теста на самые длинные подпоследовательности единиц в блоках при длинах СП 128 и 256 бит, что позволило корректно использовать методику двухуровневого тестирования. Выполнено двухуровневое тестирование СП длиной 128 и 256 бит, полученных из четырех ЭПК. Двухуровневое тестирование позволило проверить каждую сгенерированную СП и исключить использование в качестве ключевой информации тех СП, свойства которых не соответствуют РРСП, а также подтвердило, что ГСЧ ЭПК вырабатывают равновероятные СП указанных длин.

Список литературы

1. Харин Ю.С., Берник В.И. Математические основы криптологии. Минск: БГУ, 1999. 319 с.

2. Информационные технологии и безопасность. Требования безопасности к программным средствам криптографической защиты информации: СТБ 34.101.27-2011. Введ. 01.03.12. Минск: Госстандарт, 2012. 33 с.

3. Federal Information Processing Standards Publication 140-2. Security Requirements for Cryptographic Modules. [Электронный ресурс]. - Режим доступа: http://mayor.fri.utc.sk/v731/04/fips140-2.pdf - Дата доступа: 13.10.2014.

4. Evaluation of TOYOCRYPT-HR1. [Электронный ресурс]. - Режим доступа: http://www.cryptrec.go.jp/estimation/report_ID1090.pdf. - Дата доступа: 06.07.14.

5. A statistical test suite for random and pseudorandom number generators for cryptographic applications [Электронный ресурс]. - Режим доступа: http://csrc.NIST.gov/publications/NISTpubs/800-22-rev1a/SP800-22rev1a.pdf - Дата доступа: 30.06.2014.

6. Панасенко С.П. Алгоритмы шифрования. Специальный справочник. СПб.: БХВ-Петербург, 2009. 576 с.

7. L'Ecuyer P. Testing random number generators // Winter Simulation Conference. 1992. P. 305-313.

8. Киевец Н.Г., Корзун А.И. Методика нахождения эталонных законов распределения вероятностей, получаемых при статистическом тестировании последовательностей ключей // Докл. БГУИР. 2014. № 5 (83). С. 38-43.

9. Справочник по вероятностным расчетам / Г.Г. Абезгауз [и др.]. М.: Воениздат, 1970. 536 с.

References

1. Harin Ju.S., Bernik V.I. Matematicheskie osnovy kriptologii. Minsk: BGU, 1999. 319 s. (in Russ.)

2. Informacionnye tehnologii i bezopasnost'. Trebovanija bezopasnosti k programmnym sredstvam kriptograficheskoj zashhity informacii: STB 34.101.27-2011. Vved. 01.03.12. Minsk: Gosstandart, 2012. 33 s. (in Russ.)

3. Federal Information Processing Standards Publication 140-2. Security Requirements for Cryptographic Modules [Electronic resource]. - Access mode: http://mayor.fri.utc.sk/v731/04/fips140-2.pdf - Date of access: 13.10.2014.

4. Evaluation of TOYOCRYPT-HR1 [Electronic resource]. - Access mode: http://www.cryptrec.go.jp/estimation/report_ID1090.pdf. - Date of access: 06.07.14.

5. A statistical test suite for random and pseudorandom number generators for cryptographic applications [Electronic resource]. - Access mode: http://csrc.NIST.gov/publications/NISTpubs/800-22-rev1a/SP800-22rev1a.pdf - Date of access: 30.06.2014.

6. Panasenko S.P. Algoritmy shifrovanija. Special'nyj spravochnik. SPb.: BHV-Peterburg, 2009. 576 s. (in Russ.)

7. L'Ecuyer P. Testing random number generators // Winter Simulation Conference. 1992. P. 305-313.

8. Kievec N.G., Korzun A.I. Metodika nahozhdenija jetalonnyh zakonov raspredelenija verojatnostej, poluchaemyh pri statisticheskom testirovanii posledovatel'nostej kljuchej // Dokl. BGUIR. 2014. № 5 (83). S. 38-43. (in Russ.)

9. Spravochnik po verojatnostnym raschetam / G.G. Abezgauz [i dr.]. M.: Voenizdat, 1970. 536 s. (in Russ.)

Сведения об авторах

Киевец Н.Г., старший преподаватель кафедры радио и информационных технологий Белорусской государственной академии связи.

Корзун А.И., к.т.н., доцент, директор ЗАО «Центр новых интеллектуальных интегрированных систем».

Адрес для корреспонденции

220013, Республика Беларусь,

г. Минск, ул. П. Бровки, 14

Белорусская государственная академия связи

тел. +375-17-202-12-81

e-mail: [email protected]

Киевец Наталья Григорьевна

Information about the authors

Kiyevets N.G., senior lecturer of radio and information technology department of Belarusian state academy of telecommunications.

Korzun A.I., PhD, assistant professor, head of closed company «Center of new intellectual integrated systems».

Address for correspondence

220013, Republic of Belarus, Minsk, P. Brovka st., 14

Belarusian state academy of telecommunications tel. +375-17-202-12-81 e-mail: [email protected] Kiyevets Natallia Grigorevna

i Надоели баннеры? Вы всегда можете отключить рекламу.