导航:首页 > 文档加密 > 维吉尼亚加密法转换器

维吉尼亚加密法转换器

发布时间:2022-06-27 23:20:36

① ftxsos用维吉尼亚加密法是什么

摘要 维吉尼亚加密法

② 学过维吉尼亚加密法的,可以解密一下。密文,zprmibfy,秘钥,red。解密出来··谢谢了!

qtudmewc 是不是不规则的啊 要是解密出来是规则的英语单词的话无视我

③ 使用维吉尼亚密码,使用密钥串“test”将文明hello+world转换为密文

摘要 将明文分成若干个分组,每个分组为m个字母长度(即密钥字的长度);

④ 寻求:维吉尼亚密码自动加密器。

需要使用CP Pascal Editor v3.7打开
顺便说明一下,这是我在做科技创新大赛的作品的一部分,请注意使用。
Program vigenere;
var
ans:array[0..101]of char;
c:char;s:string;
i,n,tot,len,j:longint;
begin
j:=0;tot:=0;
writeln('请输入密钥:');
readln(s);
len:=length(s);
writeln('请输入明文:');
while not eoln do
begin
read(c);
inc(j);
inc(tot);
if j>len then j:=1;
n:=ord(s[j])-96-1;
if ord(c)>122-n then
ans[tot]:=chr(ord(c)-26+n)
else ans[tot]:=chr(ord(c)+n);
end;
writeln('密文是:');
for i:=1 to tot do write(ans[i]);
readln;
readln
end.
解密程序:
var
ans:array[0..101]of char;
c:char;s:string;
i,n,tot,len,j:longint;
begin
j:=0;tot:=0;
writeln('请输入密钥:');
readln(s);
len:=length(s);
writeln('请输入密文:');
while not eoln do
begin
read(c);
inc(j);
inc(tot);
if j>len then j:=1;
n:=ord(s[j])-96-1;
if ord(c)>ord('a')+n-1 then
ans[tot]:=chr(ord(c)-n)
else ans[tot]:=chr(ord(c)+26-n);
end;
writeln('明文是:');
for i:=1 to tot do write(ans[i]);
readln;
readln
end.

⑤ 维吉尼亚密码该 怎么用

人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由16世纪法国亨利三世王朝的布莱瑟·维吉尼亚发明的,其特点是将26个恺撒密表合成一个,见下表:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:

TO BE OR NOT TO BE THAT IS THE QUESTION

当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:

密钥:RELAT IONSR ELATI ONSRE LATIO NSREL

明文:TOBEO RNOTT OBETH ATIST HEQUE STION

密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

⑥ 维吉尼亚加密算法如何加密任意格式的文件

维吉尼亚算法如果仅仅作用于字符集在A到Z a到z,0到9这样的范围,就叫对“英文文本”实施加密
这个英文文本的范围,A到Z等于字节值65到90, a到z等于字节值97到122,0到9等于字节值48到57。中间是断续的几个区间

算法如果改动一下,把字符集扩大到0到255,相当于对256个字母重新编排密码本,而不局限于英文文本的26个字母。这样就能对一个字节的所有情况进行加密。能对字节加密,所有的文件都以字节为基本存储单位,也就实现了对任何文件、任何数据的加密。
如果之前英文文本的处理是自己写的,稍加改动就能变成处理256个字母。

⑦ 关于维吉尼亚密码的一个问题

你所说的“这个维吉尼亚密码”指的是哪个维吉尼亚密码?
好吧,我知道了,是网络的(答你这题还得有点联想能力……)

“TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R”

额,上面不是说了吗用"RELATIONS"作为密钥那么明文第一个字母T对应的密钥就是R。你要想问"RELATIONS"这个密钥砸来的?我告诉你,想来的,这个密钥你想用啥单词就用啥单词,越生僻的单词越好,选完密钥后加密,但密钥长度不够,那么就重复使用,如下:

密钥:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
给你个维吉尼亚密码加密解密用的程序,使用后就能更好理解:
http://hi..com/%B7%E7%F3%DD%B5%C4%CC%EC%BF%D5%C0%B6%D2%AB/blog/item/0f65c019326c000d35fa41f0.html

(别告诉我这是个只上一次的小号……我的采纳率被这种号害惨了……)

⑧ 维吉尼亚密码的加密方法

维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。
公元16世纪晚期,想要获得更高的保密度的人获得了一种设计更加精细的密码表。

⑨ 数据文件的维吉尼亚加密程序

#include
#include
void menu()/*菜单*/
{
clrscr();
printf("\n===============================================================================");
printf("\n1.Encrypt the file");
printf("\n2.Decrypt the file");
printf("\n3.Quit\n");
printf("===============================================================================\n");
printf("Please select a item:");
return;
}

char encrypt(char ch1,char ch2)/*加密程序*/
{
if(ch1>='A'&&ch1<='Z'&&ch2>='A'&&ch2<='Z')
{
return 'A'+(ch1-'A'+ch2-'A')%26;
}
if(ch1>='a'&&ch1<='z'&&ch2>='a'&&ch2<='z')
{
return 'a'+(ch1-'a'+ch2-'a')%26;
}
return ch1;
}

char decrypt(char ch1,char ch2)/*解密程序*/
{
if(ch1>='A'&&ch1<='Z'&&ch2>='A'&&ch2<='Z')
{
return 'A'+(ch1-'A'+26-(ch2-'A'))%26;
}
if(ch1>='a'&&ch1<='z'&&ch2>='a'&&ch2<='z')
{
return 'a'+(ch1-'a'+26-(ch2-'a'))%26;
}
return ch1;
}

main()
{
int i;
char key[50];
char ch;
FILE *in,*out;
char infile[20],outfile[20];

textbackground(BLACK);
textcolor(LIGHTGREEN);
clrscr();

clrscr();

sleep(3);

menu();
ch=getch();
while(ch!='3')
{
if(ch=='1')
{
clrscr();
printf("\nPlease input the infile:");
scanf("%s",infile);/*输入需要加密的文件名*/

if((in=fopen(infile,"r"))==NULL)
{
printf("Can not open the infile!\n");
printf("Press any key to exit!\n");
getch();
exit(0);
}

printf("Please input the key:");
scanf("%s",key);/*输入加密密码*/

printf("Please input the outfile:");
scanf("%s",outfile);/*输入加密后文件的文件名*/

if((out=fopen(outfile,"w"))==NULL)
{
printf("Can not open the outfile!\n");
printf("Press any key to exit!\n");
fclose(in);
getch();
exit(0);
}

i=0;
while(!feof(in))
{
fputc(encrypt(fgetc(in),key[i%strlen(key)]),out);
i++;
}

fclose(in);
fclose(out);
printf("\nEncrypt successful!\n");
sleep(1);
}
if(ch=='2')
{
clrscr();
printf("\nPlease input the infile:");
scanf("%s",infile);/*输入需要解密的文件名*/

if((in=fopen(infile,"r"))==NULL)
{
printf("Can not open the infile!\n");
printf("Press any key to exit!\n");
getch();
exit(0);
}

printf("Please input the key:");
scanf("%s",key);/*输入解密密码*/

printf("Please input the outfile:");
scanf("%s",outfile);/*输入解密后文件的文件名*/

if((out=fopen(outfile,"w"))==NULL)
{
printf("Can not open the outfile!\n");
printf("Press any key to exit!\n");
fclose(in);
getch();
exit(0);
}

i=0;
while(!feof(in))
{
fputc(decrypt(fgetc(in),key[i%strlen(key)]),out);
i++;
}

fclose(in);
fclose(out);
printf("\nDecrypt successful!\n");
sleep(1);
}
menu();
ch=getch();
}

clrscr();
logo();
printf("\nGood Bye!\n");
sleep(3);

阅读全文

与维吉尼亚加密法转换器相关的资料

热点内容
解压歌曲什么歌最好 浏览:151
诺贝尔pdf 浏览:967
云服务器快速安装系统原理 浏览:788
苹果腾讯管家如何恢复加密相册 浏览:115
手机软件反编译教程 浏览:858
sqlserver编程语言 浏览:650
gpa国际标准算法 浏览:238
服务器编程语言排行 浏览:947
怎么下载快跑app 浏览:966
小红书app如何保存视频 浏览:170
如何解开系统加密文件 浏览:809
linux切换root命令 浏览:283
c编译之后界面一闪而过怎么办 浏览:880
怎么看ic卡是否加密 浏览:725
lgplc编程讲座 浏览:809
cnc手动编程铣圆 浏览:723
cad中几种命令的意思 浏览:327
oraclelinux安装目录 浏览:136
安卓系统可以安装编译器吗 浏览:572
javajson实体类 浏览:693