200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > GF(2^8)上的多项式乘法(Matlab实现)

GF(2^8)上的多项式乘法(Matlab实现)

时间:2021-06-03 22:27:22

相关推荐

GF(2^8)上的多项式乘法(Matlab实现)

文章目录

一、解析/思路二、代码三、Main1、Poly_2_82、Func13、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;endret=Func2(T);end

2、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);endendret=f;end

3、Func2

function [ret] = Func2(T)ret=T(1,:);temp=size(T);for i=2:temp(1)ret=xor(ret,T(i,:));end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。