单表、多表、乘积加密

该实验旨在掌握古典加密算法,包括Playfair、Vigenere和ADFGX,并使用Python或Java编程实现。实验要求创建一个在线加密解密网站,用户可选择加密或解密方式,输入明文/密文及密钥,且不允许直接使用第三方库。实验需展示核心加密解密程序的代码截图,并提交源代码。
摘要由CSDN通过智能技术生成

实验目的

  1. 掌握古典加密中单表与多表加密思想
  2. 掌握利用Python/Java实现Playfair, Vigenere加密
  3. 掌握乘积密码思想,并编程实现ADFGX加密

实验原理

请简介PlayfairVigenereADFGX加密的原理

答:playfair:

          普莱费尔密码(英文:Playfair cipher Playfair square)是一种使用一个关键词方格来加密字符对的加密法,1854年由一位名叫查尔斯·惠斯通(Charles Wheatstone)的英国人发明。第一步是编制密码表。在这个5*5的密码表中,共有55列字母。第一列(或第一行)是密钥,其余按照字母顺序。密钥是一个单词或词组,若有重复字母,将后面重复的字母去掉。如:密钥是Live and learn,去掉后则为liveandr。如果密钥过长可占用第二列或行。同时字母IJ会被当成一个字母。第二步整理明文。将明文每两个字母组成一对。如果成对后有两个相同字母紧挨或最后一个字母是单个的,就插入一个事先约定好的字母。最后编写密文。对明文加密规则如下: p1 p2在同一行,对应密文c1 c2分别是紧靠p1 p2 右端的字母。其中第一列被看是最后一列的右方;若p1 p2在同一列,对应密文c1 c2分别是紧靠p1 p2 下方的字母。其中第一行被看做是最后一行的下方;若p1 p2不在同一行,不在同一列,则c1 c2是由p1 p2确定的矩形的其他两角的字母。

Vigenere

   维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。

维吉尼亚密码曾多次被发明。该方法最早记录在吉奥万·巴蒂斯塔·贝拉索 Giovan Battista Bellaso)于1553年所著的书《吉奥万·巴蒂斯塔·贝拉索先生的密码》(意大利语La cifra del. Sig. Giovan Battista Bellaso)中。然而,后来在19世纪时被误传为是法国外交官布莱斯·德·维吉尼亚Blaise De Vigenère)所创造,因此现在被称为维吉尼亚密码 在一个凯撒密码中,字母表中的每一字母都会作一定的偏移,例如偏移量为3时,A就转换为了DB转换为了E……而维吉尼亚密码则是由一些偏移量不同的恺撒密码组成。选择某一关键词并重复而得到密钥。

实验内容

  1. 请用Python或Java编程实现一组在线古典加密解密网站,要求如下:
  1. 加密解密必须以Web形式展现,用户在网站主页中可以选择加密/解密方式为:Playfair, Vigenere, ADFGX三种
  2. 用户在网页中输入明文/密文,密钥,选择加密/解密
  3. 用户提交后网页显示出加密/解密的结果。
  4. 在实现中不能直接调用第三方关于三种加密方法的库,要求必须自己实现这个加密程序

 

 

 

 

 

 

 

 

 

  1. 实验结果
  1. 截图显示你的测试过程(多张图片)

 

  1. 请将Playfair加密/解密的核心程序截图显示

 

  1. 请将Vigenere加密/解密的核心程序截图显示

 

  1. 请将ADFGX加密/解密的核心程序截图显示

 

  1. 附件上交你的程序源代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值