Методика оценки качества последовательности случайных чисел

КОМПЬЮТЕРНОЕ ОБЕСПЕЧЕНИЕ И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 004.056

И. М. Ажмухамедов, Н. А. Колесова

МЕТОДИКА ОЦЕНКИ КАЧЕСТВА ПОСЛЕДОВАТЕЛЬНОСТИ СЛУЧАЙНЫ1Х ЧИСЕЛ

Введение

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

Особую роль СЧ играют при разработке систем обеспечения информационной безопасности. Используемые в них криптографические механизмы предъявляют предельно «жесткие» требования к качеству случайных последовательностей [1].

Это, в свою очередь, приводит к необходимости разработки эффективных методов определения «качества» последовательности СЧ. Многочисленность такого рода тестов и их постоянное совершенствование свидетельствуют об актуальности данной проблемы.

В настоящее время разработано несколько пакетов статистических тестов для оценки качества последовательности случайных чисел (ПСЧ). Наиболее известными и эффективными среди них принято считать тесты Diehard и NIST, разработанные американскими учеными.

Тесты Diehard были разработаны Джорджем Марсальей. Пакет насчитывает 12 критериев, и вместе они рассматриваются как один из наиболее строгих известных наборов тестов. Тесты NIST были разработаны в 1999 г. в рамках проекта Национального института стандартизации и технологий США под названием Advanced Encrypton Standart (AES, передовой стандарт шифрования), предназначенного для обеспечения конфиденциальности сведений, не содержащих государственную тайну. Данный пакет включает в себя уже 16 статистических тестов, предназначенных для проверки двоичных последовательностей.

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

Постановка задачи

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

Характеристики ПСЧ

Прежде чем приступить к описанию основных характеристик ПСЧ, необходимо сделать несколько замечаний о самой природе «случайного» в окружающем нас мире. Нам неизвестно, что можно называть «истинной» случайностью. То, что мы принимаем за нее, возможно, является «еще не познанной закономерностью». Как писал Альберт Эйнштейн, «Бог не играет в кости». Данный вопрос выходит далеко за границы темы статьи и связан с глубокими гносеологическими проблемами современной науки, с философским вопросом о познаваемости мира.

В рамках же рассматриваемой задачи это означает, что нам принципиально неизвестна последовательность, которую можно принять за «эталон». Более того, нам неизвестно, существует ли она вообще. Однако, как было отмечено во введении, так называемые последовательно-

сти случайных чисел находят широкое применение в различных областях науки и техники. Именно поэтому необходимо четко сформулировать основные понятия, чтобы, опираясь на них, разработать методику оценки качества «случайности» без знания ее «эталона».

Примем следующее определение последовательности случайных чисел:

Определение 1. Случайной будем называть числовую последовательность, которая обладает в той или иной мере (в зависимости от конкретного класса задач) свойствами равномерности, независимости и стохастичности. Криптографически случайной назовем последовательность, которая обладает всеми вышеперечисленными свойствами.

Раскроем кратко смысл упомянутых в определении 1 свойств случайной последовательности.

Одной из основных характеристик является независимость. В теории вероятностей два случайных события называются независимыми, если наступление одного из них не изменяет вероятность наступления другого. Аналогично, независимым распределением на конечном множестве чисел называется такое распределение, при котором любые его элементы независимы друг от друга. Например, если в последовательности бит из 100 символов первые 99 - нули, то вероятность появления нуля и в последней позиции должна оставаться все еще равной 1/2.

Следующее свойство распределения чисел - стохастичность. Стохастичным распределением на конечном множестве чисел называется такое распределение, при котором все его элементы определяются лишь некоторыми вероятностными характеристиками. Обычно в научной литературе термины «случайный» и «стохастичный» используются как синонимы, однако стохастичность - лишь одна из характеристик случайности.

Ещё одним свойством, характеризующим распределение случайных величин, является равномерность. Равномерным распределением на конечном множестве чисел называется такое распределение, при котором любое из возможных чисел имеет одинаковую вероятность появления. Например, для последовательности бит появление 1 и 0 должно быть равновероятным.

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

Таким образом, мы приходим к следующему определению ПСЧ, которое уже может быть применено на практике:

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

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

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

Таким образом, мы можем, например, для каких-то задач назвать случайной последовательность, которая проходит с положительным результатом 90 % тестов на независимость, 95 % тестов на стохастичность и 80 % тестов на равномерность. При этом определение пороговых значений для каждой из групп тестов выбирается исходя из требований к надежности результата.

Методика оценки качества ПСЧ

Построим методику комплексной оценки качества ПСЧ, основанную на статистических тестах, а также на теории нечетких множеств и отношениях предпочтения между различными критериями.

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

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

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

где К/ - частные критерии; $ - некоторым образом определенные веса, приписываемые каждому частному критерию К/.

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

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

Может быть использован, например, метод нестрогого ранжирования. В соответствии с этим методом экспертом производится нумерация всех критериев по возрастанию степени его важности. Допускается, что эксперту не удастся различить между собой некоторые критерии. В этом случае при ранжировании он помещает их рядом в произвольном порядке. Затем проранжированные критерии последовательно нумеруются. Оценка (ранг) критерия определяется его номером.

Если на одном месте находятся несколько неразличимых между собой критериев, то, обычно, оценка каждого из них принимается равной среднему арифметическому их новых номеров. Однако представляется целесообразным несколько модифицировать такой метод оценки, приняв за ранг каждого из неразличимых критериев номер всей группы как целого объекта в упорядочении [5].

Найденные таким образом оценки представляют собой обобщение системы весов Фишбер-на [6] для случая смешанного распределения предпочтений, когда, наряду с предпочтениями, в систему входят и отношения безразличия.

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

Влияние результатов различных проверок ПСЧ на общий уровень ее качества может быть представлено в виде ориентированного трехуровневого графа О, имеющего одну корневую вершину и не содержащего петель и горизонтальных ребер в пределах одного уровня иерархии:

где {^} - множество вершин графа; {Ау} - множество дуг, соединяющих /-ю и у-ю вершины; К0 - корневая вершина, отвечающая комплексному (интегральному) критерию.

При этом дуги расположены так, что началу дуги соответствует вершина нижнего уровня иерархии (ранга), а концу дуги - вершина ранга, на единицу меньшего.

На втором (нижнем) уровне расположены тесты Т, используемые для проверки различных характеристик случайных последовательностей. На уровень выше находятся обозначенные через К основные характеристики случайности: равномерность, стохастичность и независимость. И наконец, корневой вершине нулевого уровня соответствует комплексный критерий К0 оценки качества проверяемой ПСЧ.

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

Ко

Обобщенная схема комплексной оценки качества ПСЧ

Чтобы произвести комплексную оценку качества проверяемой ПСЧ, необходимо произвести агрегирование данных, собранных в рамках иерархии О, аналогично тому, как это сделано в [5] при оценке комплексной безопасности информационных систем. При этом агрегирование совершается по направлению дуг графа иерархии.

Введем в рассмотрение набор качественных оценок уровней каждого фактора в иерархии: Ь = {неслучайная (НС), не определена (НО), случайная (СЛ)}, и сформируем лингвистическую переменную «Уровень фактора» с терм-множеством значений Ь.

В качестве семейства функций принадлежности может выступать стандартный трехуровневый 01-классификатор, где функции принадлежности - трапециевидные нечеткие числа:

НС

Стандартный классификатор осуществляет проекцию нечеткого лингвистического описания на 01-носитель, при этом делает это непротиворечивым способом, симметрично располагая узлы классификации (0,1; 0,5; 0,9).

Таким образом, в качестве математической модели оценки качества ПСЧ может быть принят кортеж <О, Ь, Е >, в котором при переходе со второго уровня на первый применяется аддитивная свертка, а при переходе с первого уровня на нулевой - мультипликативная.

Пройдя последовательно снизу вверх по всем уровням иерархии О и применяя описанные выше соотношения, мы не только можем путем комплексного агрегирования данных выработать суждение о качественном уровне показателя на каждой ступени иерархии (вплоть до К0), но и оценить степень обоснованности данного суждения по методике, изложенной в [5].

В основу разрабатываемой методики оценки качества ПСЧ первоначально были положены 15 наиболее часто используемых статистических алгоритмов проверки Ту, (/ = 1, 2, 3), которые были сгруппированы по трем категориям: проверка на равномерность (Кі), проверка на независимость (К2), проверка на стохастичность (К3). Данные критерии расположены на втором уровне иерархии графа О.

В категорию «Проверка на равномерность» вошли частотный тест, тест «хи-квадрат», тест проверки равномерности по косвенным признакам, монобитный тест, двубитный тест. Категория «Проверка на независимость» объединила в себе критерий частот, критерий серий, тест се-

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

Следует заметить, что в литературе по отношению к некоторым алгоритмам проверок употребляются и название «тест», и название «критерий» (например, встречается название как «тест «хи-квадрат», так и «критерий «хи-квадрат»). Однако с семантической точки зрения это разные определения. Критерий предусматривает выполнение условия как в одну, так и в другую сторону: «необходимо и достаточно». Термин же «тест», в отличие от термина «критерий», предусматривает выполнение только необходимого условия. Другими словами, «критерий» является таким тестом, который имеет нулевые ошибки 1-го и 2-го рода, т. е. является «идеальным» тестом. В этом смысле все перечисленные выше алгоритмы проверок являются тестами.

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

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

Так, например, при тестировании 100 числовых последовательностей, было выявлено, что тесты «хи-квадрат» и монобитный тест из категории проверок на равномерность и тесты проверки стохастичности и Шапиро - Франчиа из категории проверок на стохастичность дают абсолютно одинаковые результаты. Именно поэтому монобитный тест и критерий Шапиро -Франчиа были исключены в силу их худшей вычислительной эффективности.

Таким образом, для оценки качества ПСЧ в дальнейшем использовались только 13 критериев из 15-ти предложенных первоначально.

Далее необходимо сопоставить каждому из тестов определенный вес, характеризующий степень доверия к данному алгоритму проверки. Будем определять веса на основе ошибок 1-го и 2-го рода, совершаемых тестами.

Под ошибкой 1-го рода будем понимать ситуацию, когда тест «пропускает» неслучайную последовательность чисел, под ошибкой 2-го рода - ситуацию, когда тест «забраковывает» случайную последовательность чисел.

Тогда вес /-го теста может быть найден следующим образом:

енты, определяющие степень важности ошибок 1-го и 2-го рода при решении конкретной зада-

где ^ - веса тестов в данной группе.

В табл. 1, 2 проиллюстрирован расчет весов на основе экспериментальных данных, полученных в результате проверки 10 числовых последовательностей. При этом критическое значение для относения последовательности к той или иной категории, согласно определению 2, было принято равным 75 %. Здесь и далее буквой «П» обозначен положительный результат проверки, «О» - отрицательный результат проверки, «Н» - результат не определен.

где к(1), к<2> - коэффициенты ошибок 1-го и 2-го рода соответственно, совершаемых /-м тестом; к(1 (к}2-*) может быть найдено как отношение количества ошибок 1-го (2-го) рода к общему количеству протестированных последовательностей; т(\ ш/2'> е [0; 1] - весовые коэффици-

чи. Например, при необходимости минимизировать ошибки 1-го рода можно принять т(1) = 1; для минимизации ошибки 2-го рода - т(2) = 1. Если ошибки 1-го и 2-го рода одинаково критичны, то принимаем т(1 = т(2).

Нормированный вес 7-го теста внутри каждой группы определяется формулой

Таблица 1

Вычисление ошибок 1-го и 2-го рода

Название теста 1 2 3 4 5 6 7 8 9 10 Ошибка 1-го рода, к'1' Ошибка 2-го рода, к™

Результат группы проверок на равномерность НС НС НС НС НС НО СЛ СЛ СЛ СЛ

Частотный тест О О Н О О П П П П П 0,2 0

Тест «хи-квадрат» О О О О О О П П П П 0 0

Проверка по косвенным признакам О П П П О П О О П О 0,6 0,75

Двубитный тест О О О О О О П П П П 0 0

Результат группы проверок на независимость НС НС НС НС НС НС СЛ СЛ СЛ СЛ

Критерий частот О О О О О О П П П П 0 0

Критерий серий О О Н О О О П П П П 0,17 0

Критерий сериальной корреляции О О О О О О П П О П 0 0,25

Автокорреляционный тест О О О П О О П П П П 0,17 0

Покерный тест О О О О О О П П П П 0 0

Результат группы проверок на стохастичность НС НС НС НС НС НО НО НО НО СЛ

Критерий разбиений О О Н О О Н П П П П 0 0

Критерий подпоследовательностей О О О О О О О О О П 0 0

Проверка стохастичности П П О П П П П П П П 0,8 0

Выборочный коэффициент асимметрии О О О О О О О О О П 0 0

Таблица 2

Расчет весов

Название теста Ошибка 1-го рода, к? Весовой коэффициент 1, т(1) Ошибка 2-го рода, к'2' Весовой коэффициент 2, т<2) Вес, Нормированный вес, З

Группа проверок на равномерность

Частотный тест 0,2 0,5 0 0,5 0,9 0,28

Тест «хи-квадрат» 0 0,5 0 0,5 1 0,31

Проверка по косвенным признакам 0,6 0,5 0,75 0,5 0,325 0,1

Двубитный тест 0 0,5 0 0,5 1 0,31

Г руппа проверок на независимость

Критерий частот 0 0,5 0 0,5 1 0,21

Критерий серий 0,17 0,5 0 0,5 0,915 0,2

Критерий сериальной корреляции 0 0,5 0,25 0,5 0,875 0,18

Автокорреляционный тест 0,17 0,5 0 0,5 0,915 0,2

Покерный тест 0 0,5 0 0,5 1 0,21

Группа проверок на стохастичность

Критерий разбиений 0 0,5 0 0,5 1 028

Критерий подпоследовательностей 0 0,5 0 0,5 1 0,28

Проверка стохастичности 0,8 0,5 0 0,5 0,6 0,16

Выборочный коэффициент асимметрии 0 0,5 0 0,5 1 0,28

При переходе от второго уровня графа О (рис.) к первому необходимо определить значения частных критериев К/. Для этого воспользуемся следующей схемой: подсчитаем

отдельно внутри каждой группы сумму весов тестов, которые при анализе данной ПСЧ дали

положительный результат. Назовем эту величину степенью принадлежности к категории «СЛ» и обозначим как тсл. Сумму весов тестов, которые показали отрицательный результат, назовем степенью принадлежности к категории «НС» и обозначим тНс . Последовательность случайных чисел будет классифицирована как «СЛ» («НС») с точки зрения проверяемого группой тестов свойства, если Цсл (т нс ) для данной группы превышает некоторый пороговый уровень тСЛ (тНС), установленный для конкретного класса задач.

В табл. 3 приведен пример подобного расчета К/ для трех групп проверок.

Таблица З

Пример расчета Ki

Название теста Нормированный вес, SiH Результаты тестирования тСЛ m НС Общий результат Ki при цСЛ _ 0,75 , mНС _ 0,75

Г руппа проверок на равномерность

Частотный тест 0,28 П 0,9 0,1 СЛ

Тест «хи-квадрат» 0,31 П

Проверка по косвенным признакам 0,1 О

Двубитный тест 0,31 П

Г руппа проверок на независимость

Критерий частот 0,21 П 0,82 0 СЛ

Критерий серий 0,2 П

Критерий сериальной корреляции 0,18 Н

Автокорреляционный тест 0,2 П

Покерный тест 0,21 П

Г руппа проверок на стохастичность

Критерий разбиений 028 О 0,44 0,56 НО

Критерий подпоследовательностей 0,28 П

Проверка стохастичности 0,16 П

Выборочный коэффициент асимметрии 0,28 О

На основе полученных таким образом данных можно рассчитать комплексный критерий. Для этого необходимо:

1. Поставить в соответствие лингвистическим значениям, полученным при проверке по каждой из групп, нечеткие числа согласно формуле (3).

2. Каждой группе тестов Ki сопоставить некоторый вес Si, отражающий ее влияние на комплексный критерий случайности К . При этом Si представляют собой модифицированные веса Фишберна.

3. Применить мультипликативную свертку согласно формуле (1). При этом операции над нечеткими числами проводятся с использованием а-сечений [7]. Для реализации вычислений может быть использован специально разработанный программный модуль «Калькулятор НЧ», который позволяет производить арифметические операции над нечеткими трапециевидными числами.

4. Лингвистически распознать полученный результат. Для этого необходимо задаться мерой уровня распознавания, т. е. ввести так называемый индекс схожести (ИС) [8]. Индекс схожести может быть найден на основе хемингова или евклидова расстояний между нечетким

числом, характеризующим результат, и числами эталонного терм-множества (формула (3)) следующим образом [5]:

w_ ^

2

Г _ Р in Р out

Р in + Р out

где pout фактически представляет собой площадь нечеткого трапециевидного числа, которое характеризует результат, лежащую вне эталонного числа, а pin - площадь, лежащую внутри этого же эталонного числа.

Определенный таким образом ИС, изменяясь в диапазоне от 0 до 1, будет характеризовать близость найденной мультипликативной свертки к тому или иному числу эталонного терм-множества.

5. Предъявить лицу, принимающему решение (ЛПР), полученные значения для принятия или отклонения гипотезы о приемлемости данной ПСЧ для решаемой задачи.

Например, пусть по группам проверок на равномерность, независимость и стохастичность соответственно были получены результаты «СЛ», «СЛ» и «НО». Всем трем категориям были присвоены одинаковые веса: S1 _ S2 _ S3 _ 0,33 . Конечный результат, рассчитанный по формуле (1), в этом случае будет следующим: Ннс = 0; Нно = 0,27; НСл = 0,91.

Приведенная выше методика была положена в основу разработанной в среде Visual Studio 2008 на языке С# программы, позволяющей рассчитывать комплексный (интегральный) показатель качества ПСЧ [9].

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

Заключение

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

СПИСОК ЛИТЕРАТУРЫ

1. Рябко Б. Я., Фионов А. Н. Криптографические методы защиты информации. - М.: Горячая линия -Телеком, 2005. - 229 с.

2. http://intkon/org/reva-miheeva-os-istinno-sluchaynyie-chisla-trebovaniya-i-istochniki / Михеева О. С. Истинно случайные числа, требования и источники.

3. http://studscience.ru/text/532. Архангельская А. В. О требованиях к генераторам случайных чисел, используемых в криптографических приложениях.

4. Советов Б. Я., Яковлев А. М. Моделирование систем. - М.: Высш. шк., 2001. - 343 с.

5. Ажмухамедов И. М. Математическая модель комплексной безопасности компьютерных систем и сетей на основе экспертных суждений // Инфокоммуникационные технологии. - 2009. - Т. 7, № 4. -С. 103-107.

6. Фишберн П. Теория полезности для принятия решений. - М.: Наука, 1978. - 155 с.

7. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. - М.: Мир, 1976. - 165 с.

8. Проталинский О. М. Применение методов искусственного интеллекта при автоматизации технологических процессов. - Астрахань: Изд-во АГТУ, 2004. - 184 с.

9. Свидетельство о государственной регистрации программы для ЭВМ «Программа для комплексной оценки качества последовательностей случайных чисел» № 2010614210 от 30 июня 2010 г.

Статья поступила в редакцию 12.05.2010

THE METHODOLOGY FOR ASSESSING THE QUALITY OF RANDOM NUMBER SEQUENCE

I. M. Azhmukhamedov, N. A. Kolesova

The technique of integrated assessment of random number sequence quality is offered; it can be applied not only in making decisions on the admissibility of random number sequences in different applied task solution, but also provides more focused search of random number sequence of high quality.

Key words: random number sequence, independence, stochasticity, uniformity, additive and multiplicative criteria.