📄 multiply.m
字号:
function out=multiply(a,b)
%实现的gf(2^8)的多项式乘法
%a(x)*b(x) mod p(x) 其中p(x)=x^8+x^4+x^3+x^2+1
output=zeros(1,8);
output(8)=rem(a(8)*b(1)+a(7)*b(2)+a(6)*b(3)+a(5)*b(4)+(a(4)+a(8))*b(5)+(a(3)+a(7)+a(8))*b(6)+(a(2)+a(6)+a(7)+a(8))*b(7)+(a(1)+a(5)+a(6)+a(7))*b(8),2);
output(7)=rem(a(7)*b(1)+a(6)*b(2)+a(5)*b(3)+(a(4)+a(8))*b(4)+(a(3)+a(7)+a(8))*b(5)+(a(2)+a(6)+a(7)+a(8))*b(6)+(a(1)+a(5)+a(6)+a(7))*b(7)+(a(4)+a(5)+a(6))*b(8),2);
output(6)=rem(a(6)*b(1)+a(5)*b(2)+(a(4)+a(8))*b(3)+(a(3)+a(7)+a(8))*b(4)+(a(2)+a(6)+a(7)+a(8))*b(5)+(a(1)+a(5)+a(6)+a(7))*b(6)+(a(4)+a(5)+a(6))*b(7)+(a(4)+a(5)+a(3))*b(8),2);
output(5)=rem(a(5)*b(1)+(a(4)+a(8))*b(2)+(a(3)+a(7)+a(8))*b(3)+(a(2)+a(6)+a(7)+a(8))*b(4)+(a(1)+a(5)+a(6)+a(7))*b(5)+(a(4)+a(5)+a(6))*b(6)+(a(4)+a(5)+a(3))*b(7)+(a(2)+a(3)+a(4)+a(8))*b(8),2);
output(4)=rem(a(4)*b(1)+(a(3)+a(8))*b(2)+(a(2)+a(7)+a(8))*b(3)+(a(1)+a(6)+a(7))*b(4)+(a(5)+a(6)+a(8))*b(5)+(a(4)+a(5)+a(7)+a(8))*b(6)+(a(3)+a(4)+a(6)+a(7))*b(7)+(a(2)+a(3)+a(5)+a(6))*b(8),2);
output(3)=rem(a(3)*b(1)+(a(2)+a(8))*b(2)+(a(1)+a(7))*b(3)+(a(6)+a(8))*b(4)+(a(5)+a(7))*b(5)+(a(4)+a(6)+a(8))*b(6)+(a(3)+a(5)+a(7)+a(8))*b(7)+(a(2)+a(4)+a(6)+a(7))*b(8),2);
output(2)=rem(a(2)*b(1)+a(1)*b(2)+a(8)*b(3)+a(7)*b(2)+a(6)*b(5)+a(5)*b(6)+(a(4)+a(8))*b(7)+(a(3)+a(7)+a(8))*b(8),2);
output(1)=rem(a(1)*b(1)+a(8)*b(2)+a(7)*b(3)+a(6)*b(4)+a(5)*b(5)+(a(4)+a(8))*b(6)+(a(3)+a(7)+a(8))*b(7)+(a(2)+a(6)+a(7)+a(8))*b(8),2);
out=output;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -