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