УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ДВОЙНОМУ МОДУЛЮ Российский патент 2007 года по МПК G06F7/72 

Описание патента на изобретение RU2299462C1

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

Известно устройство для формирования остатка по произвольному модулю от числа, содержащее элементы ИЛИ, формирователи импульсов, счетчики, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, блоки умножения, элемент И, группу сумматоров по модулю два (см. АС СССР №1238077, кл. G06F 11/08, 15.06.1986).

Недостатком данного устройства является низкое быстродействие, а также отсутствие возможности формирования остатков по двойному модулю.

Наиболее близким по технической сущности к заявляемому изобретению является комбинационный рекуррентный формирователь остатков, содержащий узлы формирования частичных остатков, ключи и сумматоры по произвольному модулю (см. патент РФ №2029435, кл. Н03М 7/18, 20.02.1995).

Недостатком данного устройства являются его ограниченные функциональные возможности, а именно отсутствие возможности формирования остатков по двойному модулю.

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

Сущность изобретения заключается в реализации следующего способа формирования остатков по двойному модулю.

Известно, что элементами расширенного поля Галуа GF(рn) являются полиномы вида

причем аi принадлежит полю GF(р).

Процедуру вычисления остатка от полинома А(х) по двойному модулю (F(x), р), где А(х) и F(x) - полиномы над полем GF(рn), причем F(x) является неприводимым полиномом над полем GF(рn), можно представить в виде вычисления частичных остатков от каждой степени полинома А(х) с последующим их суммированием в соответствии со значением коэффициента при данной степени.

Алгоритм формирования остатка по двойному модулю имеет следующий вид.

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

Если полиномы А(х) и F(x) представить в виде A(x)=anxn+an-1xn-1+...+a1x+a0 и F(x)=bkxk+bk-1xk-1+...+b1x+b0, причем k меньше n, то частичный остаток от А(х) по двойному модулю (F(x), р) имеет вид R(x)=ck-1xk-1+ck-2xk-2+...+c1x+c0. Коэффициенты при степенях R(x) формируются на основании коэффициентов, полученных при вычислении частичного остатка от предыдущей степени полинома А(х), и коэффициентов полинома F(x) на основании выражения:

R*(x)=(ck-2-ck-1bk-1)xk-1+(ck-3-ck-1bk-2)xk-2+...+(c0-ck-1b1)x+(-ck-1b0).

Каждый сформированный частичный остаток поступает на вход сумматора, где складывается по модулю р с результатом предыдущих вычислений. С выхода каждого сумматора результат поступает на вход последующего сумматора, а на выходе последнего сумматора по завершении всех операций будет сформирован остаток от полинома А(х) по двойному модулю (F(x), p).

На фиг.1 представлена схема устройства формирования остатка по двойному модулю, на фиг.2 - схема блока формирования частичных остатков, на фиг.3 - схема блока формирования коэффициентов.

Устройство формирования остатка по двойному модулю состоит из (n+1) последовательно соединенных блоков 1 формирования частичных остатков, (n+1) умножителей 2 по модулю и n сумматоров 3 по модулю.

Первый вход первого блока 1 формирования частичных остатков служит для записи кода «1», являющегося кодом начала операции, на первый вход каждого из последующих блоков 1 формирования частичных остатков подаются выходы разрядов предыдущего блока 1 формирования частичных остатков со сдвигом на один разряд в сторону старшего. Второй вход каждого блока 1 формирования частичных остатков служит для записи кода модуля p, поступающего со входа 5 устройства. На третий вход каждого блока 1 формирования частичных остатков подаются коэффициенты полинома модуля.

Выход i-го блока 1 формирования частичных остатков также подается на вход i-го умножителя 2 по модулю, причем i=1, ..., n+1, для перемножения со значением коэффициента при (i-1)-й степени полинома А(х), поступающим на второй вход умножителя 2 по модулю со входа 6 устройства. На третий вход каждого умножителя 2 по модулю подается код модуля р со входа 5 устройства.

Выход j-го умножителя 2 по модулю подается на первый вход (j-1)-го сумматора 3 по модулю, причем j=2, ...n+1, выход первого умножителя 2 по модулю подается на второй вход первого сумматора 3 по модулю. На второй вход j-го сумматора 3 по модулю подается выход (j-1)-го сумматора 3 по модулю. На третий вход каждого сумматора 3 по модулю подается код модуля р со входа 5 устройства. Выход n-го сумматора является выходом устройства.

Блок 1 формирования частичных остатков (фиг.2) содержит k блоков 7 формирования коэффициентов, на первые входы которых подается коэффициент при (k-1)-й степени частичного остатка, полученного на предыдущем шаге. На второй вход m-го блока 7 формирования коэффициентов подается коэффициент при (m-2)-й степени частичного остатка, полученного на предыдущем шаге, причем m=2, ..., k, второй вход первого блока 7 формирования коэффициентов отключен. На третий вход r-го блока 7 формирования коэффициентов подается коэффициент при (r-1)-й степени полинома модуля, поступающий со входа 4 устройства, причем r=1, ..., k. Выход r-го блока 7 формирования коэффициентов представляет коэффициент при (r-1)-й степени частичного остатка.

Блок 7 формирования коэффициентов (фиг.3) содержит последовательно соединенные умножитель 8 по модулю, вычитатель 9 по модулю и сумматор 10 по модулю, причем на первый вход умножителя 8 по модулю подключен первый вход блока 7 формирования коэффициентов, на второй вход умножителя 8 по модулю подключен третий вход блока 7 формирования коэффициентов. Второй вход блока 7 формирования коэффициентов подключен ко второму входу сумматора 10 по модулю. Выход умножителя 8 по модулю подключен к первому входу вычитателя 9 по модулю, выход которого подключен к первому входу сумматора 10 по модулю. К третьему входу умножителя 8 по модулю, второму входу вычитателя 9 по модулю и третьему входу сумматора 10 по модулю подается код модуля р со входа 5 устройства.

Устройство работает следующим образом. В исходном состоянии на вход 4 поданы коэффициенты полинома модуля F(x), на вход 5 устройства подан код модуля р. Входы 4 и 5 определяют двойной модуль (F(x),p), по которому формируется остаток от полинома А(х). Коэффициенты данного полинома со входа 6 устройства поданы на вторые входы соответствующих умножителей 2 по модулю и определяют значение частичного остатка от соответствующей степени полинома А(х), которое поступит в сумматор 3 по модулю.

Процесс формирования остатка начинается с подачи на первый вход первого блока 1 кода числа «1». В блоке 1 формирования частичных остатков данный код поступает на второй вход второго блока 7 формирования коэффициентов. В блоке 7 формирования коэффициентов данный код складывается в сумматоре 10 по модулю с результатом, полученным в блоке вычитателя 9 при вычитании значения, поступившего с выхода умножителя 8 по модулю, из значения модуля р. Умножитель 8 по модулю формирует произведение значений, поступающих на его вход со входов 1 и 3 блока 7 формирования коэффициентов.

Полученное значение коэффициента с выхода сумматора 10 по модулю поступает на выход блока 7 формирования коэффициентов, после чего вместе со значениями коэффициентов, сформированными в остальных блоках 7 формирования коэффициентов, поступает на выход блока 1 формирования частичных остатков. С выхода блока 1 формирования частичных остатков значения коэффициентов поступают на вход последующего блока 1 формирования частичных остатков со сдвигом на один разряд в сторону старшего, где с ними осуществляются все вышеуказанные операции, а также на вход умножителя 2 по модулю. В умножителе 2 по модулю значения коэффициентов частичного остатка умножаются на значение коэффициента при степени полинома А(х), от которой вычисляется остаток (на вход i-го умножителя 2 по модулю подается значение коэффициента при (i-1)-й степени полинома А(х), где i=1, ..., n) в соответствии с модулем р, поступающим со входа 5 устройства. С выхода умножителя 2 по модулю полученные значения поступают на вход сумматора 3 по модулю, где суммируются со значениями, полученными на предыдущем шаге, в соответствии с модулем р, поступающим со входа 5 устройства. Значения коэффициентов, полученные на выходе n-го сумматора 3 по модулю, являются коэффициентами остатка от полинома А(х) по двойному модулю (F(x), p).

Похожие патенты RU2299462C1

название год авторы номер документа
УМНОЖИТЕЛЬ ПО МОДУЛЮ 2005
  • Петренко Вячеслав Иванович
  • Кузьминов Юрий Владимирович
RU2299461C1
УМНОЖИТЕЛЬ НА ДВА ПО МОДУЛЮ 2005
  • Петренко Вячеслав Иванович
  • Кузьминов Юрий Владимирович
RU2299460C1
УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ 2006
  • Петренко Вячеслав Иванович
  • Кузьминов Юрий Владимирович
RU2316042C1
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ ОТ ЧИСЛА 2006
  • Петренко Вячеслав Иванович
  • Кузьминов Юрий Владимирович
  • Карагулян Дмитрий Левонович
  • Мосин Олег Викторович
RU2324972C2
ГЕНЕРАТОР ПРОИЗВОДНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ 2007
  • Петренко Вячеслав Иванович
  • Кузьминов Юрий Владимирович
RU2327200C1
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ 2007
  • Петренко Вячеслав Иванович
  • Сидорчук Алеся Вячеславовна
  • Кузьминов Юрий Владимирович
RU2368942C2
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО 1992
  • Петренко Вячеслав Иванович
  • Чипига Александр Федорович
RU2025897C1
РЕКУРРЕНТНЫЙ ФОРМИРОВАТЕЛЬ ОСТАТКОВ ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ 1991
  • Петренко Вячеслав Иванович
  • Чипига Александр Федорович
RU2007037C1
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ПРОИЗВОЛЬНОМУ МОДУЛЮ ОТ ЧИСЛА 1991
  • Петренко Вячеслав Иванович
  • Чипига Александр Федорович
RU2007033C1
КОМБИНАЦИОННЫЙ РЕКУРРЕНТНЫЙ ФОРМИРОВАТЕЛЬ ОСТАТКОВ 1992
  • Петренко Вячеслав Иванович
  • Чипига Александр Федорович
RU2029435C1

Иллюстрации к изобретению RU 2 299 462 C1

Реферат патента 2007 года УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО ДВОЙНОМУ МОДУЛЮ

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах для формирования кодовых последовательностей, построение которых основано на теории конечных полей. Техническим результатом является расширение функциональных возможностей за счет формирования остатков по двойному модулю, путем вычисления частичных остатков от степеней полинома с последующим их суммированием в соответствии с коэффициентами при степенях полинома. Устройство содержит блоки формирования частичных остатков, умножители по модулю, сумматоры по модулю. 2 з.п. ф-лы, 3 ил.

Формула изобретения RU 2 299 462 C1

1. Устройство для формирования остатка по двойному модулю, содержащее (n+1) блоков формирования частичных остатков, n сумматоров по модулю, причем первый вход первого блока формирования частичных остатков соединен с входом записи кода начала операции, первый вход i-го блока формирования частичных остатков соединен с выходом (i-1) блока формирования частичных остатков, где i=2, ..., n+1, вторые входы блоков формирования частичных остатков соединены со входом записи значений коэффициентов полинома модуля, отличающееся тем, что в него введены (n+1) умножителей по модулю, причем первый вход j-го умножителя по модулю соединен с выходом j-го блока формирования частичных остатков, где j=1, ...,n+1, вторые входы умножителей по модулю соединены с входом записи значений коэффициентов полинома, третьи входы умножителей по модулю соединены с входом записи кода модуля, выход i-го умножителя по модулю соединен с первым входом (i-1) сумматора по модулю, выход первого умножителя по модулю соединен со вторым входом первого сумматора по модулю, выход m-го сумматора по модулю соединен со вторым входом (m+1)-го сумматора по модулю, где m=1, ...,n-1, третьи входы сумматоров по модулю соединены с входом записи кода модуля, выход n-го сумматора по модулю является выходом устройства.2. Устройство по п.1, отличающееся тем, что в блок формирования частичных остатков содержит k блоков формирования коэффициентов, причем первые входы блоков формирования коэффициентов подключены к входу записи коэффициента при (k-1)-й степени частичного остатка, второй вход r-го блока формирования коэффициентов подключен к входу записи коэффициента при (r-1)-й степени частичного остатка, где r=2, ..., k, второй вход первого блока формирования коэффициентов отключен, третий вход v-го блока формирования коэффициентов, где v=1, ..., k, соединен с входом записи коэффициента при (v-1)-й степени полинома модуля, четвертый вход блоков формирования коэффициентов подключен к входу записи кода модуля, выходы блоков формирования коэффициентов являются выходом блока формирования частичных остатков.3. Устройство по п.2, отличающееся тем, что блок формирования коэффициентов содержит умножитель по модулю, вычитатель по модулю и сумматор по модулю, причем к первым двум входом умножителя по модулю подключены соответственно первый и третий входы блока формирования коэффициентов, выход умножителя по модулю подключен к первому входу вычитателя по модулю, выход вычитателя по модулю подключен к первому входу сумматора по модулю, ко второму входу сумматора по модулю подключен второй вход блока формирования коэффициентов, к третьему входу умножителя по модулю, второму входу вычитателя по модулю, третьему входу сумматора по модулю подключен вход записи кода модуля, выход сумматора по модулю является выходом блока формирования коэффициентов.

Документы, цитированные в отчете о поиске Патент 2007 года RU2299462C1

КОМБИНАЦИОННЫЙ РЕКУРРЕНТНЫЙ ФОРМИРОВАТЕЛЬ ОСТАТКОВ 1992
  • Петренко Вячеслав Иванович
  • Чипига Александр Федорович
RU2029435C1
ЯЧЕЙКА ОДНОРОДНОЙ ПРОГРАММНО-УПРАВЛЯЕМОЙ СРЕДЫ 1997
  • Кадиев П.А.
  • Митянский А.И.
  • Толстов И.В.
RU2132081C1
Устройство для формирования остатка по произвольному модулю от числа 1984
  • Петренко Вячеслав Иванович
  • Сныткин Иван Илларионович
SU1238077A1
Матричное вычислительное устройство 1978
  • Шумилов Лев Алексеевич
  • Зайкова Лилия Александровна
  • Тентиева Светлана Мысабековна
SU750484A1
JP 10260818, 29.09.1998
JP 11282349, 15.10.1999.

RU 2 299 462 C1

Авторы

Петренко Вячеслав Иванович

Кузьминов Юрий Владимирович

Даты

2007-05-20Публикация

2005-10-05Подача