САМОПРОВЕРЯЕМЫЙ СПЕЦИАЛИЗИРОВАННЫЙ ВЫЧИСЛИТЕЛЬ СИСТЕМ БУЛЕВЫХ ФУНКЦИЙ
SELF-CHECKING SPECIAL-PURPOSE COMPUTER OF BOOLEAN FUNCTION SYSTEMS

Предлагаемое устройство относится к вычислительной технике и может быть использовано для параллельной реализации систем булевых функций с функцией обеспечения контроля ошибок вычислений в средствах криптографической защиты информации.
Известно вычислительное устройство, содержащее шифраторы, выходы которых подключены к входам устройств сравнения, выходы которых подключены к входам устройства управления, выходы которого подключены к постоянным запоминающим устройствам (ПЗУ), предназначенным для хранения констант ортогональных базисов и общего модуля системы, выходы которых подключены к входам умножителей, к которым также подключены выходы шифраторов, на входы которых поступают значения наименьших неотрицательных вычетов по системе попарно простых и упорядоченных модулей системы, значения первого из которых поступают на вход первого умножителя и входы устройств сравнения. Выходы умножителей и выход ПЗУ, предназначенного для хранения констант общего модуля системы, подключены к входам сумматора по общему модулю, выход которого является шиной выдачи результата вычислений (Финько, О.А. Контроль и реконфигурация аналого-цифровых устройств, функционирующих в системе остаточных классов / О.А. Финько // Электронное моделирование. Том №22.4.2000. - С. 92-103).
Недостаток известного устройства - отсутствие функциональных возможностей безошибочного (достоверного) вычисления двоичных псевдослучайных последовательностей, идентичных псевдослучайным последовательностям, получаемым посредством классических генераторов на линейных рекуррентных регистрах сдвига.
12
Наиболее близким по сущности технического решения заявленному устройству является вычислительное устройство, включающее в себя блоки памяти, предназначенные для хранения коэффициентов полиномов избыточной числовой нормальной формы, входы которых являются входами устройства, к которым подключена шина подачи булевых переменных, выходы которых соединены с входами многоместных сумматоров, выходы которых соединены с информационными входами многоканальных мультиплексоров, выходы первого мультиплексора подключены к входам блока вычисления остатка по модулю и информационным входам регистра памяти, выходы которого являются выходами устройства выдачи значений булевых функций, выходы второго мультиплексора подключены к входам блока вычисления остатка по модулю, выходы которого подключены к входам элемента ИЛИ-НЕ, выход которого подключен к первому входу элемента И, второй вход которого подключен к входу подачи синхроимпульсов устройства, а выход - подключен к синхровходу регистра памяти; шина подачи коэффициентов полинома избыточной числовой нормальной формы подключена к входам блоков памяти; блок памяти хранения адресов информационных разрядов, к входу которого подключена шина адреса, выход которого подключен к адресным входам мультиплексоров (Пат. 2485575 Российская Федерация, МПК G06F 7/57. Самопроверяемый специализированный вычислитель систем булевых функций [Текст] / О.А. Финько, С.А. Диченко, А.К. Вишневский. - №2012120739; заявл. 18.05.2012; зарегистр. 20.06.2013 - 14 с.: ил.).
Недостаток известного устройства - отсутствие функциональных возможностей безошибочного (достоверного) вычисления двоичных псевдослучайных последовательностей, идентичных псевдослучайным последовательностям, получаемым посредством классических генераторов на линейных рекуррентных регистрах сдвига.
Цель изобретения - расширение функциональных возможностей устройства за счет обеспечения возможности безошибочного (достоверного) вычисления двоичных псевдослучайных последовательностей, идентичных псевдослучайным последовательностям, получаемым посредством классических генераторов на линейных рекуррентных регистрах сдвига.
Поставленная цель достигается тем, что в самопроверяемый специализированный вычислитель систем булевых функций, содержащий шину подачи τ булевых переменных, блок памяти, предназначенный для хранения коэффициентов линейного числового полинома, к входу которого подключена шина подачи коэффициентов; дополнительно введены регистр памяти, входы которого являются входами устройства, к которым подключена шина подачи τ булевых переменных; блок памяти, предназначенный для хранения оснований системы, к входу которого подключена шина подачи оснований системы, выходы которого вместе с выходами блока памяти хранения коэффициентов линейного числового полинома подключены к входам блоков вычисления наименьших неотрицательных вычетов числа (коэффициентов линейного числового полинома) по основаниям системы, выходы которых вместе с выходами регистра памяти подключены к входам множителей, выходы которых подключены к входам многоместных сумматоров, выходы которых подключены к входам блока решения системы сравнений с одним неизвестным, выход которого подключен к входам блока сравнения и блока оператора маскирования, выход блока сравнения подключен ко второму входу блока оператора маскирования, выходы которого являются выходами устройства выдачи значений τ булевых функций.
Структурная схема предлагаемого устройства дана на фиг. 1.
Предлагаемое устройство предназначено для вычисления двоичных псевдослучайных последовательностей (ПСП), идентичных ПСП, получаемым посредством классических генераторов на линейных рекуррентных регистрах сдвига (ЛРРС), с функцией осуществления контроля ошибок вычислений. Работа устройства основана на представлении систем рекурсивных характеристических уравнений линейными числовыми полиномами (ЛЧП).
Алгоритмы и устройства генерации ПСП, основанные на использовании рекуррентных логических выражений и неприводимых полиномов, наиболее простым по структуре из которых является ЛРРС (фиг. 2), считаются наиболее распространенными и проверенными практикой (Бабаш, А.В. Криптография / А.В. Бабаш, Г.П. Шанкин. - М.: СОЛОН-Р, 2002. - 575 с.).
Структура ЛРРС определяется образующим многочленом:
i
где τ, t∈N (i=1, 2, …, l), а также полученным на его основе характеристическим уравнением:
p
где x, , cj∈{0, 1}; р∈N; j=0, 1, …, τ-1; .
р+τ
В терминах линейной алгебры очередной элемент ПСП х вычисляется произведением (Песошин, В.А. Генераторы псевдослучайных и случайных чисел на регистрах сдвига: моногр. / В.А. Песошин, В.М. Кузнецов. - Казань: Казан. гос. техн. ун-т, 2007. - 296 с.):
Для осуществления контроля ошибок вычислений в области цифровой схемотехники известны решения, основанные на использовании методов избыточного модулярного кодирования (Согомонян, Е.С. Самопроверяемые устройства и отказоустойчивые системы [Текст] / Е.С. Согомонян, Е.В. Слабаков. - М.: Радио и связь, 1989. - 208 с.). Для применения этих методов к генераторам ПСП необходимо предварительно решить задачу распараллеливания процесса вычислений ПСП.
Решение задачи основано на применении классических параллельных алгоритмов вычисления рекурсий (Ортега, Дж. Введение в параллельные и векторные методы решения линейных систем [Текст] / Дж. Ортега. - М.: Мир, 1991. - 365 с.). Так, например, информационные связи рекурсии (1) можно представить графической зависимостью (фиг. 3).
q-1,0
q-1,t
q-1,τ-1
q-1,0
q-1,1
q,0
q,0
q-1,0
q-1,t
В частности, ЛРРС длины τ , реализующий данный метод, имеет r ячеек памяти, значения которых совместно образуют (начальное) состояние (x, …, x, …, x). После первого такта работы ЛРРС выдаст x и перейдет в состояние (x, …, x), где x=x ⊕ x. Продолжая таким образом, ЛРРС генерирует ПСП. Общий вид данного ЛРРС представлен на фиг. 4.
Так, например, для характеристического уравнения:
p+τ
p+t
p
τ
t
где x, x, x∈{0,1}, соответствующего триному D(x)=χ+χ+1 (где τ - степень тринома; τ, t∈N; τ≥3; 1≤t≤τ-1), информационные связи рекурсии (2) характеризуются графической зависимостью, представленной на фиг. 5, в соответствии с которой можно построить систему характеристических уравнений (3):
Реализация системы (3) позволяет одновременно получить q-й блок ПСП, состоящий из τ элементов. Выразим правые части системы (3) через заданные начальные условия и представим ее как систему τ булевых функций (БФ)(4) от τ переменных:
где  - вектор начальных условий.
j
Используем правило представления БФ f ЛЧП (Малюгин, В.Д. Параллельные логические вычисления посредством арифметических полиномов [Текст] / В.Д. Малюгин. - М.: Наука. Физматлит, 1997. - 190 с.):
j
1
n
j
1
n
где результат вычисления БФ f(x, …, x) соответствует значению младшего разряда двоичного представления результата вычисления L(x, …, x).
Получим систему ЛЧП:
Получим общий ЛЧП:
j
где , k=1, 2, …, τ-1; h∈Z, или
(5)
a
a
a
a
r
t
2
1
2
2
Окончательный результат образуется путем реализации оператора маскирования . Оператор маскирования  служит для определения значения t-й БФ представления, U=(……) (запись (…) означает запись в 2-ичной системе счисления), то есть  (Шмерко, В.П. Теоремы Малюгина: новое понимание в логическом управлении, проектировании СБИС и структурах данных для новых технологий [Текст] / В.П. Шмерко // Автоматика и телемеханика. - 2004. - №6. - С. 104-112). Граф вычисления ЛЧП (5) представлен на фиг. 6.
Таким образом, полученный ЛЧП (5) позволяет реализовать q-й блок ПСП длины τ. Значения полученного блока ПСП будут являться начальным заполнением для ЛЧП, реализующего следующий блок последовательности длиной, равной τ.
22
22
0
1
Пример 1. На фиг. 7 представлен 22-разрядный ЛРРС, структура которого определяется образующим триномом D(χ)=χ+χ+1 и характеристическим уравнением х=x⊕x. Система уравнений участка ПСП длины τ=22 имеет вид:
Запишем систему характеристических уравнений как систему БФ:
Получим систему ЛЧП:
Получим общий ЛЧП:
16
где запись (…) означает запись в 16-ричной системе счисления.
q-1,0
q-1,1
q-1,2
q-1,3
q-1,4
q-1,5
q-1,6
q-1,7
q-1,8
q-1,9
q-1,10
q-1,11
q-1,12
q-1,13
q-1,14
q-1,15
q-1,16
q-1,17
q-1,18
q-1,19
q-1,20
q-1,21
Пусть x=1, x=0, x=0, x=0, x=0, x=1, x=0, x=0, x=0, x=0, x=0, x=0, x=1, x=0, x=0, x=0, x=1, x=0, x=0, x=0, x, x=1, тогда
Таким образом, посредством одного ЛЧП получим g-блок ПСП длины τ=22.
1
2
η
η+1
k
В модулярной арифметике (МА) целое неотрицательное число А может быть однозначно представлено набором остатков по основаниям МА р<р<…<р<p<…<p:
η
1
2
η
1
2
η
η+1
κ
где Р=pp…р>А; ;  - наименьший неотрицательный вычет числа · по модулю p; p<p<…<p<p<…<p - попарно простые; j=1, 2, …, η, η+1, …, κ (Акуш-ский, И.Я. Машинная арифметика в остаточных классах [Текст] / И.Я. Акушский, Д.И. Юдицкий. - М.: Советское радио, 1968. - 440 с.).
1
2
η
η+1
κ
κ
η
η+1
κ
κ
η
η
1
2
η
η
κ
κ
η
η
η
При этом остатки МА α, α, …, … α считаются информационными, a α, …, α - контрольными (избыточными). Сама МА является в этом случае расширенной, где Р=Pp…p, и охватывает полное множество состояний, представляемых всеми к вычетами. Эта область будет являться полным диапазоном МА [0, Р) и состоять из рабочего диапазона [0, P), где P=pp…p, определяемого неизбыточными основаниями МА, и диапазона, определяемого избыточными основаниями [Р, Р), представляющего недопустимую область. Это означает, что операции над числом А выполняются в диапазоне [0, Р). Поэтому, если результат операции МА выходит за пределы P, то делается вывод об ошибке вычислений. Полученные числа, меньшие P, будем называть правильными, равные или большие P - неправильными (Акушский, И.Я. Машинная арифметика в остаточных классах [Текст] / И.Я. Акушский, Д.И. Юдицкий. - М.: Советское радио, 1968. - 440 с.).
1
2
η
κ
i
Для осуществления контроля ошибок арифметических вычислений при реализации ЛЧП (5) рассмотрим систему, заданную основаниями p, p, …, p, …, p. Представим каждый коэффициент h ЛЧП (5) в виде (6), построим систему малоразмерных ЛЧП вида:
1
η
κ
Малоразмерность ЛЧП системы (7) будет обеспечиваться малой величиной коэффициентов , определяемых выбранными основаниями системы p, …, p, …, р.
i
q-1,0
q-1,τ-1
Подставив в (7) значения остатков системы по соответствующим основаниям для каждого коэффициента h ЛЧП (5), а также значения переменных x, …, x, получим избыточный модулярный код (МК), представленный системой ЛЧП (7):
(1)
(2)
(η)
(κ)
МК
(u, u, …, u, …, u),
(1)
(2)
(η)
(κ)
где u, u, …, u, …, u - целые числа.
Решим систему выражений с одним неизвестным:
1
2
η
κ
Так как основания р, р, …, p, …, р попарно просты, то в соответствии с известными положениями теории чисел единственным решением системы (8) является выражение:
где , .
Вхождение результата вычисления (9) в рабочий диапазон (контрольное выражение):
означает отсутствие обнаруживаемых ошибок вычислений.
Пример 2. Пусть q-й блок участка ПСП представлен одним ЛЧП вида:
q-1
q-1,0
q-1,1
q-1,2
q-1,3
L(X)=65x+69x+20x+80x.
1
2
3
4
5
5
Выберем основания системы: p=2, р=3, p=5, p=11, p=13, где р - контрольное основание.
4
1
2
3
4
5
4
5
Рабочий и полный диапазоны системы в этом случае равны: Р=pppp=330 и Р=Рр=4290 соответственно.
Представим каждый коэффициент ЛЧП в виде набора остатков по выбранным основаниям системы:
1
МА
h=65=(1, 2, 0, 10, 0),
2
МА
h=69=(1, 0, 4, 3, 4),
3
МА
h=20=(0, 2, 0, 9, 7),
4
МА
h=80=(0, 2, 0, 3, 2).
Построим систему (7):
q-1,0
q-1,1
q-1,3
q-1,2
МК
(1)
(2)
(3)
(4)
(5)
Пусть x=x=x=1, x=0, тогда u=2, u=4, u=4, u=16, u=6, получим избыточный МК: (2, 4, 4, 16, 6).
Решим систему (8):
в соответствии с (9) получим: U=214.
Так как результат вычисления U удовлетворяет 0≤U<330, то будем считать, что при вычислениях ошибка допущена не была либо произошла необнаруживаемая ошибка.
На чертежах представлено:
на фиг. 1 изображен самопроверяемый специализированный вычислитель систем булевых функций;
на фиг. 2 изображен общий вид ЛРРС;
на фиг. 3 изображена структурная схема информационных связей рекурсии (1);
на фиг. 4 изображен общий вид ЛРРС (частный случай: образующий полином - трином);
на фиг. 5 изображена структурная схема информационных связей рекурсии (2);
на фиг. 6 изображена структурная схема информационных связей ЛЧП (5);
на фиг. 7 изображена структурная схема 22-х разрядного ЛРРС.
q-1,0
q-1,0
q-1,τ-1
1
τ
1
η
η+1
κ
1
τ
1
η
η+1
κ
q,0
q-1
q,τ-1
q-1
Предлагаемое устройство содержит: шину 10 подачи значений τ булевых переменных x, x, …, x, шину 11 подачи коэффициентов h, …, h ЛЧП, шину 12 подачи оснований системы (информационные: р, …, p; контрольные: p, …, p), регистр памяти 1, блок памяти 2 коэффициентов h, …, h ЛЧП, блоки 3.1.1, …, 3.1.τ, …, 3.η.1, …, 3.η.τ, …, 3.κ.1, …, 3.κ.τ вычисления наименьших неотрицательных вычетов числа (коэффициентов ЛЧП) по основаниям системы, множители 4.1.1, …, 4.1.τ, …, 4.η.1, …, 4.η.τ, …, 4.κ.1, …, 4.κ.τ, блок памяти 5 оснований р, …, p, p, …, р системы, многоместные сумматоры 6.1, …, 6.η, …, 6.κ, блок 7 решения системы сравнений с одним неизвестным, блок сравнения 8, блок оператора маскирования 9, выходы 13.1, …, 13.τ выдачи значений τ БФ f(X), …, f(X) соответственно.
q-1,0
q-1,1
q-1,τ-1
1
τ
1
η
η+1
κ
q,0
q-1
q,τ-1
q-1
Шина 10 подачи значений τ булевых переменных x, x, …, X является входом регистра памяти 1, шина 11 подачи коэффициентов ЛЧП является входом блока памяти 2 коэффициентов h, …, h ЛЧП, предназначенного для их хранения, шина 12 подачи оснований системы является входом блока памяти 5 оснований р, …, p, p, …, р системы, предназначенного для их хранения, выходы блоков памяти 2 и 5 являются входами блоков 3.1.1, …, 3.1.τ, …, 3.η.1, …, 3.η.τ, …, 3.κ.1, …, 3.κ.τ вычисления наименьших неотрицательных вычетов числа (коэффициентов ЛЧП) по соответствующим основаниям системы, выходы которых вместе с выходами регистра памяти 1 являются входами множителей 4.1.1, …, 4.1.τ, …, 4.η.1, …, 4.η.τ, …, 4.κ.1, …, 4.κ.τ, выходы которых являются входами многоместных сумматоров 6.1, …, 6.η, …, 6.κ, выходы которых являются входами блока 7 решения системы сравнений с одним неизвестным, выход которого подключен к входам блока сравнения 8 и блока оператора маскирования 9, выход блока сравнения 8 является вторым входом блока оператора маскирования 9, выходы которого являются выходами устройства выдачи значений τ БФ f(X), …, f(X) соответственно.
Предлагаемое устройство работает следующим образом.
1
τ
1
η
η+1
k
q-1,0
q-1,1
q-1,τ-1
q-1,0
q-1,1
q-1,τ-1
МК
η
q,0
q-1
q,τ-1
q-1
q,0
q,1
q,τ-1
(1)
(η)
(κ)
(1)
(η)
(κ)
(1)
(2)
(η)
(η+1)
(1)
(η)
(κ)
В исходном состоянии в блоки 2 и 5 памяти занесены по шинам 11 и 12 коэффициенты h, …, h ЛЧП и основания р, …, p, p, …, p системы соответственно, с их выходов на входы блоков 3.1.1, …, 3.1.τ, …, 3.η.1, …, 3.η.τ, …, 3.κ.1, …, 3.κ.τ вычисления наименьших неотрицательных вычетов числа (коэффициентов ЛЧП) по основаниям системы поступают коэффициенты ЛЧП (5) и основания системы. В момент времени, соответствующий началу преобразований, на входы регистра памяти 1 из шины 10 поступают значения булевых переменных x, x, …, X. С выходов регистра памяти 1 и блоков 3.1.1, …, 3.1.τ, …, 3.η.1, …, 3.η.τ, …, 3.κ.1, …, 3.κ.τ вычисления наименьших неотрицательных вычетов числа (коэффициентов ЛЧП) по основаниям системы на входы множителей 4.1.1, …, 4.1.τ, …, 4.η.1, …, 4.η.τ, …, 4.κ.1, …, 4.κ.τ поступают наименьшие неотрицательные вычеты  и значения булевых переменных x, x, …, X. С выходов множителей 4.1.1, …, 4.1.τ, …, 4.η.1, …, 4.η.τ, …, 4.κ.1, …, 4.κ.τ на входы многоместных сумматоров 6.1, …, 6.η, …, 6.κ поступают произведения . С выходов многоместных сумматоров 6.1, …, 6.η, …, 6.κ на входы блока 7 решения системы сравнений с одним неизвестным поступают числовые результаты вычисления ЛЧП u, …, u, …, u. Значения u, …, u, …, u являются избыточным МК, представленным системой ЛЧП (7): (u, u, …, u,u), где u, …, u, …, u - целые числа. С выхода блока 7 решения системы сравнений с одним неизвестным на входы блока сравнения 8 и блока оператора маскирования 9 поступает числовой результат вычисления (9). Вхождение результата вычисления (9) в рабочий диапазон (контрольное выражение): 0≤U<Р означает отсутствие обнаруживаемых ошибок вычислений. Таким образом, при отсутствии ошибок вычислений с блока сравнения 8 на вход блока оператора маскирования 9 поступает сигнал, разрешающий выполнять операцию маскирования, в противном случае - запрещающий. С выхода блока оператора маскирования 9 получим значения БФ f(X), …, f(X), которые соответствуют элементам g-го блока ПСП x, x, …, x.