RU2058040C1 - Device for multiplication in finite fields - Google Patents
Device for multiplication in finite fields Download PDFInfo
- Publication number
- RU2058040C1 RU2058040C1 SU5064139A RU2058040C1 RU 2058040 C1 RU2058040 C1 RU 2058040C1 SU 5064139 A SU5064139 A SU 5064139A RU 2058040 C1 RU2058040 C1 RU 2058040C1
- Authority
- RU
- Russia
- Prior art keywords
- inputs
- group
- outputs
- unit
- block
- Prior art date
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к построению кодирующих и декодирующих устройств циклических кодов, предназначенных для передачи сообщений с высокой достоверностью в системах доставки и обработки дискретной информации. The invention relates to the construction of encoding and decoding devices of cyclic codes intended for transmitting messages with high reliability in delivery systems and processing of discrete information.
Известно устройство для умножения, содержащее блоки сумматоров по модулю два, ячейки регистра, первую и вторую группы блоков умножения, причем вход устройства соединен со входами блоков умножения первой группы, выходы которых соединены с первыми входами блоков сумматоров соответственно, вторые входы которых соединены соответственно с выходами соответствующих блоков умножения второй группы, входы которых, кроме последнего, соединены между собой, а также с выходом устройства и выходом последнего блока умножения второй группы, выход каждого блока сумматоров, кроме последнего, соединен с входом соответствующей ячейки регистра, выход каждой ячейки регистра соединен с третьим входом соответствующего блока сумматоров, выход последнего блока сумматоров соединен с входом последнего блока умножения второй группы. A device for multiplying, containing adder blocks modulo two, register cells, the first and second groups of multiplication blocks, and the input of the device is connected to the inputs of the multiplication units of the first group, the outputs of which are connected to the first inputs of the adder blocks, respectively, the second inputs of which are connected respectively to the outputs the corresponding multiplication blocks of the second group, the inputs of which, except the last, are interconnected, as well as with the output of the device and the output of the last multiplication block of the second group, the output of each the adder block, except the last one, is connected to the input of the corresponding register cell, the output of each register cell is connected to the third input of the corresponding adder block, the output of the last adder block is connected to the input of the last multiplication block of the second group.
Недостаток этого устройства состоит в том, что умножение производится с большими временными затратами и в поле с фиксированными параметрами. The disadvantage of this device is that the multiplication is done with great time and in a field with fixed parameters.
Известно устройство умножения в конечных полях, содержащее ячейки первого, второго и третьего регистров, первые и вторые группы сумматоров по модулю два и элементов ИЛИ, элементы И, блоки умножения, причем, первая группа выходов устройства соединена соответственно с первыми входами элементов ИЛИ первой группы, выходы которых соединены соответственно с первыми входами соответствующих ячеек первого регистра, выходы ячеек первого регистра, за исключением последней, соединены соответственно с вторыми входами соответствующих элементов ИЛИ первой группы, выход последней ячейки первого регистра соединен со вторым входом соответствующего элемента ИЛИ первой группы и с первыми входами элементов И, выходы которых соединены с первыми входами сумматоров первой группы, выходы которых соединены с входами ячеек третьего регистра соответственно, а вторые входы с выходами ячеек третьего регистра и с выходами устройства соответственно, вторые входы элементов И, кроме последнего, соединены с выходами ячеек второго регистра и с первыми входами вторых сумматоров соответственно, второй вход последнего элемента И соединен с выходом последней ячейки второго регистра, со входом первого элемента ИЛИ второй группы, и с входами блоков умножения, выходы которых соединены соответственно с вторыми входами соответствующих сумматоров второй группы, выходы которых соединены с первыми входами соответствующих элементов ИЛИ второй группы, вторые входы которых соединены с входами устройства второй группы, а выходы с входами ячеек второго регистра. A device for multiplication in finite fields, containing cells of the first, second and third registers, the first and second groups of adders modulo two and the elements OR, elements AND, multiplication blocks, moreover, the first group of outputs of the device is connected respectively to the first inputs of the elements OR of the first group, the outputs of which are connected respectively with the first inputs of the corresponding cells of the first register, the outputs of the cells of the first register, with the exception of the last, are connected respectively with the second inputs of the corresponding elements OR of the first group, the output of the last cell of the first register is connected to the second input of the corresponding OR element of the first group and to the first inputs of AND elements, the outputs of which are connected to the first inputs of the adders of the first group, the outputs of which are connected to the inputs of the cells of the third register, respectively, and the second inputs to the outputs of the cells the third register and with the outputs of the device, respectively, the second inputs of the elements And, except the last, are connected to the outputs of the cells of the second register and with the first inputs of the second adders, respectively, the second the input of the last AND element is connected to the output of the last cell of the second register, with the input of the first OR element of the second group, and with the inputs of the multiplication units, the outputs of which are connected respectively to the second inputs of the corresponding adders of the second group, the outputs of which are connected to the first inputs of the corresponding elements of the second group, the second inputs of which are connected to the inputs of the device of the second group, and the outputs with the inputs of the cells of the second register.
Недостаток данного устройства состоит в том, что умножение в конечных полях производится с существенными затратами времени и при фиксированной размерности поля. The disadvantage of this device is that the multiplication in the final fields is a significant investment of time and with a fixed field dimension.
Из известных устройств умножения в конечных полях наиболее близким к заявляемому по совокупности конструктивных и функциональных признаков является устройство умножения, содержащее блок вычисления обратного элемента, блок суммирования, блок вычисления полиномов, мультиплексор, причем, первый и второй входы задания режимов устройства соединены с управляющими входами соответственно блока вычисления обратного элемента и мультиплексора, первая группа информационных входов устройства соединены с группой информационных входов блока вычисления обратного элемента и первой группой информационных входов блока суммирования, а вторая группа информационных входов устройства соединена с первой группой информационных входов блока вычисления полиномов и второй группой информационных входов блока суммирования, группа информационных выходов блока вычисления обратного элемента соединена со второй группой информационных входов блока вычисления полиномов, группы информационных выходов блока суммирования и блока вычисления полиномов соединен соответственно с первой и второй группами информационных входов мультиплексора, группа выходов которого соединена с группой выходов устройства. Of the known multiplication devices in the final fields, the closest to the claimed combination of structural and functional features is the multiplication device, which contains the inverse element calculation unit, the summing unit, the polynomial calculation unit, the multiplexer, and the first and second inputs of the device modes are connected to the control inputs, respectively the inverse element calculation unit and the multiplexer, the first group of information inputs of the device are connected to the group of information inputs of the block the number of the inverse element and the first group of information inputs of the summing unit, and the second group of information inputs of the device is connected to the first group of information inputs of the block of polynomials and the second group of information inputs of the block of summation, the group of information outputs of the block of calculating the inverse element is connected to the second group of information inputs of the block of polynomial calculation , the group of information outputs of the summation unit and the polynomial calculation unit is connected respectively to the first and second th group of information inputs of the multiplexer, the group output of which is connected with a group of output devices.
Однако известное устройство обладает недостатком, состоящим в том, что умножение может быть осуществлено только в поле с фиксированной размерностью, т. е. умножаются полиномы с числом разрядов не более некоторой фиксированной величины. Это определяет недостаток известного устройства, который состоит в его ограниченных функциональных возможностях. Кроме того, в известном устройстве умножение осуществляется последовательно, по мере вычисления промежуточных полиномов на каждом такте, что снижает быстродействие. However, the known device has the disadvantage that multiplication can only be carried out in a field with a fixed dimension, that is, polynomials with a number of digits of at most some fixed value are multiplied. This determines the disadvantage of the known device, which consists in its limited functionality. In addition, in the known device, the multiplication is carried out sequentially, as the intermediate polynomials are calculated at each cycle, which reduces performance.
Задача, на решение которой направлено изобретение, заключается в возможности умножения полиномов в поле, размерность которого может быть изменена по необходимости, а также получения результата умножения за минимально возможное время с целью дальнейшего использования устройства в специализированных вычислителях, а также при решении задач построения кодирующих и декодирующих устройств. The problem to which the invention is directed is the possibility of multiplying polynomials in a field, the dimension of which can be changed as necessary, as well as obtaining the result of multiplication in the shortest possible time for the purpose of further use of the device in specialized computers, as well as in solving problems of constructing coding and decoding devices.
Для достижения технического результата, заключающегося в расширении функциональных возможностей устройства умножения в конечных полях за счет осуществления умножения полиномов в поле, размерность которого может быть изменена, и повышения быстродействия предлагается в устройство умножения в конечных полях, содержащее блок умножения на старший разряд и "ае 1" блоков вычисления полиномов, причем группа выходов блока умножения на старший разряд соединена с группой вторых информационных входов первого блока вычисления полинома, а группы вторых информационных входов i x (i ) блоков вычисления полиномов соединены соответственно с группами информационных входов (i 1)-х блоков вычисления полиномов, дополнительно введены блок сдвига сомножителя, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведения, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя (ae k)-e (k ) входы группы вторых информационных входов устройства соединены с информационными входами (k)-х блоков вычисления полиномов, а ае-й вход группы вторых информационных входов устройства соединен с информационным входом блока сдвига сомножителя, группа управляющих входов устройства соединена с группами входов блока задания обратных связей и блока формирования величины сдвига, группы выходов блока формирования величины сдвига соединена с группами управляющих входов блока сдвига сомножителя и блока сдвига произведения, группа выходов блока задания обратных связей соединена с группами управляющих входов (ае 1) блоков вычисления полиномов, у которых группы первых информационных входов соединены с группой выходов блока сдвига сомножителя и группой информационных входов блока умножения на старший разряд, группа выходов (ае 1)-го блока вычисления полинома соединена с группой информационных входов блока сдвига произведения, группа выходов которого соединена с группой выходов устройства для умножения в конечных полях.To achieve a technical result, which consists in expanding the functionality of a multiplication device in finite fields due to the multiplication of polynomials in a field, the dimension of which can be changed, and improving performance, it is proposed to use a multiplication device in final fields containing a block of multiplication by senior digit and "a e 1 "blocks for computing polynomials, and the group of outputs of the block of multiplication by the senior bit is connected to the group of second information inputs of the first block for computing polynomials, and the group second information inputs ix (i ) polynomial calculation blocks are connected respectively to groups of information inputs of (i 1) -th polynomial calculation blocks, a factor shifter block, a feedback setting block, a shift value generation block, and a product shift block are additionally introduced, and the inputs of the group of the device’s first information inputs are connected respectively to information inputs of the block shift factor (a e k) -e (k ) Inputs of the second group of information inputs devices connected to data inputs (k) -x polynomial evaluation blocks, and a G th group of second input information input apparatus connected to the data input of the shift factor unit, the group control device is connected to the input unit inputs the job groups inverse connections and a unit for generating a shear value, a group of outputs of a unit for generating a shear unit is connected to groups of control inputs of a unit for shifting a factor and a unit for shifting a product, a group of outputs b eye job feedbacks groups connected to the control inputs (a 1 e) calculating blocks polynomials in which the first group of information inputs are connected to the group output unit shift factor and the group of information inputs to multiplier MSB, the group of outputs (AU 1) -th the polynomial calculation unit is connected to the group of information inputs of the product shift unit, the output group of which is connected to the group of outputs of the device for multiplication in the final fields.
Блок сдвига сомножителя содержит группы элементов И и ИЛИ, причем первый информационный вход соединен с первыми входами первого, шестого и десятого элементов И, второй информационный вход соединен с первыми входами второго, седьмого и одиннадцатого элементов И, третий информационный вход соединен с первыми входами третьего, восьмого и двенадцатого элементов И, четвертый информационный вход соединен с первыми входами четвертого, девятого элементов И, пятый информационный вход соединен с первым входом пятого элемента И, первый управляющий вход соединен со вторыми входами десятого, одиннадцатого и двенадцатого элементов И, второй управляющий вход соединен с вторыми входами шестого, седьмого, восьмого и девятого элементов И, третий управляющий вход соединен с вторыми входами первого, второго, третьего, четвертого и пятого элементов И, выходы второго, третьего, четвертого и пятого элементов И соединены соответственно с первыми входами первого, второго, третьего и четвертого элементов ИЛИ, выходы шестого, седьмого, восьмого и девятого элементов И соединены соответственно с вторыми входами группы элементов ИЛИ, выходы десятого, одиннадцатого и двенадцатого элементов И соединены соответственно с третьими входами элементов ИЛИ, выход первого элемента И и выходы элементов ИЛИ соединены соответственно с выходами группы выходов блока. The factor shift block contains groups of AND and OR elements, the first information input connected to the first inputs of the first, sixth and tenth elements AND, the second information input connected to the first inputs of the second, seventh and eleventh elements AND, the third information input connected to the first inputs of the third, of the eighth and twelfth elements AND, the fourth information input is connected to the first inputs of the fourth, ninth elements And, the fifth information input is connected to the first input of the fifth element And, the first the first input is connected to the second inputs of the tenth, eleventh and twelfth elements And, the second control input is connected to the second inputs of the sixth, seventh, eighth and ninth elements And, the third control input is connected to the second inputs of the first, second, third, fourth and fifth elements And, the outputs of the second, third, fourth and fifth AND elements are connected respectively to the first inputs of the first, second, third and fourth OR elements, the outputs of the sixth, seventh, eighth and ninth AND elements are connected respectively to torymi OR input group of elements, the outputs of the tenth, eleventh and twelfth AND gates respectively connected to the third input element or an output of first AND element and OR element outputs are connected respectively to the outputs of the group unit outputs.
Блок сдвига произведения содержит группы элементов И или ИЛИ, причем первый информационный вход соединен с первым входом первого элемента И группы, второй информационный вход соединен с первыми входами второго и шестого элементов И, третий информационный вход соединен с первыми входами третьего, седьмого и десятого элементов И, четвертый информационный вход соединен с первыми входами четвертого, восьмого и одиннадцатого элементов И, пятый информационный вход соединен с первыми входами пятого, девятого и двенадцатого элементов И, первый управляющий вход соединен с вторыми входами десятого, одиннадцатого и двенадцатого элементов И, второй управляющий вход соединен со вторыми входами шестого, седьмого, восьмого и девятого элементов И, третий управляющий вход соединен с вторыми входами первого, второго, третьего, четвертого и пятого элементов И, выходы первого, второго, третьего и четвертого элементов И соединены соответственно с первыми входами соответствующих элементов ИЛИ группы, выходы шестого, седьмого, восьмого и девятого элементов И соединены соответственно с вторыми входами соответствующих элементов ИЛИ группы, выходы десятого, одиннадцатого и двенадцатого элементов И соединены соответственно с третьими входами первого, второго и третьего элементов ИЛИ группы, выходы группы элементов ИЛИ и выход пятого элемента И соединены соответственно с выходами группы выходов устройства умножения в конечных полях. The product shift block contains groups of AND or OR elements, the first information input connected to the first input of the first element AND of the group, the second information input connected to the first inputs of the second and sixth AND elements, the third information input connected to the first inputs of the third, seventh and tenth AND , the fourth information input is connected to the first inputs of the fourth, eighth and eleventh elements And, the fifth information input is connected to the first inputs of the fifth, ninth and twelfth elements And, the first the control input is connected to the second inputs of the tenth, eleventh and twelfth elements And, the second control input is connected to the second inputs of the sixth, seventh, eighth and ninth elements And, the third control input is connected to the second inputs of the first, second, third, fourth and fifth elements And, the outputs of the first, second, third and fourth AND elements are connected respectively to the first inputs of the corresponding elements of the OR group, the outputs of the sixth, seventh, eighth and ninth AND elements are connected respectively to the second bubbled inputs of the corresponding element or group, the outputs of the tenth, eleventh and twelfth AND gates respectively connected to third inputs of the first, second and third elements or the group yields a group of elements OR and the output of the fifth AND gate connected respectively to the outputs of groups of multipliers outputs in finite fields.
Наличие признаков, отличающих заявляемое техническое решение от прототипа, а именно: блок сдвига сомножителей, блок задания обратных связей, блок формирования величины сдвига и блок сдвига произведений, причем входы группы первых информационных входов устройства соединены соответственно с информационными входами блока сдвига сомножителя, (ae k)-e (k ) входы группы вторых информационных входов устройства соединены с информационными входами (k)-х блоков вычисления полиномов, а ае-й вход группы вторых информационных входов устройства соединен с информационным входом блока сдвига сомножителя, группа управляющих входов устройства соединена с группами входов блока задания обратных связей и блока формирования величины сдвига, группы выходов блока формирования величины сдвига соединена с группами управляющих входов блока сдвига сомножителя и блока сдвига произведения, группа выходов блока задания обратных связей соединена с группами управляющих входов (ае 1) блоков вычисления полиномов, у которых группы первых информационных входов соединены с группой выходов блока сдвига сомножителя и с группой информационных входов блока умножения на старший разряд, группа входов (ае 1)-го блока вычисления полинома соединена с группой информационных входов блока сдвига произведения, группа выходов которого соединена с группой выходов устройства для умножения в конечных полях, обуславливает соответствие заявляемого технического решения критерию "новизна".The presence of features that distinguish the claimed technical solution from the prototype, namely: a block of shifting factors, a block for setting feedbacks, a block for generating a value for a shift, and a block for shifting products, the inputs of the group of the first information inputs of the device being connected respectively to the information inputs of the block for shifting the factor, (a e k) -e (k ) Inputs of the second group of information inputs devices connected to data inputs (k) -x polynomial evaluation blocks, and a G th group of second input information input apparatus connected to the data input of the shift factor unit, the group control device is connected to the input unit inputs the job groups inverse connections and a unit for generating a shear value, a group of outputs of a unit for generating a shear unit is connected to groups of control inputs of a unit for shifting a factor and a unit for shifting a product, a group of outputs b eye job feedback coupled to control inputs groups (ae 1) blocks calculate polynomials whose group of first data inputs connected to a group of shift unit output factor and a group of information inputs multiplier for the MSB, the group of inputs (ae 1) - of the polynomial computing unit is connected to the group of information inputs of the product shift unit, the group of outputs of which is connected to the group of outputs of the device for multiplication in the final fields, determines the conformity of the claimed technical Addressing the criterion of "novelty."
Для доказательства наличия причинно-следственной связи между совокупностью существенных признаков заявляемого изобретения и достигаемым техническим результатом обратимся к следующим теоретическим предпосылкам. To prove the presence of a causal relationship between the totality of the essential features of the claimed invention and the achieved technical result, we turn to the following theoretical premises.
В поле Галуа 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).In the Galois field GF (2), the multiplication of two polynomials
p (x) p a-1 x a-1 + p a-2 x a-2 +. + p 1 x + p 0 , and g (x)
g a-1 x a-1 + g a-2 x a-2 +. + g 1 x + g 0 , p i g i ∈ (0,1), i, j =
it is possible to carry out in one time step, if you implement a device containing a steps that are triggered simultaneously, and at the first stage, the result will be obtained S (1) g a-1 p (x). In the second stage, the result will be obtained.
S (2) (x) (g a-1 x + g a-2 ) p (x) + b a-2 F (x), where b a-2 is the first coefficient of the quotient of the division g (x) p (x ) / F (x). At the i-th stage, the result will be obtained
S (i) (x) (g a-1 x a-1 + g a-2 x a-2 + + g ai ) P (x) +
+ (b a-2 x a-2 + b a-3 x a-3 + + b ai ) F (x), where b ai (i 1) is the quotient of the quotient. At the ith stage, the result of multiplication will be obtained
r (x) S (a) (x) (g a-1 x a-1 + g a-2 x a-2 + +
+ g o ) p (x) + (b a-2 x a-2 + b a-3 x a-3 + +
+ b o ) F (x) g (x) p (x) + b (x) F (x).
Изобретение реализуется средствами вычислительной техники. Один из возможных вариантов предлагается в данном описании. The invention is implemented by computer technology. One of the possible options is proposed in this description.
На фиг. 1 приведена функциональная схема предлагаемого устройства; на фиг. 2 функциональная схема для примера реализации блока сдвига сомножителя; на фиг. 3 и 4 функциональные схемы соответственно блока умножения на старший разряд и блока вычисления полинома; на фиг. 5 и 6 функциональные схемы для примера реализации соответственно блока задания обратных связей и блока формирования величины сдвига; на фиг. 7 функциональная схема для примера реализации блока сдвига произведения; на фиг. 8-10 функциональная схема устройства для примера реализации умножения с заданной разрядностью поля. In FIG. 1 shows a functional diagram of the proposed device; in FIG. 2 is a functional diagram for an example implementation of a shift block of a factor; in FIG. 3 and 4 are functional diagrams of a block multiplying by a high order and a block of computing a polynomial, respectively; in FIG. 5 and 6 are functional diagrams for an example implementation of a feedback task unit and a shift value generating unit, respectively; in FIG. 7 is a functional diagram for an example implementation of a product shift block; in FIG. 8-10 is a functional diagram of a device for an example of implementing multiplication with a given field width.
Функциональная схема заявляемого устройства (см. фиг. 1) содержит 11-1- группу первых информационных входов; 2 блок сдвига сомножителя; 31-3 группу вторых информационных входов; 4 блок умножения на старший разряд; 51-5 блоки вычисления полиномов; 61-6е группу управляющих входов; 7 блок задания обратных связей; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 10
Функциональная схема для примера реализации блока сдвига сомножителя 2 (см. фиг. 2) содержит: 11-15 группу информационных входов; 121-1212 группу элементов И; 131-133 группу управляющих входов; 141-144 группу элементов ИЛИ; 151-155 группу выходов блока 2.Functional diagram for an example implementation of the shift block of the factor 2 (see Fig. 2) contains: 1 1 -1 5 group of information inputs; 12 1 -12 12 group of elements And; 13 1 -13 3 group of control inputs; 14 1 -14 4 group of elements OR; 15 1 -15 5 group of outputs of
Функциональная схема блока умножения на старший разряд 4 (см. фиг. 3) содержит: 3 информационный вход; 151-15 группу информационных входов; 161-16 группу элементов И; 10
Функциональная схема блока вычисления полинома 5i (i ) (см. фиг. 4) содержит: 3i информационный вход; 10
Функциональная схема для примера реализации блока задания обратных связей 7 (см. фиг. 5) содержит: 61-67 группу управляющих входов; 231-234 группу элементов ИЛИ; 24 элемент НЕ; 221-225 группу выходов блока 7.The functional diagram for an example implementation of the feedback task block 7 (see Fig. 5) contains: 6 1 -6 7 group of control inputs; 23 1 -23 4 group of elements OR; 24 element NOT; 22 1 -22 5 group of outputs of
Функциональная схема для примера реализации блока формирования величины сдвига 8 (см. фиг. 6) содержит: 61-67 группу управляющих входов; 251-253 группу элементов ИЛИ; 131-133 группу выходов блока 8.Functional diagram for an example implementation of a unit for forming a shift value 8 (see Fig. 6) contains: 6 1 -6 7 group of control inputs; 25 1 -25 3 group of elements OR; 13 1 -13 3 group of outputs of
Функциональная схема для примера реализации блока сдвига произведения 9 (см. фиг. 7) содержит:101-105 группу информационных входов; 131-133 группу управляющих входов; 261-2612 группу элементов И; 271-274 группу элементов ИЛИ; 111-115 группу выходов.Functional diagram for an example implementation of the shift unit of product 9 (see Fig. 7) contains: 10 1 -10 5 a group of information inputs; 13 1 -13 3 group of control inputs; 26 1 -26 12 group of elements And; 27 1 -27 4 group of elements OR; 11 1 -11 5 group of outputs.
Функциональная схема (пример реализации) устройства для умножения в конечных полях (см. фиг. 8-10) содержит: 11-15 группу первых информационных входов; 2 блок сдвига сомножителя; 31-35 группу вторых информационных входов; 61-67 группу управляющих входов устройства; 7 блок задания размерности поля; 8 блок формирования величины сдвига; 9 блок сдвига произведения; 10
Элементы устройства умножения в конечных полях взаимосвязаны следующим образом. The elements of the multiplication device in the final fields are interconnected as follows.
Входы 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, группы информационных выходов 10
В блоке сдвига сомножителя 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.In the shift block of the factor 2 (implementation example),
В блоке умножения на старший разряд 4 входы 151-15 группы информационных входов блока соединены соответственно с первыми входами группы элементов И 161-16, вторые входы которых объединены и соединены с информационным входом 3 блока, выходы группы элементов И 161-16 соединены соответственно с выходами 10
В каждом блоке вычисления полинома 5i (i ) вход 15j (j ) группы первых информационных входов соединен с первым входом элемента И 18
В блоке задания обратных связей 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.In the feedback setting block 7 (implementation example), input 6 1 is connected to the first input of the third OR 23 3 element, input 6 2 is connected to the first input of the fourth OR 23 4 element, input 6 3 is connected to the first input of the second OR 23 2 element, input 6 4 is connected to the second input of the second OR
В блоке формирования величины сдвига 8 (пример реализации) входы 61и 62 соединены соответственно с первым и вторым входами первого элемента ИЛИ 251, входы 63 и 64 соответственно соединены с первым и вторым входами второго элемента ИЛИ 252, входы 65-67 соответственно соединены с первым, вторым и третьим входами третьего элемента ИЛИ 253, выход элемента ИЛИ 25i (i ) соединен с выходом 13i блока 8.In the unit for generating the shift value 8 (implementation example), inputs 6 1 and 6 2 are connected respectively to the first and second inputs of the first OR element 25 1 , inputs 6 3 and 6 4 are respectively connected to the first and second inputs of the second element OR 25 2 , inputs 6 5 -6 7 are respectively connected to the first, second and third inputs of the third OR element 25 3 , the output of the OR element 25 i (i ) is connected to the
В блоке сдвига произведения 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 группы выходов устройства для умножения в конечных полях.In the shift unit of product 9 (implementation example), input 10 1 is connected to the first input of group I element 26 1 , input 10 2 is connected to the first inputs of group elements I 26 2 and 26 6 , input 10 3 is connected to the first inputs of elements I 26 3 , 26 7 and 26 10 groups, input 10 4 connected to the first inputs of elements And 26 4 , 26 8 and 26 11 groups, input 10 5 connected to the first inputs of elements And 26 5 , 26 9 and 26 12 groups, input 13 1 groups of control input unit connected to the second inputs of aND gates 12, October 26 -26 group 2 groups while 13 control unit with inputs connected to second inputs of aND gates 26 June 9 -26 groups , Input 13 of control unit 3 groups of inputs coupled to second inputs of AND gates 26 January 5 -26 group elements and outputs January 26 4 -26 are respectively connected to first inputs of OR element group January 27 -27 4, the outputs of AND gates 26 June -26 9 are connected respectively to the second inputs of the group of elements OR 27 1 -27 4 , the outputs of the elements AND 26 10 -26 12 are connected respectively to the third inputs of the elements of OR 27 1 -27 3 groups, the outputs of the group of elements OR 27 1 -27 4 and the output of the element AND 26 are connected respectively to the outputs 11 1 -11 5 of the group of outputs of the device for multiplication in the final fields.
Работает устройство для умножения в конечных полях следующим образом. The device for multiplication in the final fields works as follows.
При описании работы устройства в поле GF(2) (i ), определенном полиномом Fi(x) (i ) степени ai с коэффициентом из поля GF(2)- т.е.When describing the operation of the device in the GF field (2 ) (i ) defined by the polynomial F i (x) (i ) of degree a i with a coefficient from the field GF (2) - i.e.
Fi(x) Fio+Fi1x+.+Fx, Fij∈GF(2), i=,j=,Fio=1, каждый элемент поля представляют в виде полинома над GF(2), степень которого меньше аi, т.е. вместо элементов p,q,r∈GF(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=.F i (x) F io + F i1 x +. + F x , F ij ∈GF (2), i = , j = , F io = 1, each element of the field is represented as a polynomial over GF (2), the degree of which is less than a i , i.e. instead of elements p, q, r∈GF (2 ) consider polynomials
p i (x) p ij x j , p ij ∈ GF (2), i = , j = ,
q i (x) q ij x j , q ij ∈ GF (2), i = , j = ,
r i (x) r ij x j , r ij ∈ GF (2), i = , j = .
Тогда умножение элементов GF(2ai), т.е. piqi ri, выполняется по правилам умножения представляющих эти элементы полиномов по модулю Fi(x), т.е.Then the multiplication of the elements of GF (2 ai ), i.e. p i q i r i , is performed according to the rules of multiplication of the polynomials representing these elements modulo F i (x), i.e.
ri(x) pi(x)qi(x) + bi(x)Fi(x), (1) где bi(x) полином степени меньшей, чем ai 1.r i (x) p i (x) q i (x) + b i (x) F i (x), (1) where b i (x) is a polynomial of degree less than a i 1.
В дальнейшем, для определенности, будем считать, что величины ai, i упорядочены в порядке неубывания индексов, т.е.In the future, for definiteness, we assume that the quantities a i , i ordered in non-decreasing order of indices, i.e.
a1 ≅ a2 ≅ ≅ ae.a 1 ≅ a 2 ≅ ≅ a e .
Для вычисления полинома re(x) можно использовать рекуррентное уравнение S
S
Тогда
re(x) S
S
Then
r e (x) S
Полином 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), т.е.The polynomial r i (x) in the case a i <a e can be calculated by transforming relation (1) as follows
(x) q i (x) (x) + b i (x) (x)
Where (x) r i (x) x , (x) p i (x) x , (x) F i (x) x
Since the degree of the polynomial (x) is equal to ae, then to calculate (x) a recurrence equation similar to equation (2) can be used, i.e.
(x) q(x)+(x)x+b(x), k=1,2, (3)
где (x) q(x). (x) q (x) + (x) x + b (x), k = 1,2, (3)
Where (x) q (x).
Тогда
(x) (x).Then
(x) (x).
Для получения ri(x) достаточно разделить (x) на х ае-ai
На ai, i входов группы первых информационных входов 11-1устройства в параллельном коде подаются коэффициенты полинома pi(x). Аналогичным образом на ai, i входов группы вторых информационных входов 31-3 устройства подаются коэффициенты полинома qi(x).To obtain r i (x) it is enough to divide (x) for x and f -a i
On a i , i inputs of the group of first information inputs 1 1 -1 devices in parallel code are given coefficients of the polynomial p i (x). Similarly, on a i , i inputs of the group of second information inputs 3 1 -3 devices are given coefficients of the polynomial q i (x).
С помощью информации, подаваемой с выходов блока формирования величины сдвига 8 на управляющие входы блока сдвига сомножителя 2, вектор коэффициентов полинома pi(x) сдвигается на (ae ai) разрядов в сторону старших разрядов.Using the information supplied from the outputs of the unit for generating the
На входы блока умножения на старший разряд 4 подается с выходов блока сдвига сомножителя 2 вектор коэффициентов поли-нома (x) pi(x)х ае-ai и с ае-го входа группы вторых информационных входов устройства коэффициент ai,ae-1. На выходах блока умножения на старший разряд 4 будет сформирован результат вектор коэффициентов полинома
S
S
На первые информационные входы блока вычисления полинома 5k (k ) подается вектор коэффициентов полинома (x), на вторые информационные входы подается вектор коэффициентов полинома S
(x) q(x)+(x)x+b(x).At the first information inputs of the block for computing the polynomial 5 k (k ) the vector of coefficients of the polynomial (x), the vector of coefficients of the polynomial S
(x) q (x) + (x) x + b (x).
Коэффициенты полинома q(x) (первого слагаемого) формируются с помощью первой группы элементов И 18
Коэффициенты полинома (x) Si(ae-1)(х) с выходов блока вычисления полинома 5 будут подаваться на информационные входы блока сдвига произведения 9. С помощью кода, подаваемого на управляющие входы блока сдвига произведения с выходов блока формирования величины сдвига 8, в блоке сдвига произведения 9 будет осуществлен сдвиг вектора коэффициентов полинома (x) на (ae-ai) разрядов в сторону младших разрядов. На выходах 11e-11 блока сдвига произведения 9 будут получены коэффициенты искомого полинома ri(x).Polynomial Coefficients (x) S i ( ae-1) (x) from the outputs of the block for computing polynomial 5 will be fed to the information inputs of the
Рассмотрим работу устройства для случая, когда 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.Consider the operation of the device for the case when
F 1 (x) x 3 + x + 1, F 2 (x) x 3 + x 2 + 1,
F 3 (x) 'x 4 + x + 1,
F 4 (x) x 4 + x 3 + 1, F 5 (x) x 5 + x 2 + 1,
F 6 (x) x 5 + x 4 + x 3 + x 2 + 1,
F 7 (x) x 5 + x 4 + x 2 + x + 1.
При этом а1 а2 3, а3 а4 4, а5 а6 а7 5.Moreover, a 1 a 2 3, a 3 a 4 4, and 5 a 6 a 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.Based on polynomial coefficient values (x) F i (x) x a e -a i (x) F 1 (x) x 2 x 5 + x 3 + x 2 , (x) F 2 (x) x 2 x 5 + x 4 + x 2 , (x) F 3 (x) xx 5 + x 2 + x, (x) F 4 (x) xx 5 + x 4 + x, (x) F 5 (x), (x) F 6 (x), (x) F 7 (x) we compose the synthesis matrix of the
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= Y5∨Y6∨Y7, b1= Y3∨Y4∨Y7, b3= b4= Y1∨Y6, b5= Y2∨Y4∨Y6∨Y7
Построенный в соответствии с полученными выражениями блока задания обратных связей 7 приведен на фиг. 5.Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7
0 0 0 0 1 1 1 b 1
0 0 1 1 0 0 1 b 2
1 1 1 0 1 1 1 b 3
1 0 0 0 0 1 0 b 4
0 1 0 1 0 1 1 b 5
Then
b 1 = Y 5 ∨ Y 6 ∨ Y 7 , b 1 = Y 3 ∨ Y 4 ∨ Y 7 , b 3 = b 4 = Y 1 ∨ Y 6 , b 5 = Y 2 ∨ Y 4 ∨ Y 6 ∨ Y 7
Constructed in accordance with the obtained expressions of the
На основании значений ai, i составим матрицу синтеза блока формирования величины сдвига 8, в которой столбцы соответствуют входам, а строки выходам блока формирования величины сдвига 8.Based on the values of a i , i we compose the synthesis matrix of the unit for forming the amount of
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.Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7
1 1 0 0 0 0 0 C 1
0 0 1 1 0 0 0 C 2
0 0 0 0 1 1 1 C 3
Then
C 1 Y 1 VY 2 , C 2 Y 3 VY 4 , C 3 Y 5 VY 6 VY 7 .
Построенный в соответствии с полученными выражениями блок формирования величины сдвига 8 приведен на фиг. 6. Constructed in accordance with the obtained expressions, the shear
Рассмотрим работу устройства при умножении элементов поля GF(23), определяемого полиномом F1(x) x3 + x + 1. В этом случае сигнал "1" поступает на управляющий вход устройства. Сигнал "1" появляется на выходах 223 и 224 блока задания обратных связей 7 (на остальных выходах блока задания обратных связей сигнал "0"), а также на выходе 131 блока формирования величины сдвига 8 (на остальных выходах блока формирования величины сдвига 8 сигнал "0").Consider the operation of the device when multiplying the elements of the field GF (2 3 ), defined by the polynomial F 1 (x) x 3 + x + 1. In this case, the signal "1" is fed to the control input of the device. The signal "1" appears at the
Пусть 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).Let p i (x) x 2 + 1, q i (x) x 2 + x. Moreover, the binary code 00101 corresponding to the coefficient of the polynomial p i (x) is supplied to the information inputs 1 1 -1 5 of the shift block of the
На выходах 10
На выходах группы элементов И 18
На выходах группы элементов И 18
На выходах группы элементов И 18
На выходах группы элементов И 18
На выходах 111-115 блока сдвига произведения 9 появляются коэффициенты полинома ri(x) (x)/х ае-ai (x3 + x2)/x2 x + 1, т.е. двоичный код 00011.At the outputs 11 1 -11 5 of the shift unit of
Технико-экономическую эффективность предлагаемого устройства по отношению к известному возможно определить из повышения быстродействия. The technical and economic efficiency of the proposed device in relation to the known can be determined from the increase in speed.
Если в известном устройстве на умножение тратится время
T1 tn at, где to тактовая частота, tn время подготовки к процедуре умножения то в предлагаемом устройстве на умножение будет затрачено время
T2 tn + to.If in a known device time is spent on multiplication
T 1 t n at, where t o is the clock frequency, t n is the preparation time for the multiplication procedure, then in the proposed device, the multiplication will take time
T 2 t n + t o .
Эффективность устройства определится формулой
Э Т1/Т2.The effectiveness of the device is determined by the formula
E T 1 / T 2 .
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5064139 RU2058040C1 (en) | 1992-07-08 | 1992-07-08 | Device for multiplication in finite fields |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5064139 RU2058040C1 (en) | 1992-07-08 | 1992-07-08 | Device for multiplication in finite fields |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2058040C1 true RU2058040C1 (en) | 1996-04-10 |
Family
ID=21614204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5064139 RU2058040C1 (en) | 1992-07-08 | 1992-07-08 | Device for multiplication in finite fields |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2058040C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2639661C1 (en) * | 2016-09-02 | 2017-12-21 | Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" | Method of multiplication and division of finite field elements |
-
1992
- 1992-07-08 RU SU5064139 patent/RU2058040C1/en active
Non-Patent Citations (3)
Title |
---|
Авторское свидетельство СССР N 1061134, кл. G 06F 7/49, 1983. * |
Авторское свидетельство СССР N 1529213, кл. G 06F 7/49, 1989. * |
Блох Э.Л. и др. Обобщенные каскадные коды. М.: Связь, 1976, с.99. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2639661C1 (en) * | 2016-09-02 | 2017-12-21 | Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" | Method of multiplication and division of finite field elements |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6049815A (en) | Method and apparatus for finite field multiplication | |
Gossett | Quantum carry-save arithmetic | |
EP1672481A1 (en) | Division and square root arithmetic unit | |
EP0447245A2 (en) | Bit-serial division method and apparatus | |
Eldridge | A faster modular multiplication algorithm | |
RU2316042C1 (en) | Device for multiplying numbers with arbitrary modulus | |
US6763366B2 (en) | Method for calculating arithmetic inverse over finite fields for use in cryptography | |
US7318080B2 (en) | Split radix multiplication | |
US20010054053A1 (en) | Method and apparatus for finite field multiplication | |
US6745219B1 (en) | Arithmetic unit using stochastic data processing | |
RU2299461C1 (en) | Modulus multiplexer | |
RU2058040C1 (en) | Device for multiplication in finite fields | |
RU2348965C1 (en) | Computing mechanism | |
Lee | Low complexity systolic montgomery multiplication over finite fields GF (2 m) | |
US5379244A (en) | Small-sized, low power consumption multiplication processing device with a rounding recoding circuit for performing high speed iterative multiplication | |
Hiasat | A Suggestion for a Fast Residue Multiplier for a Family of Moduli of the Form (2 n−(2 p±1)) | |
RU2797164C1 (en) | Pipeline module multiplier | |
RU2829089C1 (en) | Modulus multiplier | |
US6138134A (en) | Computational method and apparatus for finite field multiplication | |
RU2626654C1 (en) | Multiplier by module | |
RU2823911C1 (en) | Pipeline adder-accumulator by arbitrary modules | |
RU2804380C1 (en) | Pipeline calculator | |
RU2814657C9 (en) | Modulo conveyor accumulating adder | |
RU2804379C1 (en) | Multibit half-adder | |
US2906457A (en) | Difunction root extractor circuits |