устройство для умножения в конечных полях
Классы МПК: | G06F7/49 для вычислений, выполняемых над числами с основанием, отличным от 2, 8, 16 или 10, например с троичным отрицательным или мнимым основаниями, комплексными основаниями |
Автор(ы): | Харчистов Б.Ф., Финаев В.И., Воронина О.Г. |
Патентообладатель(и): | Таганрогский радиотехнический институт |
Приоритеты: |
подача заявки:
1992-07-08 публикация патента:
10.04.1996 |
Изобретение относится к построению кодирующих и декодирующих циклических кодов, предназначенных для передачи сообщений с высокой достоверностью в системах доставки и обработки дискретной информации. Устройство содержит блок сдвига сомножителя, блок умножения на старший разряд, блок задания обратных связей, блок формирования величины сдвига, блок сдвига произведения. 10 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10
Формула изобретения
УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ В КОНЕЧНЫХ ПОЛЯХ, содержащее блок умножения на старший разряд и al 1 блоков вычисления полиномов (где al - максимальная разрядность сомножителей, l число различных полиномов, определяющих конечное поле), причем выходы блока умножения на старший разряд соединены с информационными входами первой группы первого блока вычисления полиномов, информационные входы первой группы блока вычисления полиномов соединены с информационными выходами (i 1)-го блока вычисления полиномов, отличающееся тем, что в него введены блок сдвига сомножителя, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведения, причем информационные входы первой группы устройства соединены с соответствующими информационными входами блока сдвига сомножителя, информационный вход второй группы устройства соединен с информационным входом (al i)-го блока вычисления полиномов, а al-й информационный вход второй группы устройства соединен с информационным входом блока умножения на старший разряд, управляющие входы устройства соединены с соответствующими входами блока задания обратных связей и блока формирования величины сдвига, выходы которого соединены с управляющими входами блока сдвига сомножителя и блока сдвига произведения, выходы блока задания обратных связей соединены с управляющими входами al 1 блоков вычисления полиномов, информационные входы второй группы которых соединены с выходами блока сдвига сомножителя и группой информационных входов блока умножения на старший разряд, выходы (al 1)-го блока вычисления полиномов соединены с информационными входами блока сдвига произведения, выходы которого соединены с выходами устройства.Описание изобретения к патенту
Изобретение относится к построению кодирующих и декодирующих устройств циклических кодов, предназначенных для передачи сообщений с высокой достоверностью в системах доставки и обработки дискретной информации. Известно устройство для умножения, содержащее блоки сумматоров по модулю два, ячейки регистра, первую и вторую группы блоков умножения, причем вход устройства соединен со входами блоков умножения первой группы, выходы которых соединены с первыми входами блоков сумматоров соответственно, вторые входы которых соединены соответственно с выходами соответствующих блоков умножения второй группы, входы которых, кроме последнего, соединены между собой, а также с выходом устройства и выходом последнего блока умножения второй группы, выход каждого блока сумматоров, кроме последнего, соединен с входом соответствующей ячейки регистра, выход каждой ячейки регистра соединен с третьим входом соответствующего блока сумматоров, выход последнего блока сумматоров соединен с входом последнего блока умножения второй группы. Недостаток этого устройства состоит в том, что умножение производится с большими временными затратами и в поле с фиксированными параметрами. Известно устройство умножения в конечных полях, содержащее ячейки первого, второго и третьего регистров, первые и вторые группы сумматоров по модулю два и элементов ИЛИ, элементы И, блоки умножения, причем, первая группа выходов устройства соединена соответственно с первыми входами элементов ИЛИ первой группы, выходы которых соединены соответственно с первыми входами соответствующих ячеек первого регистра, выходы ячеек первого регистра, за исключением последней, соединены соответственно с вторыми входами соответствующих элементов ИЛИ первой группы, выход последней ячейки первого регистра соединен со вторым входом соответствующего элемента ИЛИ первой группы и с первыми входами элементов И, выходы которых соединены с первыми входами сумматоров первой группы, выходы которых соединены с входами ячеек третьего регистра соответственно, а вторые входы с выходами ячеек третьего регистра и с выходами устройства соответственно, вторые входы элементов И, кроме последнего, соединены с выходами ячеек второго регистра и с первыми входами вторых сумматоров соответственно, второй вход последнего элемента И соединен с выходом последней ячейки второго регистра, со входом первого элемента ИЛИ второй группы, и с входами блоков умножения, выходы которых соединены соответственно с вторыми входами соответствующих сумматоров второй группы, выходы которых соединены с первыми входами соответствующих элементов ИЛИ второй группы, вторые входы которых соединены с входами устройства второй группы, а выходы с входами ячеек второго регистра. Недостаток данного устройства состоит в том, что умножение в конечных полях производится с существенными затратами времени и при фиксированной размерности поля. Из известных устройств умножения в конечных полях наиболее близким к заявляемому по совокупности конструктивных и функциональных признаков является устройство умножения, содержащее блок вычисления обратного элемента, блок суммирования, блок вычисления полиномов, мультиплексор, причем, первый и второй входы задания режимов устройства соединены с управляющими входами соответственно блока вычисления обратного элемента и мультиплексора, первая группа информационных входов устройства соединены с группой информационных входов блока вычисления обратного элемента и первой группой информационных входов блока суммирования, а вторая группа информационных входов устройства соединена с первой группой информационных входов блока вычисления полиномов и второй группой информационных входов блока суммирования, группа информационных выходов блока вычисления обратного элемента соединена со второй группой информационных входов блока вычисления полиномов, группы информационных выходов блока суммирования и блока вычисления полиномов соединен соответственно с первой и второй группами информационных входов мультиплексора, группа выходов которого соединена с группой выходов устройства. Однако известное устройство обладает недостатком, состоящим в том, что умножение может быть осуществлено только в поле с фиксированной размерностью, т. е. умножаются полиномы с числом разрядов не более некоторой фиксированной величины. Это определяет недостаток известного устройства, который состоит в его ограниченных функциональных возможностях. Кроме того, в известном устройстве умножение осуществляется последовательно, по мере вычисления промежуточных полиномов на каждом такте, что снижает быстродействие. Задача, на решение которой направлено изобретение, заключается в возможности умножения полиномов в поле, размерность которого может быть изменена по необходимости, а также получения результата умножения за минимально возможное время с целью дальнейшего использования устройства в специализированных вычислителях, а также при решении задач построения кодирующих и декодирующих устройств. Для достижения технического результата, заключающегося в расширении функциональных возможностей устройства умножения в конечных полях за счет осуществления умножения полиномов в поле, размерность которого может быть изменена, и повышения быстродействия предлагается в устройство умножения в конечных полях, содержащее блок умножения на старший разряд и "ае 1" блоков вычисления полиномов, причем группа выходов блока умножения на старший разряд соединена с группой вторых информационных входов первого блока вычисления полинома, а группы вторых информационных входов i x (i ) блоков вычисления полиномов соединены соответственно с группами информационных входов (i 1)-х блоков вычисления полиномов, дополнительно введены блок сдвига сомножителя, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведения, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя (ae k)-e (k ) входы группы вторых информационных входов устройства соединены с информационными входами (k)-х блоков вычисления полиномов, а ае-й вход группы вторых информационных входов устройства соединен с информационным входом блока сдвига сомножителя, группа управляющих входов устройства соединена с группами входов блока задания обратных связей и блока формирования величины сдвига, группы выходов блока формирования величины сдвига соединена с группами управляющих входов блока сдвига сомножителя и блока сдвига произведения, группа выходов блока задания обратных связей соединена с группами управляющих входов (ае 1) блоков вычисления полиномов, у которых группы первых информационных входов соединены с группой выходов блока сдвига сомножителя и группой информационных входов блока умножения на старший разряд, группа выходов (ае 1)-го блока вычисления полинома соединена с группой информационных входов блока сдвига произведения, группа выходов которого соединена с группой выходов устройства для умножения в конечных полях. Блок сдвига сомножителя содержит группы элементов И и ИЛИ, причем первый информационный вход соединен с первыми входами первого, шестого и десятого элементов И, второй информационный вход соединен с первыми входами второго, седьмого и одиннадцатого элементов И, третий информационный вход соединен с первыми входами третьего, восьмого и двенадцатого элементов И, четвертый информационный вход соединен с первыми входами четвертого, девятого элементов И, пятый информационный вход соединен с первым входом пятого элемента И, первый управляющий вход соединен со вторыми входами десятого, одиннадцатого и двенадцатого элементов И, второй управляющий вход соединен с вторыми входами шестого, седьмого, восьмого и девятого элементов И, третий управляющий вход соединен с вторыми входами первого, второго, третьего, четвертого и пятого элементов И, выходы второго, третьего, четвертого и пятого элементов И соединены соответственно с первыми входами первого, второго, третьего и четвертого элементов ИЛИ, выходы шестого, седьмого, восьмого и девятого элементов И соединены соответственно с вторыми входами группы элементов ИЛИ, выходы десятого, одиннадцатого и двенадцатого элементов И соединены соответственно с третьими входами элементов ИЛИ, выход первого элемента И и выходы элементов ИЛИ соединены соответственно с выходами группы выходов блока. Блок сдвига произведения содержит группы элементов И или ИЛИ, причем первый информационный вход соединен с первым входом первого элемента И группы, второй информационный вход соединен с первыми входами второго и шестого элементов И, третий информационный вход соединен с первыми входами третьего, седьмого и десятого элементов И, четвертый информационный вход соединен с первыми входами четвертого, восьмого и одиннадцатого элементов И, пятый информационный вход соединен с первыми входами пятого, девятого и двенадцатого элементов И, первый управляющий вход соединен с вторыми входами десятого, одиннадцатого и двенадцатого элементов И, второй управляющий вход соединен со вторыми входами шестого, седьмого, восьмого и девятого элементов И, третий управляющий вход соединен с вторыми входами первого, второго, третьего, четвертого и пятого элементов И, выходы первого, второго, третьего и четвертого элементов И соединены соответственно с первыми входами соответствующих элементов ИЛИ группы, выходы шестого, седьмого, восьмого и девятого элементов И соединены соответственно с вторыми входами соответствующих элементов ИЛИ группы, выходы десятого, одиннадцатого и двенадцатого элементов И соединены соответственно с третьими входами первого, второго и третьего элементов ИЛИ группы, выходы группы элементов ИЛИ и выход пятого элемента И соединены соответственно с выходами группы выходов устройства умножения в конечных полях. Наличие признаков, отличающих заявляемое техническое решение от прототипа, а именно: блок сдвига сомножителей, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведений, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя, (ae k)-e (k ) входы группы вторых информационных входов устройства соединены с информационными входами (k)-х блоков вычисления полиномов, а ае-й вход группы вторых информационных входов устройства соединен с информационным входом блока сдвига сомножителя, группа управляющих входов устройства соединена с группами входов блока задания обратных связей и блока формирования величины сдвига, группы выходов блока формирования величины сдвига соединена с группами управляющих входов блока сдвига сомножителя и блока сдвига произведения, группа выходов блока задания обратных связей соединена с группами управляющих входов (ае 1) блоков вычисления полиномов, у которых группы первых информационных входов соединены с группой выходов блока сдвига сомножителя и с группой информационных входов блока умножения на старший разряд, группа входов (ае 1)-го блока вычисления полинома соединена с группой информационных входов блока сдвига произведения, группа выходов которого соединена с группой выходов устройства для умножения в конечных полях, обуславливает соответствие заявляемого технического решения критерию "новизна". Для доказательства наличия причинно-следственной связи между совокупностью существенных признаков заявляемого изобретения и достигаемым техническим результатом обратимся к следующим теоретическим предпосылкам. В поле Галуа GF(2) умножение двух полиномовp(x) pa-1xa-1+pa-2xa-2+.+p1x+p0, и g(x)
ga-1xa-1+ga-2xa-2+.+g1x+g0,pigi(0,1),i,j=
возможно осуществить за один такт времени, если реализовать устройство, содержащее а ступеней, срабатывающих одновременно, причем на первой ступени будет получен результат S(1) ga-1p(x). На второй ступени будет получен результат
S(2)(x) (ga-1x + ga-2)p(x) + ba-2F(x), где ba-2 первый коэффициент частного от деления g(x)p(x)/F(x). На i-й ступени будет получен результат
S(i)(x) (ga-1xa-1 + ga-2xa-2 + + ga-i)P(x) +
+ (ba-2xa-2 + ba-3xa-3 + + ba-i)F(x), где ba-i (i 1)-й коэффициент частного. На а-й ступени будет получен результат умножения
r(x) S(a)(x) (ga-1xa-1 + ga-2xa-2 + +
+ go)p(x) + (ba-2xa-2 + ba-3xa-3 + +
+ bo)F(x) g(x)p(x) + b(x)F(x). Изобретение реализуется средствами вычислительной техники. Один из возможных вариантов предлагается в данном описании. На фиг. 1 приведена функциональная схема предлагаемого устройства; на фиг. 2 функциональная схема для примера реализации блока сдвига сомножителя; на фиг. 3 и 4 функциональные схемы соответственно блока умножения на старший разряд и блока вычисления полинома; на фиг. 5 и 6 функциональные схемы для примера реализации соответственно блока задания обратных связей и блока формирования величины сдвига; на фиг. 7 функциональная схема для примера реализации блока сдвига произведения; на фиг. 8-10 функциональная схема устройства для примера реализации умножения с заданной разрядностью поля. Функциональная схема заявляемого устройства (см. фиг. 1) содержит 11-1- группу первых информационных входов; 2 блок сдвига сомножителя; 31-3 группу вторых информационных входов; 4 блок умножения на старший разряд; 51-5 блоки вычисления полиномов; 61-6е группу управляющих входов; 7 блок задания обратных связей; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 101i-10 (i ) (ae 1) групп информационных выходов блоков вычисления полиномов, 51-5; 111-11 группу выходов устройства для умножения в конечных полях. Функциональная схема для примера реализации блока сдвига сомножителя 2 (см. фиг. 2) содержит: 11-15 группу информационных входов; 121-1212 группу элементов И; 131-133 группу управляющих входов; 141-144 группу элементов ИЛИ; 151-155 группу выходов блока 2. Функциональная схема блока умножения на старший разряд 4 (см. фиг. 3) содержит: 3 информационный вход; 151-15 группу информационных входов; 161-16 группу элементов И; 1010-10 группу выходов блока 4. Функциональная схема блока вычисления полинома 5i (i ) (см. фиг. 4) содержит: 3i информационный вход; 101i-1-10 группу вторых информационных входов; 151-15 группу первых информационных входов; 181i-18 первую группу элементов И; 191i-19 первую группу сумматоров по модулю два; 201i-20 вторую группу сумматоров по модулю два; 211i-21 вторую группу элементов И; 101i-10 группу выходов блока 5. Функциональная схема для примера реализации блока задания обратных связей 7 (см. фиг. 5) содержит: 61-67 группу управляющих входов; 231-234 группу элементов ИЛИ; 24 элемент НЕ; 221-225 группу выходов блока 7. Функциональная схема для примера реализации блока формирования величины сдвига 8 (см. фиг. 6) содержит: 61-67 группу управляющих входов; 251-253 группу элементов ИЛИ; 131-133 группу выходов блока 8. Функциональная схема для примера реализации блока сдвига произведения 9 (см. фиг. 7) содержит:101-105 группу информационных входов; 131-133 группу управляющих входов; 261-2612 группу элементов И; 271-274 группу элементов ИЛИ; 111-115 группу выходов. Функциональная схема (пример реализации) устройства для умножения в конечных полях (см. фиг. 8-10) содержит: 11-15 группу первых информационных входов; 2 блок сдвига сомножителя; 31-35 группу вторых информационных входов; 61-67 группу управляющих входов устройства; 7 блок задания размерности поля; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 101i-105i -i-ю (i ) группу выходов блока вычисления полинома 5i; 131-133 группу выходов блока формирования величины сдвига 8; 151-1515 группу выходов блока сдвига сомножителя; 161-165 группу элементов И блока умножения на старший разряд; 181j-185j j-ю (j ) группу первых элементов И; 191i-195i i-ю (i ) группу первых сумматоров по модулю два; 201i-204i i-ю (i ) группу вторых сумматоров по модулю два; 211i-215i i-ю (i ) группу вторых элементов И; 111-115 группу информационных выходов устройства. Элементы устройства умножения в конечных полях взаимосвязаны следующим образом. Входы 11-1 группы первых информационных входов соединены с соответствующими входами группы информационных входов блока сдвига сомножителя 2, а i-й вход группы вторых информационных входов 31-3соединен с информационным входом блока умножения на старший разряд 4, (ае j)-й вход группы вторых информационных входов 31-3 соединен с информационным входом блока вычисления полинома 5j, входы 61-6е группы управляющих входов соединены соответственно с группой входов блока задания обратных связей 7 и блока формирования величины сдвига 8, группа выходов блока формирования величины сдвига 8 соединена соответственно с группами информационных входов блока сдвига сомножителя 2 и блока сдвига произведения 9, группа выходов блока сдвига сомножителя 2 соединена с группой информационных входов блока умножения на старший разряд 4 и с группами первых информационных входов блоков вычисления полиномов 51-5, входы группы вторых информационных входов блока вычисления полинома 51 соединены соответственно с выходами блока умножения на старший разряд 4, группа выходов блока задания обратных связей 7 соединена с группами управляющих входов блоков вычисления полиномов 51-5, группы информационных выходов 101i-10 i-х блоков вычисления полиномов 5i (i ) соединены соответственно с группами вторых информационных входов (i + 1)-х блоков вычисления полиномов 5i, а группа информационных выходов блока вычисления полинома 5 соединена с группой информационных входов блока сдвига произведения 9, выходы которого соединены соответственно с выходами 111-11 группы выходов устройства. В блоке сдвига сомножителя 2 (пример реализации) вход 11 соединен с первыми входами элементов И 121, 126, 1210 группы, вход 12 соединен с первыми входами элементов И 122, 127, 1211 группы, вход 13 соединен с первыми входами элементов 123, 128, 1212 группы, вход 14 соединен с первыми входами элементов И 124, 129 группы, вход 15 соединен с первым входом элемента И 125, вход 131 группы управляющих входов блока соединен с вторыми входами элементов И 1210-1212 группы, вход 132 группы управляющих входов блока соединен с вторыми входами элементов И 126-129группы, вход 133 группы управляющих входов блока соединен со вторыми входами элементов И 121-125 группы, выходы элементов И 122-125 соединены соответственно с первыми входами группы элементов ИЛИ 141-144, выходы элементов И 126-129 соединены соответственно с вторыми входами группы элементов ИЛИ 141-144, выходы элементов И 1210-1212 соединены соответственно с третьими входами элементов ИЛИ 142-144 группы, выход элемента И 121 и выходы группы элементов ИЛИ 141-144 соединены соответственно с выходами 151-155 группы выходов блока 2. В блоке умножения на старший разряд 4 входы 151-15 группы информационных входов блока соединены соответственно с первыми входами группы элементов И 161-16, вторые входы которых объединены и соединены с информационным входом 3 блока, выходы группы элементов И 161-16 соединены соответственно с выходами 1010-10 группы выходов блока 4. В каждом блоке вычисления полинома 5i (i ) вход 15j (j ) группы первых информационных входов соединен с первым входом элемента И 18ij первой группы, вторые входы которых объединены и соединены с информационным входом 3i блока, а выход элемента И 18jiсоединен с первым входом соответствующего сумматора по модулю два 19jiпервой группы, входы 101i-1-10 группы вторых информационных входов соединены с вторыми входами соответствующих сумматоров по модулю два 201i-20 второй группы, первые входы элементов И 211i-21 второй группы объединены и соединены с входом 10 группы вторых информационных входов, входы 211-22 группы управляющих входов соединены соответственно с вторыми входами элементов И 211i-21 второй группы, выходы которых соединены соответственно со вторыми входами сумматоров по модулю два 191i-19 первой группы, а выходы сумматоров по модулю два 192i-19 первой группы соответственно соединены с первыми входами сумматоров по модулю два 201i-20 второй группы, выход сумматора по модулю два 191i первой группы и выходы сумматоров по модулю два 201i-20 второй группы соединены соответственно с выходами 101i-10 блока вычисления полинома 5i. В блоке задания обратных связей 7 (пример реализации) вход 61соединен с первым входом третьего элемента ИЛИ 233, вход 62 соединен с первым входом четвертого элемента ИЛИ 234, вход 63 соединен с первым входом второго элемента ИЛИ 232, вход 64 соединен с вторым входом второго элемента ИЛИ 232, с входом элемента НЕ 24 и с вторым входом четвертого элемента ИЛИ 234, вход 65 соединен с первым входом первого элемента ИЛИ 231, вход 66 соединен с вторым входом первого элемента ИЛИ 231, с вторым входом третьего элемента ИЛИ 233 и с третьим входом четвертого элемента ИЛИ 234, вход 67 соединен с третьим входом первого элемента ИЛИ 231, с третьим входом второго элемента ИЛИ 232 и с четвертым входом четвертого элемента ИЛИ 234, выходы элементов ИЛИ 231-234 и выход элемента НЕ 24 соответственно соединены с выходами 221-225 блока 7. В блоке формирования величины сдвига 8 (пример реализации) входы 61и 62 соединены соответственно с первым и вторым входами первого элемента ИЛИ 251, входы 63 и 64 соответственно соединены с первым и вторым входами второго элемента ИЛИ 252, входы 65-67 соответственно соединены с первым, вторым и третьим входами третьего элемента ИЛИ 253, выход элемента ИЛИ 25i (i ) соединен с выходом 13i блока 8. В блоке сдвига произведения 9 (пример реализации) вход 101 соединен с первым входом элемента И 261 группы, вход 102 соединен с первыми входами элементов И 262 и 266 группы, вход 103 соединен с первыми входами элементов И 263, 267 и 2610 группы, вход 104 соединен с первыми входами элементов И 264, 268 и 2611 группы, вход 105 соединен с первыми входами элементов И 265, 269 и 2612 группы, вход 131 группы управляющих входов блока соединен с вторыми входами элементов И 2610-2612 группы, а 132 группы управляющих входов блока соединен с вторыми входами элементов И 266-269 группы, вход 133 группы управляющих входов блока соединен с вторыми входами элементов И 261-265 группы, выходы элементов И 261-264соединены соответственно с первыми входами группы элементов ИЛИ 271-274, выходы элементов И 266-269 соединены соответственно с вторыми входами группы элементов ИЛИ 271-274, выходы элементов И 2610-2612соединены соответственно с третьими входами элементов ИЛИ 271-273группы, выходы группы элементов ИЛИ 271-274 и выход элемента И 26 соединены соответственно с выходами 111-115 группы выходов устройства для умножения в конечных полях. Работает устройство для умножения в конечных полях следующим образом. При описании работы устройства в поле GF(2) (i ), определенном полиномом Fi(x) (i ) степени ai с коэффициентом из поля GF(2)- т.е. Fi(x) Fio+Fi1x+.+Fx, FijGF(2), i=,j=,Fio=1, каждый элемент поля представляют в виде полинома над GF(2), степень которого меньше аi, т.е. вместо элементов p,q,rGF(2) рассматривают полиномы
pi(x) pijxj, pij GF(2), i=, j=,
qi(x) qijxj, qij GF(2), i=, j=,
ri(x) rijxj, rij GF(2), i=, j=. Тогда умножение элементов GF(2ai), т.е. piqi ri, выполняется по правилам умножения представляющих эти элементы полиномов по модулю Fi(x), т.е. ri(x) pi(x)qi(x) + bi(x)Fi(x), (1) где bi(x) полином степени меньшей, чем ai 1. В дальнейшем, для определенности, будем считать, что величины ai, i упорядочены в порядке неубывания индексов, т.е. a1 a2 ae. Для вычисления полинома re(x) можно использовать рекуррентное уравнение Se(k)(x) ql1ae-k-1pe(x) + Se(k-1)(x)x + bl1aek-1F(x), k 1, 2, (2) где bl1aek-1 ql1ae-kpl1ae-1 Sl1ae-1(k-1),
Se(o)(x) qlae-kpe(x)
Тогда
re(x) Se(ae-1)(x). Полином ri(x) в случае ai < ae можно вычислить, преобразовав соотношение (1) следующим образом
(x) qi(x)(x)+bi(x)(x),
где (x) ri(x)x,(x) pi(x)x,(x) Fi(x)x
Поскольку степень полинома (x) равна ае, то для вычисления (x) можно использовать рекурентное уравнение, аналогичное уравнению (2), т.е. (x) q(x)+(x)x+b(x), k=1,2, (3)
где (x) q(x). Тогда
(x) (x). Для получения ri(x) достаточно разделить (x) на х ае-ai
На ai, i входов группы первых информационных входов 11-1устройства в параллельном коде подаются коэффициенты полинома pi(x). Аналогичным образом на ai, i входов группы вторых информационных входов 31-3 устройства подаются коэффициенты полинома qi(x). С помощью информации, подаваемой с выходов блока формирования величины сдвига 8 на управляющие входы блока сдвига сомножителя 2, вектор коэффициентов полинома pi(x) сдвигается на (ae ai) разрядов в сторону старших разрядов. На входы блока умножения на старший разряд 4 подается с выходов блока сдвига сомножителя 2 вектор коэффициентов поли-нома (x) pi(x)х ае-ai и с ае-го входа группы вторых информационных входов устройства коэффициент ai,ae-1. На выходах блока умножения на старший разряд 4 будет сформирован результат вектор коэффициентов полинома
Si(o)(x) q(x). На первые информационные входы блока вычисления полинома 5k (k ) подается вектор коэффициентов полинома (x), на вторые информационные входы подается вектор коэффициентов полинома Si(k-1)(x), на информационный вход подается с (ae k)-го входа группы вторых информационных входов 31-3 устройства коэффициент qi, на управляющие входы подается код с выходов блока задания обратных связей 7. На выходах 101k-10 блока вычисления полинома 5k будет сформирован результат вектор коэффициентов полинома
(x) q(x)+(x)x+b(x). Коэффициенты полинома q(x) (первого слагаемого) формируются с помощью первой группы элементов И 181k-18 блока 5k. Формирование коэффициентов полинома (x) обеспечивает блок задания обратных связей 7. Коэффициенты полинома b(x) (третьего слагаемого) формируются с помощью второй группы элементов И 211k-21aekблока 5k. Суммирование всех трех слагаемых осуществляется с помощью первой группы 191k-19aek и второй группы 201k-20 сумматоров по модулю два. Коэффициенты полинома (x) Si(ae-1)(х) с выходов блока вычисления полинома 5 будут подаваться на информационные входы блока сдвига произведения 9. С помощью кода, подаваемого на управляющие входы блока сдвига произведения с выходов блока формирования величины сдвига 8, в блоке сдвига произведения 9 будет осуществлен сдвиг вектора коэффициентов полинома (x) на (ae-ai) разрядов в сторону младших разрядов. На выходах 11e-11 блока сдвига произведения 9 будут получены коэффициенты искомого полинома ri(x). Рассмотрим работу устройства для случая, когда l 7,
F1 (x) x3 + x + 1, F2 (x) x3 + x2 + 1,
F3 (x)" x4 + x + 1,
F4 (x) x4 + x3 + 1, F5 (x) x5 + x2 + 1,
F6 (x) x5 + x4 + x3 + x2 + 1,
F7 (x) x5 + x4 + x2 + x + 1. При этом а1 а2 3, а3 а4 4, а5 а6 а7 5. На основании значений коэффициентов полиномов (x) Fi(x)х ае-ai (x) F1(x)x2 x5 + x3 + x2, (x) F2(x)x2 x5+ x4 + x2, (x) F3(x)x x5 + x2 + x, (x) F4(x)x x5 + x4 + x, (x) F5(x), (x) F6(x), (x) F7(x) составим матрицу синтеза блока задания обратных связей 7, в которой столбцы соответствуют входам, а строки выходам блока задания обратных связей 7. Y1 Y2 Y3 Y4 Y5 Y6 Y7
0 0 0 0 1 1 1 b1
0 0 1 1 0 0 1 b2
1 1 1 0 1 1 1 b3
1 0 0 0 0 1 0 b4
0 1 0 1 0 1 1 b5
Тогда
b1= Y5Y6Y7, b1= Y3Y4Y7, b3= b4= Y1Y6, b5= Y2Y4Y6Y7
Построенный в соответствии с полученными выражениями блока задания обратных связей 7 приведен на фиг. 5. На основании значений ai, i составим матрицу синтеза блока формирования величины сдвига 8, в которой столбцы соответствуют входам, а строки выходам блока формирования величины сдвига 8. Y1 Y2 Y3 Y4 Y5 Y6 Y7
1 1 0 0 0 0 0 C1
0 0 1 1 0 0 0 C2
0 0 0 0 1 1 1 C3
Тогда
C1 Y1 V Y2, C2 Y3 V Y4, C3 Y5 V Y6 V Y7. Построенный в соответствии с полученными выражениями блок формирования величины сдвига 8 приведен на фиг. 6. Рассмотрим работу устройства при умножении элементов поля GF(23), определяемого полиномом F1(x) x3 + x + 1. В этом случае сигнал "1" поступает на управляющий вход устройства. Сигнал "1" появляется на выходах 223 и 224 блока задания обратных связей 7 (на остальных выходах блока задания обратных связей сигнал "0"), а также на выходе 131 блока формирования величины сдвига 8 (на остальных выходах блока формирования величины сдвига 8 сигнал "0"). Пусть pi(x) x2 + 1, qi(x) x2 + x. При этом на информационные входы 11-15 блока сдвига сомножителя 2 поступает двоичный код 00101, соответствующий коэффициентом полинома pi(x). В результате на выходах 151-155 блока сдвига сомножителя 2 появляется код 10100, соответствующий коэффициентам полинома pi(x). На входы 31-35 поступает двоичный код 00110, соответствующий коэффициентам полинома qi(x). На выходах 1010-1050 группы элементов И 161-165 блока умножения на старший разряд 4 появляются коэффициенты полинома (x) q(x)=0(x4+x2)=0, т.е. двоичный код 00000. На выходах группы элементов И 1811-1851 (первых входах сумматоров по модулю два 1911-1951) блока вычисления полинома 5 появляются коэффициенты полинома q(x) 0 (x3 + x2) 0, т.е. двоичный код 00000. На выходах группы элементов И 2111-2151 (вторых входах сумматоров по модулю два 1911-1951) появляются коэффициенты полинома b(x) 0(x3 + x2) 0, т.е. двоичный код 00000. На выходах сумматоров по модулю два 1911-1951 появляется двоичный код 00000, который поступает (кроме младшего разряда коэффициента при хо 0) на первые входы сумматоров по модулю два 2011-2041. На вторые входы сумматоров по модулю два 2011-2041 поступают коэффициенты полинома (x)x 0 * x 0, т. е. двоичный код 0000. В результате на выходах 1011-1051 блока вычисления полинома 51 появляются коэффициенты полинома (x) 0 + 0 0, т.е. двоичный код 00000. На выходах группы элементов И 1812-1852 (первых входах сумматоров по модулю два 1912-1952) блока вычисления полинома 52 появляются коэффициенты полинома q(x) 1(x4 + x2) x4 + x2, т.е. двоичный код 10100. На выходах группы элементов И 2112-2152 (вторых входах сумматоров по модулю два 1912-1952) появляются коэффициенты полинома b(x) 0(x3 + x2) 0, т.е. двоичный код 00000. На выходах сумматоров по модулю два 1912-1952 появляется двоичный код 10100, который поступает (кроме младшего разряда) на первые входы сумматоров по модулю два 2012-2042. На вторые входы сумматоров по модулю два 2012-2042поступают коэффициенты полинома (x)x 0 * x 0, т.е. двоичный код 0000. В результате на выходах 1012-1052 блока вычисления полинома 52появляется вектор коэффициентов полинома Si(2)(x) x4 + x2 + 0 x4 + x2, т.е. двоичный код 10100. На выходах группы элементов И 1813-1853 (первых входах сумматоров по модулю два 1913-1953) блока вычисления полинома 53 появляются коэффициенты полинома q(x) 1(x4 + x2) x4 + x2, т.е. двоичный код 10100. На выходах группы элементов И 2113-2153 (вторых входах сумматоров по модулю два 1913-1953) появляются коэффициенты полинома b(x) 1(x3 + x2) x3 + x2, т. е. двоичный код 01100. На выходах сумматоров по модулю два 1913-1953 появляется двоичный код 11000, который поступает (кроме младшего разряда) на первые входы сумматоров по модулю два 2013-2043. На вторые входы сумматоров по модулю два 2013-2043поступают коэффициенты полинома (x)x (x4 + x2)x x5 + x3, т. е. двоичный код 0100. В результате на выходах 1013-1053 блока вычисления полинома 5 появляются коэффициенты полинома (x) (x4 + x3) + +x3= x4, т.е. двоичный код 10000. На выходах группы элементов И 1814-1854 (первых входах сумматоров по модулю два 1914-1954) блока вычисления полинома 54 появляются коэффициенты полинома q(x) 0(x4 + x2) 0, т.е. двоичный код 00000. На выходах группы элементов И 2114-2154 (вторых входах сумматоров по модулю два 1914-1954) появляются коэффициенты полинома b(x) 1(x3 + x2) x3 + x2, т.е. двоичный код 01100. На выходах сумматоров по модулю два 1914-1954 появляется двоичный код 01100, который поступает (кроме младшего разряда) на первые входы сумматоров по модулю два 2014-2044. На вторые входы сумматоров по модулю два 2014-2044 поступают коэффициенты полинома (x) x4 * x x5, т.е. двоичный код 0000. В результате на выходах 1014-1054 блока вычисления полинома 54появляются коэффициенты полинома (x) (x) x3+x2+0 x3+x2, т.е. двоичный код 01100. На выходах 111-115 блока сдвига произведения 9 появляются коэффициенты полинома ri(x) (x)/х ае-ai (x3 + x2)/x2 x + 1, т.е. двоичный код 00011. Технико-экономическую эффективность предлагаемого устройства по отношению к известному возможно определить из повышения быстродействия. Если в известном устройстве на умножение тратится время
T1 tn at, где to тактовая частота, tn время подготовки к процедуре умножения то в предлагаемом устройстве на умножение будет затрачено время
T2 tn + to. Эффективность устройства определится формулой
Э Т1/Т2.
Класс G06F7/49 для вычислений, выполняемых над числами с основанием, отличным от 2, 8, 16 или 10, например с троичным отрицательным или мнимым основаниями, комплексными основаниями