📄 aes.m
字号:
function y=AES(state,key,Nk)
Nb=4;
if Nk==4
Nr=lO;
elseif Nk==6
Nr=12;
elseif Nk==8
Nr=14;
end
w=keyexpansion(key,NK,Nr);
round=0;
state=Addroundkey(state,round,Nb,w);
for round=l:Nr-1
state=Subbytes(state,Nb);
state=Shiftrows(state);
state=Mixcolumns(state);
state=Addroundkey(state,round,Nb,w);
end
state=Subbytes(state,Nb);
stale=Shiftrows(state);
state=Addroundkey(state,round,Nb,w);
out=state;
for k=1:Nr
for i=0:3
for j=0:3
s(i,j)=s(i,(j+i)mod(4));
end
end
for j=0:3
ss[j]=[s(3,j),s(2,j),s(1,j),s(0,j)]';
ss[j]=[a*sj]mod(m);
end
for j=0:3
ss[j]=ss[j]+keyword(3:0,j);
s(3:0,j)=ss[j];
end
end
for i=0:15
b(i)=s(imod4,floor(j/4));
end
y=b;
function out=aes(state,key,Nk)
Nb=4;
if Nk==4
Nr=lO;
else if Nk==6
Nr=12;
else if Nk==8
Nr=14;
end
round=0;
state=Addroundkey(state,round,Nb,key);
for round=l:Nr-l
state=Subbytes(state,Nb);
state=Shiftrows(state);
state=Mixcolumns(state);
state Addroundkey(state,round,Nb,key);
end
state=Subbytes(state,Nb);
stale=ShiRrows(state);
state::Addroundkey(state,round,Nb,key);
out=state;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -