GF(2^8)上的多项式乘法(Matlab实现)
生活随笔
收集整理的這篇文章主要介紹了
GF(2^8)上的多项式乘法(Matlab实现)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、解析/思路
- 二、代碼
- 三、Main
- 1、Poly_2_8
- 2、Func1
- 3、Func2
一、解析/思路
Main腳本:GF(2^8)上的多項式轉換為1·8的數組
Poly_2_8函數:接收多項式f,g,m,返回mod(fg,m)
拆分多項式g,分步與f相乘,并保存于矩陣T
Func1:接收多項式f與拆分的多項式gi,返回fgi的結果
Func2:接收分步相乘的結果T,返回異或結果
二、代碼
三、Main
f=[0 1 0 0 1 1 0 1]; g=[1 0 0 1 1 0 0 1]; m=[0 0 0 1 1 1 0 1]; disp(Poly_2_8(f,g,m));1、Poly_2_8
function [ret] = Poly_2_8(f,g,m) % f,g,m為1·8的矩陣 %Func1:二進制乘法 %Func2:異或 T=[]; G=zeros(1,8); for i=1:8if(g(9-i)==1)G(1,9-i)=1;T=[T;Func1(f,G,m)];endG=0.*G; end ret=Func2(T); end2、Func1
function [ret] = Func1(f,g,m) [a,b]=find(g==1); for i=1:8-btemp=f(1);f(1:7)=f(2:8);f(8)=0;if(temp==1)f=xor(f,m);end end ret=f; end3、Func2
function [ret] = Func2(T) ret=T(1,:); temp=size(T); for i=2:temp(1)ret=xor(ret,T(i,:)); end總結
以上是生活随笔為你收集整理的GF(2^8)上的多项式乘法(Matlab实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode题库 5.最长回文子串(
- 下一篇: Leetcode题库 94.二叉树的中序