умножая данные из таблиц на 31,536 • 1012 для MIPS years, на 31,536 • 1015 для 1ГГц CPU years (~ 109 — средняя производительность одного процессора Pentium) и на 1012 для максимальной полученной производительности по LINPACK в TFlop/s.
Результаты интерполяции и экстраполяции данных представлены на рис. 1 и 2. Видно, что рост производительности суперкомпьютеров отстаёт от роста трудоёмкости алгоритма NSF при увеличении размера его входных данных.
опер/с
опер/с
Рис. 1. Рост трудоёмкости алгоритма NSF Рис- 2. Предполагаемьш р°ег пр°изводите,пь-в зависимости от размера модуля ности суперк°мпьютер°в
Экстраполяция данных трудоёмкости алгоритма NFS при возрастании модуля факторизации и производительности будущих суперкомпьютеров показывает отсутствие динамичности метода NFS.
Так, трудоёмкость факторизации 2048-битного модуля (значение модуля выбрано как далёкое от последних рекордных) стремится к 1023 опер/с, в то время как производительность перспективного суперкомпьютера предположительно будет составлять в 2025 г. от 1018 до 1019 опер/с.
Напрашивается вывод, что примерно с 768-битного модуля метод решета числового поля теряет свою динамичность.
ЛИТЕРАТУРА
1. Информационное сообщение о рекордных факторизациях различных модулей RSA. http: //www.crypto-world.com/FactorRecords.html.
2. Глухов М. М., Круглов И. А., ПичкурА.Б., Черемушкин А. В. Введение в теоретикочисловые методы криптографии. М.: Лань, 2011. 395с.
3. Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. М.: МЦНМО, 2006. 333 с.
4. Официальная страница Top500. http://www.top500.org/.
УДК 519.254
ТОЧНОЕ ВЫЧИСЛЕНИЕ РАСПРЕДЕЛЕНИЙ С ПОМОЩЬЮ ЦЕПЕЙ МАРКОВА
А. М. Зубков, М. В. Филина
Для построения статистических критериев с заданными вероятностями ошибок требуется знание распределений используемых в этих критериях статистик. Как правило, точные формулы слишком громоздки с вычислительной точки зрения. Поэто-
му вместо точных формул в качестве приближений часто используют формулы из соответствующих предельных теорем, относящихся к случаям, когда объём выборки неограниченно возрастает. Зависимость точности таких формул от объёма выборки обычно оценивается лишь по порядку. Поэтому представляют интерес методы точного вычисления распределений статистик для выборок умеренного объёма.
В нескольких работах авторов было показано, что в различных комбинаторно-вероятностных схемах можно строить предназначенные для реализации на ЭВМ алгоритмы точного вычисления распределений различных статистик с помощью аппарата неоднородных по времени цепей Маркова.
Так, в [1, 2] предложен способ вычисления распределений так называемых раздели-
N
мых статистик в полиномиальной схеме, имеющих вид £ = ^ /к), где VI,. . . , ^ —
к=1
числа появлений исходов 1,... , N с вероятностями а^ ... , aN в Т независимых испытаниях, а /1 (ж),... , /N(ж) —заданные функции. Примерами разделимых статистик
N
являются статистика Пирсона х = ^2^к — Трк)2/Трк, где р1,... ,pN — гипотетические
к=1
вероятности исходов, а также число исходов, не появившихся ни разу, число исходов, появившихся ровно г ^ 1 раз, и т. п.
П
Способ основан на том, что последовательность оп = ^ Vk, п = 0,1,... , N обра-
к=1
зует (неоднородную по времени) цепь Маркова с переходными вероятностями
РК = з+т | СТп-1 = з} = От_3
. . \ Т—5—
т I -п ) I ап+1 + ... + aN
ап + ап+1 + ... + aN ) \ап + ап+1 + ... + аN
а последовательность сумм (п = ^ /к^к), п = 0,1,...,N, является аддитив-
к=1
ным функционалом от траектории цепи |ап}. Поэтому последовательность Хп = = (оп, Сп), п = 0,1,... , N, тоже является дискретной цепью Маркова с переходными вероятностями
Р(£п = (з + т, г + /п(т)) | ^п = (з, г)} = Р{оп = з + т | о,п—1 = з}.
Это позволяет рекуррентно находить распределения Х1, Х2,... , SN обычным умножением векторов распределений на матрицы переходных вероятностей. Распределение ZN совпадает с искомым распределением разделимой статистики £.
В [4, 5] приведены результаты численного исследования распределений статистики Пирсона для схем с числом исходов до нескольких сотен и числом испытаний до нескольких тысяч. Эксперименты обнаружили неожиданные отличия точных распределений от их обычно используемых аппроксимаций. Игнорирование этих отличий может приводить к принятию неправильных решений из-за некорректной интерпретации результатов статистической обработки данных.
В [3] описан более сложный способ построения цепей Маркова, позволяющих находить распределения чисел связных компонент и циклических точек в графах случайных равновероятных отображений множества из N элементов и в графах итераций двух таких отображений. Результаты вычислений для N ^ 2000 показали, что при таких N точность приближений, полученных с помощью предельных теорем, невелика.
ЛИТЕРАТУРА
1. Зубков А. М. Рекуррентные формулы для распределений функционалов от дискретных случайных величин // Обозр. прикл. промышл. математики. 1996. Т. 3. Вып. 4. С.567-573.
2. Зубков А. М. Методы расчета распределений сумм случайных величин // Труды по дискретной математике. М.: Физматлит, 2002. Т. 5. С. 51-60.
3. Зубков А. М. Вычисление распределений чисел компонент и циклических точек случайного отображения // Математические вопросы криптографии. 2011. Т. 1. №2. С. 5-18.
4. Filina M. V. and Zubkov A. M. Exact computation of Pearson statistics distribution and some experimental results // Austrian J. Statistics. 2008. V. 37. No. 1. P. 129-135.
5. Filina M. V. and Zubkov A. M. Tail properties of Pearson statistics distributions. // Austrian J. Statistics. 2011. V. 40. No. 1&2. P. 47-54.
УДК 004.432.2
ВЫЧИСЛЕНИЕ СОВЕРШЕННОЙ НЕЛИНЕЙНОСТИ БУЛЕВОЙ ФУНКЦИИ НА ГРАФИЧЕСКОМ ПРОЦЕССОРЕ
А. В. Медведев
Для криптографических приложений представляют интерес функции с высокими показателями «нелинейности», потому что они труднее поддаются анализу. Существует несколько характеристик нелинейности функции, одна из них — совершенная нелинейность [1], которая показывает, насколько функция удалена от класса функций с линейной структурой. Разработан алгоритм вычисления совершенной нелинейности произвольной булевой функции для параллельной реализации на видеокартах NVIDIA, поддерживающих технологию CUDA [2].
Обозначим через P2 (n) множество всех булевых функций от n ^ 1 переменных и X — область их определения, X = {0,1}n.
Определение 1. Для функции f £ P2(n) и набора a £ X функция f (x) = = f (x) ® f (x ® a) называется производной функции f по направлению a.
Определение 2. Говорят, что булева функция f имеет линейную структуру, если существует вектор a £ X \ {0n}, что f = const, т. е. f = fa либо —f = fa. Множество всех функций в P2(n), имеющих линейную структуру, обозначается LS(n).
Определение 3. Число CNf = d(f, LS(n)) = min d(f, g) называется совершен-
geLS(n)
ной нелинейностью функции f. Здесь d(f, g) —расстояние между функциями f и g, равное количеству наборов, на которых они различаются.
Существует ряд способов вычисления CNf; наиболее подходящим для параллельной реализации оказался следующий:
CNf = гmin(w(f)’2n - w(f))/2,
aeX\{0n}
где w(.) —вес булевой функции. Основную трудность здесь представляет вычисление функции f (x ф a). Проблема состоит в том, что CUDA предполагает запуск большого числа нитей параллельно [3], но их совокупная память ограничена (3 Гб для Tesla C2050), поэтому невозможно хранить значения f (x ф a) для каждой нити, и вес производной вычисляется «по частям» (алгоритм 1).