關於有限域乘法器的理解

2021-07-07 05:27:36 字數 1409 閱讀 8810

[email protected]

最近在看aes的標準文件fips-197,其中有關於有限域乘法器的描述。雖然計算過程很簡單,但是就是不明白為什麼如此計算。問過度娘之後,才對有限域乘法器有了基本的了解,現記錄如下。

特別感謝:注意這篇部落格思路是正確的,但是給出的既約多項式是錯誤的,應該將(x

8+x4

+x3+

x2+1

) 改為(x

8+x4

+x3+

x+1)

。fips-197給出的例子計算過程如下:

計算.=,其中「.」表示有限域乘法運算,根據fips-197,有限域乘法運算分為3步,第1步將數字轉換成多項式表示式;第2步是常規的乘法運算,即將多項式乘法展開;第3步與既約多項式(x

8+x4

+x3+

x+1)

做取模運算。

第一步:57的二進位制表達為01010111,對應的多項式為(x

6+x4

+x2+

x+1)

, 83的二進位制表達為10000011,對應的多項式為(x

7+x+

1)。

第二步:常規多項式乘法 (x

6+x4

+x2+

x+1)

(x7+

x+1)

=x13+

x11+x

9+x8

+x6+

x5+x

4+x3

+1第三步:與既約多項式進行取模運算 x13

+x11+

x9+x

8+x6

+x5+

x4+x

3+1m

odul

o(x8

+x4+

x3+x

+1)=

x7+x

6+1

前兩步好理解,但是第三步是如何實現的呢?大概過程是這樣的:

再驗證乙個.=

129: 1000_0001, –> x7

+15: 0000_0101,–>x2

+1

(x7+

1)(x

2+1)

=x9+

x7+x

2+1

(x8+

x4+x

3+x+

1)x=

x9+x

5+x4

+x2+

x (x

9+x7

+x2+

1)+(

x9+x

5+x4

+x2+

x)=x

7+x5

+x4+

x+1

x7+x5+x

4+x+

1 -> 1011_0011, 即b3

fpga中例化乘法器 FPGA乘法器的應用

這是兩個 位ain,bin 結果為位 yout 的例子。module mux 4 clkrst n start ainbin yout done input clk晶元的時鐘訊號。input rst n 低電平復位 清零訊號。定義為 表示晶元復位 定義為 表示復位訊號無效。input start 晶...

乘法器的Verilog HDL實現

1.序列乘法器 兩個n位二進位制數x y的乘積用簡單的方法計算就是利用移位操作來實現。module multi cx clk,x,y,result input clk input 7 0 x,y output 15 0 result reg 15 0 result parameter s0 0,s1...

FPGA 乘法器的設計

乘法算是基本運算之一,廣泛應用在數字訊號處理中,濾波器中乘法運算必不可少,實現乘法器的方法很多,各有各的優缺點,常見的有移位相加法,加法樹法,查表法,混合法 在我們用語言設計電路時,初學時在實現乘法運算時通常很簡單的用 號操作,但是這種方法談不上設計乘法器,其最終的硬體實現要根據綜合器綜合的結果,好...