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

📄 vigenere.m

📁 现代密码学 MATLAB 维吉尼亚 加密方法 古典密码体制 经典加密算法
💻 M
字号:
%实现Vigenere体制简单多表加法密码
clear;
clc;
A='abcdefghijklmnopqrstuvwxyz';%对英文字母与整数集建立一一对应关系,每一个字母对应其下标
m=input('输入密钥:','s');%设置密钥,存入字符数组m

%得到密钥对应的编码
for i=1:size(m,2)
    C(i)=findstr(m(i),A);
end

xx=input('输入明文:','s');%提示用户输入要加密的明文,将明文存入xx中

%以下对明文进行加密
mm=0;%作为标记,记录输入明文的空格,以便加密
for i=1:size(xx,2)
    if findstr(xx(i),A)
        x=C(mod(i-mm-1,size(C,2))+1);
        y=findstr(xx(i),A);
        miwen(i-mm)=A(mod(x+y-2,26)+1);
    else
        mm=mm+1;
    end
end
['密文为:' miwen]

%对密文进行解密
yy=input('输入密文','s');
yy=lower(yy);
for i=1:size(yy,2)
    x=C(mod(i-1,size(C,2))+1);
    y=findstr(yy(i),A);
    mingwen(i)=A(mod(y-1-x+2-1,26)+1);
end
['明文为:' mingwen]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -