• 大小:
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-01-09
  • 语言: Matlab
  • 标签: Playfair  Matlab  

资源简介

MATLAB 实现Playfair 算法加密与解密

资源截图

代码片段和文件信息

function cipher=Playfair(plain)%plain 为原文,cipher为加密后的密文
Ke=[‘M‘‘O‘‘N‘‘A‘‘R‘;
    ‘C‘‘H‘‘Y‘‘B‘‘D‘;
    ‘E‘‘F‘‘G‘‘I‘‘K‘;
    ‘L‘‘P‘‘Q‘‘S‘‘T‘;
    ‘U‘‘V‘‘W‘‘X‘‘Z‘];
L=length(plain);
for i=1:L
    for j=1:5
        for k=1:5
            if plain(i)==Ke(jk)
                m(i)=j;%记下第一个字符所在的行为m
                n(i)=k;%记下第一个字符所在的列为n
            end
        end
    end
end
t=1;
for i=1:2:L-1
    if m(i)==m(i+1)&&n(i)==n(i+1)%如果两个字符相同
        cipher(t)=Ke(m(i)n(i));
        cipher(t+1)=‘X‘;
        cipher(t+2)=Ke(m(i)n(i));
        t=t+3;
    elseif m(i)==m(i+1)&&n(i)~=n(i+1)%如果两个字母同行
        if n(i+1)~=5&&n(i)~=5%如果两个字母都不在第5列
            n(i+1)=n(i+1)+1;
            n(i)=n(i)+1;
        elseif n(i)==5%如果第一个字符在第5列
            n(i)=1;
           

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-01 16:03  Playfair\
     文件        1661  2018-10-10 15:21  Playfair\Playfair.m
     文件        1638  2018-10-10 16:13  Playfair\Playfairdecode.m
     文件         275  2018-10-10 16:10  Playfair\playfairtest.m

评论

共有 条评论