RU2299462C1 - Device for forming remainder by double modulus - Google Patents
Device for forming remainder by double modulus Download PDFInfo
- Publication number
- RU2299462C1 RU2299462C1 RU2005130896/09A RU2005130896A RU2299462C1 RU 2299462 C1 RU2299462 C1 RU 2299462C1 RU 2005130896/09 A RU2005130896/09 A RU 2005130896/09A RU 2005130896 A RU2005130896 A RU 2005130896A RU 2299462 C1 RU2299462 C1 RU 2299462C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- modulo
- coefficient
- output
- adder
- Prior art date
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах для формирования кодовых последовательностей, построение которых основано на теории конечных полей.The invention relates to computer technology and can be used in digital computing devices for generating code sequences, the construction of which is based on the theory of finite fields.
Известно устройство для формирования остатка по произвольному модулю от числа, содержащее элементы ИЛИ, формирователи импульсов, счетчики, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, блоки умножения, элемент И, группу сумматоров по модулю два (см. АС СССР №1238077, кл. G06F 11/08, 15.06.1986).A device is known for generating a remainder modulo an arbitrary number, containing OR elements, pulse shapers, counters, an EXCLUSIVE OR element, multiplication blocks, an AND element, a group of adders modulo two (see USSR AS No. 1238077, class G06F 11/08, 06/15/1986).
Недостатком данного устройства является низкое быстродействие, а также отсутствие возможности формирования остатков по двойному модулю.The disadvantage of this device is the low speed, as well as the lack of the possibility of forming residues in a double module.
Наиболее близким по технической сущности к заявляемому изобретению является комбинационный рекуррентный формирователь остатков, содержащий узлы формирования частичных остатков, ключи и сумматоры по произвольному модулю (см. патент РФ №2029435, кл. Н03М 7/18, 20.02.1995).Closest to the technical nature of the claimed invention is a combination recurrent residual shaper containing nodes for the formation of partial residues, keys and adders according to an arbitrary module (see RF patent No. 2029435,
Недостатком данного устройства являются его ограниченные функциональные возможности, а именно отсутствие возможности формирования остатков по двойному модулю.The disadvantage of this device is its limited functionality, namely the lack of the possibility of forming residues in a double module.
Цель изобретения - расширение функциональных возможностей устройства формирования остатков за счет обеспечения формирования остатков по двойному модулю.The purpose of the invention is the expansion of the functionality of the device for the formation of residues by ensuring the formation of residues in a double module.
Сущность изобретения заключается в реализации следующего способа формирования остатков по двойному модулю.The essence of the invention lies in the implementation of the following method of forming residues in a double module.
Известно, что элементами расширенного поля Галуа GF(рn) являются полиномы вида It is known that the elements of the extended Galois field GF (p n ) are polynomials of the form
причем аi принадлежит полю GF(р).where a i belongs to the field GF (p).
Процедуру вычисления остатка от полинома А(х) по двойному модулю (F(x), р), где А(х) и F(x) - полиномы над полем GF(рn), причем F(x) является неприводимым полиномом над полем GF(рn), можно представить в виде вычисления частичных остатков от каждой степени полинома А(х) с последующим их суммированием в соответствии со значением коэффициента при данной степени.The procedure for calculating the remainder of the polynomial A (x) modulo double module (F (x), p), where A (x) and F (x) are polynomials over the field GF (p n ), and F (x) is an irreducible polynomial over field GF (p n ) can be represented in the form of calculating the partial residuals from each degree of the polynomial A (x) with their subsequent summation in accordance with the value of the coefficient for a given degree.
Алгоритм формирования остатка по двойному модулю имеет следующий вид.The double-modulus remainder generation algorithm has the following form.
Вычисляется частичный остаток от младшей степени полинома А(х), после чего частичный остаток умножается на коэффициент при соответствующей степени полинома А(х) и поступает в сумматор. Степень частичного остатка увеличивается на один разряд путем сдвига всех разрядов частичного остатка на один влево, после чего от полученного выражения вновь вычисляется частичный остаток.The partial remainder of the lowest degree of the polynomial A (x) is calculated, after which the partial remainder is multiplied by a coefficient for the corresponding degree of the polynomial A (x) and enters the adder. The degree of the partial remainder is increased by one bit by shifting all the bits of the partial remainder by one to the left, after which the partial remainder is again calculated from the resulting expression.
Если полиномы А(х) и 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) на основании выражения:If the polynomials A (x) and F (x) are represented as A (x) = a n x n + a n-1 x n-1 + ... + a 1 x + a 0 and F (x) = b k x k + b k-1 x k-1 + ... + b 1 x + b 0 , and k is less than n, then the partial remainder of A (x) modulo double modulus (F (x), p) has the form R (x) = c k-1 x k-1 + c k-2 x k-2 + ... + c 1 x + c 0 . The coefficients at the degrees R (x) are formed on the basis of the coefficients obtained when calculating the partial remainder of the previous degree of the polynomial A (x), and the coefficients of the polynomial F (x) based on the expression:
R*(x)=(ck-2-ck-1bk-1)xk-1+(ck-3-ck-1bk-2)xk-2+...+(c0-ck-1b1)x+(-ck-1b0).R * (x) = (c k-2 -c k-1 b k-1 ) x k-1 + (c k-3 -c k-1 b k-2 ) x k-2 + ... + (c 0 -c k-1 b 1 ) x + (- c k-1 b 0 ).
Каждый сформированный частичный остаток поступает на вход сумматора, где складывается по модулю р с результатом предыдущих вычислений. С выхода каждого сумматора результат поступает на вход последующего сумматора, а на выходе последнего сумматора по завершении всех операций будет сформирован остаток от полинома А(х) по двойному модулю (F(x), p).Each formed partial remainder goes to the input of the adder, where it is added modulo p with the result of previous calculations. From the output of each adder, the result goes to the input of the subsequent adder, and at the output of the last adder, upon completion of all operations, the remainder of the polynomial A (x) modulo double modulus (F (x), p) will be generated.
На фиг.1 представлена схема устройства формирования остатка по двойному модулю, на фиг.2 - схема блока формирования частичных остатков, на фиг.3 - схема блока формирования коэффициентов.In Fig.1 shows a diagram of a device for the formation of residues in a double module, Fig.2 is a diagram of a block forming partial residues, Fig.3 is a diagram of a block for generating coefficients.
Устройство формирования остатка по двойному модулю состоит из (n+1) последовательно соединенных блоков 1 формирования частичных остатков, (n+1) умножителей 2 по модулю и n сумматоров 3 по модулю.The double modulus remainder formation device consists of (n + 1) series-connected partial
Первый вход первого блока 1 формирования частичных остатков служит для записи кода «1», являющегося кодом начала операции, на первый вход каждого из последующих блоков 1 формирования частичных остатков подаются выходы разрядов предыдущего блока 1 формирования частичных остатков со сдвигом на один разряд в сторону старшего. Второй вход каждого блока 1 формирования частичных остатков служит для записи кода модуля p, поступающего со входа 5 устройства. На третий вход каждого блока 1 формирования частичных остатков подаются коэффициенты полинома модуля.The first input of the first block of partial
Выход i-го блока 1 формирования частичных остатков также подается на вход i-го умножителя 2 по модулю, причем i=1, ..., n+1, для перемножения со значением коэффициента при (i-1)-й степени полинома А(х), поступающим на второй вход умножителя 2 по модулю со входа 6 устройства. На третий вход каждого умножителя 2 по модулю подается код модуля р со входа 5 устройства.The output of the
Выход j-го умножителя 2 по модулю подается на первый вход (j-1)-го сумматора 3 по модулю, причем j=2, ...n+1, выход первого умножителя 2 по модулю подается на второй вход первого сумматора 3 по модулю. На второй вход j-го сумматора 3 по модулю подается выход (j-1)-го сумматора 3 по модулю. На третий вход каждого сумматора 3 по модулю подается код модуля р со входа 5 устройства. Выход n-го сумматора является выходом устройства.The output of the j-th multiplier 2 modulo is fed to the first input of the (j-1) -
Блок 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 по модулю.The device operates as follows. In the initial state, coefficients of the polynomial of the module F (x) are fed to input 4, and the code of module p is fed to input 5 of the device.
Процесс формирования остатка начинается с подачи на первый вход первого блока 1 кода числа «1». В блоке 1 формирования частичных остатков данный код поступает на второй вход второго блока 7 формирования коэффициентов. В блоке 7 формирования коэффициентов данный код складывается в сумматоре 10 по модулю с результатом, полученным в блоке вычитателя 9 при вычитании значения, поступившего с выхода умножителя 8 по модулю, из значения модуля р. Умножитель 8 по модулю формирует произведение значений, поступающих на его вход со входов 1 и 3 блока 7 формирования коэффициентов.The process of forming the residue begins with the filing of the
Полученное значение коэффициента с выхода сумматора 10 по модулю поступает на выход блока 7 формирования коэффициентов, после чего вместе со значениями коэффициентов, сформированными в остальных блоках 7 формирования коэффициентов, поступает на выход блока 1 формирования частичных остатков. С выхода блока 1 формирования частичных остатков значения коэффициентов поступают на вход последующего блока 1 формирования частичных остатков со сдвигом на один разряд в сторону старшего, где с ними осуществляются все вышеуказанные операции, а также на вход умножителя 2 по модулю. В умножителе 2 по модулю значения коэффициентов частичного остатка умножаются на значение коэффициента при степени полинома А(х), от которой вычисляется остаток (на вход i-го умножителя 2 по модулю подается значение коэффициента при (i-1)-й степени полинома А(х), где i=1, ..., n) в соответствии с модулем р, поступающим со входа 5 устройства. С выхода умножителя 2 по модулю полученные значения поступают на вход сумматора 3 по модулю, где суммируются со значениями, полученными на предыдущем шаге, в соответствии с модулем р, поступающим со входа 5 устройства. Значения коэффициентов, полученные на выходе n-го сумматора 3 по модулю, являются коэффициентами остатка от полинома А(х) по двойному модулю (F(x), p).The obtained value of the coefficient from the output of the adder 10 modulo arrives at the output of the
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2005130896/09A RU2299462C1 (en) | 2005-10-05 | 2005-10-05 | Device for forming remainder by double modulus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2005130896/09A RU2299462C1 (en) | 2005-10-05 | 2005-10-05 | Device for forming remainder by double modulus |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2005130896A RU2005130896A (en) | 2007-04-10 |
RU2299462C1 true RU2299462C1 (en) | 2007-05-20 |
Family
ID=38000137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2005130896/09A RU2299462C1 (en) | 2005-10-05 | 2005-10-05 | Device for forming remainder by double modulus |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2299462C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2770798C1 (en) * | 2021-04-02 | 2022-04-21 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | MODULO q SUBTRACTOR |
-
2005
- 2005-10-05 RU RU2005130896/09A patent/RU2299462C1/en active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2770798C1 (en) * | 2021-04-02 | 2022-04-21 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | MODULO q SUBTRACTOR |
Also Published As
Publication number | Publication date |
---|---|
RU2005130896A (en) | 2007-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4493046A (en) | Apparatus for generation of binary pseudo-random numbers | |
US4994995A (en) | Bit-serial division method and apparatus | |
Kuznetsov et al. | Periodic properties of cryptographically strong pseudorandom sequences | |
RU2316042C1 (en) | Device for multiplying numbers with arbitrary modulus | |
RU2299461C1 (en) | Modulus multiplexer | |
RU2299462C1 (en) | Device for forming remainder by double modulus | |
RU2717915C1 (en) | Computing device | |
US6807555B2 (en) | Modular arithmetic apparatus and method having high-speed base conversion function | |
KR100670780B1 (en) | Apparatus for hybrid multiplier in GF2^m and Method for multiplying | |
JP3823107B2 (en) | Basis transformation method and basis transformation device in finite field | |
RU2356086C2 (en) | Computing device | |
RU2324972C2 (en) | Creator of random module reminder of number | |
JP4398904B2 (en) | Random number sequence generation device, random number sequence generation method, arithmetic processing device, arithmetic processing method and program | |
García et al. | Efficient filter for the generation/correlation of Golay binary sequence pairs | |
RU2446444C1 (en) | Pseudorandom sequence generator | |
RU2661797C1 (en) | Computing device | |
RU2626654C1 (en) | Multiplier by module | |
KR100893695B1 (en) | Architecture of fast-serial finite field multiplier | |
RU2804380C1 (en) | Pipeline calculator | |
RU2029435C1 (en) | Combination recurrent former of remainders | |
JP2004227248A (en) | Arithmetic unit and arithmetic method | |
KR20000000770A (en) | Device for multiplying modular | |
RU2716357C1 (en) | Method and device for generating sequences of random numbers | |
RU2299460C1 (en) | Modulus multiplier by two | |
Kukade et al. | A Novel Parallel Multiplier for 2's Complement Numbers Using Booth's Recoding Algorithm |