?? 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 + -