RU2589361C1 - Умножитель по модулю - Google Patents

Умножитель по модулю Download PDF

Info

Publication number
RU2589361C1
RU2589361C1 RU2015108336/08A RU2015108336A RU2589361C1 RU 2589361 C1 RU2589361 C1 RU 2589361C1 RU 2015108336/08 A RU2015108336/08 A RU 2015108336/08A RU 2015108336 A RU2015108336 A RU 2015108336A RU 2589361 C1 RU2589361 C1 RU 2589361C1
Authority
RU
Russia
Prior art keywords
input
modulo
elements
inputs
multiplier
Prior art date
Application number
RU2015108336/08A
Other languages
English (en)
Inventor
Игорь Анатольевич Калмыков
Артем Брониславович Саркисов
Татьяна Александровна Гиш
Андрей Валерьевич Дунин
Максим Игоревич Калмыков
Original Assignee
Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" filed Critical Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет"
Priority to RU2015108336/08A priority Critical patent/RU2589361C1/ru
Application granted granted Critical
Publication of RU2589361C1 publication Critical patent/RU2589361C1/ru

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

Изобретение относится к области вычислительной техники и может быть использовано в цифровых вычислительных устройствах, а также в устройствах для формирования элементов конечных полей. Техническим результатом, является снижение аппаратных затрат на реализацию умножителя по модулю. Устройство содержит: 16 двухвходовых элементов И, 6 двухвходовых сумматоров по модулю два, 4 многовходовых сумматоров по модулю два и связи между ними. 1 ил., 12 табл.

Description

Изобретение относится к области вычислительной техники и может быть использовано в цифровых вычислительных устройствах, а также в устройствах для формирования элементов конечных полей.
Известен умножитель по модулю (патент RU 2299461 С1, МПК G06F 7/523, G06F 7/72, 2007), который содержит умножитель, n сумматоров, n инверторов, (n-1) умножителей на константу, где n- размер умножителя, мультиплексор, два выхода для подачи двоичных кодов умножаемых чисел, вход для подачи двоичного кода модуля p, выход.
Недостатком данного устройства являются значительные схемные (аппаратные) затраты на его реализацию.
Основной задачей является снижение аппаратных затрат на выполнение операции умножения по модулю.
Техническим результатом, достигнутым при осуществлении заявленного изобретения, является снижение аппаратных затрат на реализацию умножителя по модулю.
Указанный технический результат достигается за счет введения 16 двухвходовых элементов И, 6 двухвходовых сумматоров по модулю два, 4 многовходовых сумматоров по модулю два.
При проведении умножения по модулю p(z)=z4+z+1, двух операндов A(z) и B(z), степени которых удовлетворяют условию:
Figure 00000001
Могут быть получены результаты, которые являются элементами поля Галуа GF(24). В таблице 1 приведены ненулевые элементы поля GF(24), порождаемые неприводимым полиномом p(z)=z4+z+1.
Таблица 1
Figure 00000002
Так как операнды А и В представляют собой четырехразрядные комбинации, то максимальная степень их полиномиальной формы записи будет равна трем. Поэтому необходимо определить результаты каждого разряда первого операнда A(z) на каждый разряд операнда B(z).
Пусть A{z)=1. Тогда результаты умножения A(z)B(z) по модулю p(z)=z4+z+1 приведены в таблице 2.
Figure 00000003
Пусть A(z)=z. Тогда результаты умножения приведены в таблице 3.
Figure 00000004
Пусть A(z)=z2. Тогда результаты умножения приведены в таблице 4.
Figure 00000005
Пусть A{z)=z3. Тогда результаты умножения приведены в таблице 5.
Figure 00000006
Обобщая данные, приведенные в таблицах 2-5, можно определить, какие разряды операндов A(z) и B(z) участвуют в получении каждого разряда произведения A(z)B(z) mod p(z). Результаты приведены в таблице 6.
Figure 00000007
Рассмотрим первую строку данной таблицы. Для того чтобы получить произведение A(z)B(z) mod p(z)=1, при условии, что операнд A(z)=1, необходимо условие, что B(z)=1. Таким образом, для выполнения операции умножения по модулю для данных разрядов операндов достаточно использовать двухвходовой элемент И. Аналогичный результат получается для строки 2, 3, 4, 5, 9, 10, 13, 14, 15 таблицы 6.
Рассмотрим шестую строку таблицы 6. Для того чтобы получить значения произведения A(z)B(z)modp(z)=z при условии, что первый операнд A(z)=z, значение второго операнда A(z)=z может быть 1 или z. Это обусловлено равенствами
z·1modz4+z+1=z,
z·z3 modz4+z+1=z4 mod z4+z+1=z+1,
в произведениях которых присутствует значение z.
Если одновременно подать единичный сигнал на разряды 1 и z3 второго операнда B(z), при условии, что A(z)=z, то получаем результат:
A(z)B(z)modz4+z+1=(z(z3+1))modz4+z+1=(z4+z)modz4+z+1=1.
Данный результат можно получить, если сложить результаты двух произведений по модулю два:
(z·1)modz4+z+1+(z-z3)modz4+z+1=z+z+1=1.
Значит, чтобы решить данную проблему, необходимо использовать двухвходовой сумматор по модулю два, на входы которого подаются сигналы с 1 и z3 второго операнда B(z). Выход этого сумматора по модулю два подключается на второй вход элемента И, на первый вход которого поступает сигнал в разряде z первого операнда A(z). Аналогичный результат получается для строк 6, 7, 8, 11, 12, 16 таблицы 6.
На фигуре 1 приведена структура умножителя по модулю. Он содержит входы 1-4, на которые поступает в двоичном коде первый операнд A(z), входы 5-8, на которые подается двоичный код второго операнда B{z), блок двухвходовых сумматоров по модулю два 9.1-9.6, блок двухвходовых элементов И 10.1-10.16, сумматоры по модулю два 11-14, выходы которых являются выходом умножителя по модулю. При этом младшие разряды «1» первого и второго операндов A(z) и B(z) поступают на входы 1 и 5 соответственно, а старший разряд z3 - соответственно на входы 4 и 8. Первый вход 1 первого операнда A(z) подключен к первым выходам элементов И 10.1-10.4. Второй вход 2 первого операнда A(z) подключен к первым входам элементов И 10.5-10.8. Третий вход, по которому передается разряд z2 первого операнда A(z), подключен к первым входам элементов И 10.9-10.12. Четвертый вход 4 умножителя по модулю, по которому передается разряд z3 первого операнда A(z), подключен к первым входам элементов И 10.13-10.16. Пятый вход 5 умножителя по модулю, по которому подается разряд 1 второго операнда B(z), подключен ко второму входу элемента И 10.1, а также к первым входам сумматоров по модулю два 9.1, 9.3, 9.6. Шестой вход 6 умножителя по модулю, по которому подается разряд z второго операнда B(z), подключен ко вторым входам элементов И 10.2, 10.7, 10.12, 10.13 и первому входу сумматора по модулю два 9.4. Седьмой вход умножителя по модулю, по которому подается разряд z2 второго операнда B(z), подключен ко второму входу элементов И 10.3, 10.8, 10.9 и первому входу сумматоров по модулю два 9.2 и 9.5, а также второму входу сумматора по модулю два 9.4. Восьмой вход 8 умножителя по модулю, по которому подается разряд z3 второго операнда B(z), подключен ко второму входу элементов И 10.4, 10.5 и второму входу сумматоров по модулю два 9.1, 9.2, 9.3, 9.5, 9.6. Выходы сумматоров по модулю два 9.1- 9.6 подключены ко вторым входам элементов И 10.6, 10.10, 10.11, 10.14, 10.15, 10.16 соответственно. Входы сумматора по модулю два 11 соединены с выходами элементов И 10.1, 10.5, 10.9, 10.13. Входы сумматора по модулю два 12 соединены с выходами элементов И 10.2, 10.6, 10.10, 10.14. Входы сумматора по модулю два 13 соединены с выходами элементов И 10.3, 10.7, 10.11, 10.15. Входы сумматора по модулю два 14 соединены с выходами элементов И 10.4, 10.8, 10.12, 10.16. Выход сумматора по модулю два 11 соответствует младшему разряду произведения, а выход сумматора по модулю два 14 - старшему разряду произведения A(z)B(z) mod p(z).
Рассмотрим работу умножителя по модулю. Пусть A(z)=z3+z2+1 и B(z)=z3+1. Тогда их произведение по модулю p(z)=z4+z+1 равно:
(z3+z2+1)(z3+1)modz4+z+1=(z6+z5+z3+z3+z2+1)modz4+z+1=(z6+z5+z2+1)modz4+z+1=z3+z2+z+1.
В соответствии с выбранными значениями A(z) и B(z) единичный сигнал будет на входах 1, 3, 4, 5, 8 умножителей по модулю, а на остальных - нулевой сигнал. Выходные сигналы сумматоров по модулю два 9.1- 9.6 приведены в таблице 7.
Figure 00000008
Таким образом, единичный сигнал будет на выходах сумматоров по модулю два 9.2, 9.5.
Выходные сигналы элементов И 10.1- 10.16 приведены в таблице 8.
Figure 00000009
Таким образом единичный сигнал будет на выходе элементов 10.1, 10.4, 10.10, 10.15.
Выходные сигналы сумматоров по модулю два 11-14 определяются из таблиц 9-12.
Figure 00000010
Figure 00000011
Figure 00000012
Figure 00000013
Figure 00000014
Таким образом, на выходе умножителя по модулю получен двоичный код произведения 1111, который в полиномиальной форме имеет вид z3+z2+z+1, что соответствует контрольному просчету.

Claims (1)

1. Умножитель по модулю имеет четыре входа для первого операнда, четыре входа для второго операнда, шесть двухвходовых сумматоров по модулю два, 16 элементов И, четыре многовходовых сумматора по модулю два, при этом младшие разряды первого и второго операндов поступают на первый и пятый входы соответственно, а старший разряд операндов - соответственно на четвертый и восьмой входы умножителя по модулю, первый вход умножителя по модулю подключен к первым входам 1-4 элементов И, второй вход подключен к первым входам 5-8 элементов И, третий вход подсоединен к первым входам 9-12 элементов И, четвертый вход умножителя подключен к первым входам 13-16 элементов И, пятый вход умножителя - ко второму входу первого элемента И, а также к первым входам 1, 3, 6 двухвходовых сумматоров по модулю два, шестой вход умножителя по модулю подсоединен ко вторым выходам 2, 7, 12, 13 элементов И и к первому входу 4 двухвходового сумматора по модулю два, седьмой вход умножителя по модулю подключен ко вторым входам 3, 8, 9 элементов И, первому входу 2 и 5, а также ко второму входу 4 двухвходовых сумматоров по модулю два, восьмой вход умножителя по модулю подсоединен ко вторым входам 4 и 5 элементов И и вторым входам 1, 2, 3, 5, 6 двухвходовых сумматоров по модулю два, выходы 1-6 двухвходовых сумматоров по модулю два подключены ко вторым входам 6, 10, 11, 14, 15, 16 элементов И соответственно, вход первого многовходового сумматора по модулю два подключен к выходам 1, 5, 9, 13 элементов И, вход второго многовходового сумматора по модулю два подключен к выходам 2, 6, 10, 14 элементов И, вход третьего многовходового сумматора по модулю два подключен к выходам 3, 7, 11, 15 элементов И, вход четвертого многовходового сумматора по модулю два подключен к выходам 4, 8, 12, 16 элементов И, выходы многовходовых сумматоров по модулю два являются выходом умножителя по модулю, причем выход первого многовходового сумматора по модулю два соответствует нулевому разряду произведения, а выход четвертого многовходового сумматора по модулю два - старшему разряду произведения.
RU2015108336/08A 2015-03-10 2015-03-10 Умножитель по модулю RU2589361C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015108336/08A RU2589361C1 (ru) 2015-03-10 2015-03-10 Умножитель по модулю

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015108336/08A RU2589361C1 (ru) 2015-03-10 2015-03-10 Умножитель по модулю

Publications (1)

Publication Number Publication Date
RU2589361C1 true RU2589361C1 (ru) 2016-07-10

Family

ID=56371143

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015108336/08A RU2589361C1 (ru) 2015-03-10 2015-03-10 Умножитель по модулю

Country Status (1)

Country Link
RU (1) RU2589361C1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA033823B1 (ru) * 2018-02-06 2019-11-29 Belarusian State Univ Bsu Устройство для умножения по модулю восемь
RU2713862C1 (ru) * 2019-03-11 2020-02-07 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" УМНОЖИТЕЛЬ ПО МОДУЛЮ q
RU2770801C1 (ru) * 2021-04-02 2022-04-21 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" Умножитель по модулю три

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2299461C1 (ru) * 2005-10-05 2007-05-20 Вячеслав Иванович Петренко Умножитель по модулю
EP1855190A2 (en) * 2003-04-25 2007-11-14 Samsung Electronics Co.,Ltd. Montgomery modular multiplier and method therof using carry save addition
RU2316042C1 (ru) * 2006-08-07 2008-01-27 ГОУ ВПО Ставропольский государственный университет Устройство для умножения чисел по произвольному модулю

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1855190A2 (en) * 2003-04-25 2007-11-14 Samsung Electronics Co.,Ltd. Montgomery modular multiplier and method therof using carry save addition
EP2037357A2 (en) * 2003-04-25 2009-03-18 Samsung Electronics Co., Ltd. Montgomery modular multiplier and method thereof using carry save addition
RU2299461C1 (ru) * 2005-10-05 2007-05-20 Вячеслав Иванович Петренко Умножитель по модулю
RU2316042C1 (ru) * 2006-08-07 2008-01-27 ГОУ ВПО Ставропольский государственный университет Устройство для умножения чисел по произвольному модулю

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA033823B1 (ru) * 2018-02-06 2019-11-29 Belarusian State Univ Bsu Устройство для умножения по модулю восемь
RU2713862C1 (ru) * 2019-03-11 2020-02-07 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" УМНОЖИТЕЛЬ ПО МОДУЛЮ q
RU2770801C1 (ru) * 2021-04-02 2022-04-21 федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" Умножитель по модулю три

Similar Documents

Publication Publication Date Title
US9098332B1 (en) Specialized processing block with fixed- and floating-point structures
Kanhe et al. Design and implementation of floating point multiplier based on vedic multiplication technique
JP5640081B2 (ja) 飽和を伴う整数乗算および乗算加算演算
RU2589361C1 (ru) Умножитель по модулю
CN102314330B (zh) 一种复合有限域乘法器
Banerjee Reversible cryptographic hardware with optimized quantum cost and delay
Yan et al. An implementation of Montgomery modular multiplication on FPGAs
CN106951210B (zh) 一种基于心动阵列的有限域乘法装置
RU2299461C1 (ru) Умножитель по модулю
JP5193358B2 (ja) 多項式データ処理演算
Piestrak Design of multi-residue generators using shared logic
Teja Design of radix-8 booth multiplier using koggestone adder for high speed Arithmetic applications
EP2735963B1 (en) Galois field inversion device
Tanaka et al. Novel binary signed-digit addition algorithm for FPGA implementation
Mishra et al. Design and Implements of Booth and Robertson’s multipliers algorithm on FPGA
RU2544748C1 (ru) Накапливающий сумматор
RU2626654C1 (ru) Умножитель по модулю
WO2017037729A1 (en) Concurrent architecture of vedic multiplier-an accelerator scheme for high speed computing
KR100946256B1 (ko) 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기
US10127013B1 (en) Specialized processing blocks with fixed-point and floating-point structures
Ambika et al. Data security using serial commutative RSA CORE for multiple FPGA system
RU2595906C1 (ru) Устройство для вычисления функций
US20230176819A1 (en) Pipelined processing of polynomial computation
RU2757831C1 (ru) Арифметическое устройство по модулю три
US20230142818A1 (en) Circuits and methods for multiplying large integers over a finite field

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180311