⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aes.m

📁 AES加密算法的matlab实现
💻 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 + -