古典密码体制的统计分析——Playfair密码

简介: 本实验带您体验古典密码体制的统计分析——Playfair密码。

古典密码体制的统计分析——Playfair密码

1. 创建资源

开始实验之前,您需要先创建实验相关资源。

在实验室页面,单击创建资源。

(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。

说明:资源创建过程需要3~5分钟视资源不同开通时间有所差异,ACK等资源开通时间较长。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。

实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

资源创建成功,可在左侧的资源卡片中查看相关资源信息以及RAM子账号信息

2. 实验原理

实验原理

playfair加密算法

提高单字母表密码安全性的思路之一。

加密

以FUDAN为密钥,举例说明playfair密码的加密过程:

构建加密矩阵

playfair加密算法基于一个 5*5 的字母矩阵,该矩阵使用一个关键词(密钥)构造,方法是按约定的顺序 (例如从左到右、从上到下),填入关键词的字母(去除重复字母)后,将字母表其余字母填入。

整理明文

若明文出现相同字母在一组,则在重复的明文字母中插入一个填充字母(eg:x)进行分隔后重新分组 (eg: balloon 被重新分组为 ba lx lo on)。

若分组到最后一组时只有一个字母,则补充字母x。

编写密文

若明文字母在矩阵中同行,则循环取其右边下一个字母为密文(矩阵最右边的下一个是最左边的第一 个)(eg: an 被加密为 NF)。

若明文字母在矩阵中同列,则循环取其下边下一个字母为密文(矩阵最下边的下一个是最上边的第一 个)(eg: cq 被加密为 KW)。

若明文字母在矩阵中不同行不同列,则取其同行且与同组另一字母同列的字母为密文(eg: hs 被加密 为 GT,fm 被加密为 AI 或 AJ)。

解密过程与加密过程相反。

3. 实验内容

实验内容

给定密钥,打印出加密矩阵,实现Playfair密码的解密算法;(提供测试用例帮助同学们检测代码的准确性;原则上使用的编程语言不限,要求工作量相近)

解密测试用例(密文为EQ VS ZT ES FS GZ,密钥为FUDAN)

Input:EQ VS ZT ES FS GZ

Output:CR YP TO GR AP HY

解密文档Playfair-Cipher.txt(密钥为SECURITY)

独立完成实验报告(包含实验思路,实验结果截图等),提供源代码,不得抄袭。

文档Playfair-Cipher.txt

HS SB WN XN SP GQ BU YV NU CB MB NH UB OK AI CU TO UT MC VA SC VT NI UN NL MS QU SY CM UC HM BK MA FA FU IO QD SF YO HI QA RL NX CS EI FU IO QD CE OT OY FC FI LU CU SC IM GY UB RG AF CU LH RM UP HS UC KI AY FU OY QB EC WN TL TO YU DA MC YO FI FU SC IA OT AG TX CE OX EB CM SF AF CV BU IA YV NA UT SE AF UT QA EU CB MB NH UB OK CS PO AF UM AF CS OH LG MC ET EP YO YH SF AM US YU FB FU TO CS YS YO ER MI TL BY CU LH TF FU RL PH CM OI WN AH FC UL MF FU OY XT AL YO HL AF CS TO CS YS YO YL LD YO ID MY FU YH UM GE PN OR FT SE US BN AM KC BO GA OH RI CU PN UT MN LU AE PY SM TS XT IP GY PN LM UV TY DI QY FS NI RE SF YL MR YU TF TL ST LC RU OH SC IU IU IB PG YL FY SM CU PN OE LY UY YT PO UQ

提示

首先先根据密钥创建加密矩阵,我们约定矩阵、密钥、密文、原文中的J在算法处理中都用I替代;矩阵的 数据结构可以是列表、二维数组等。

原文和密文的对应关系可以通过矩阵的下标来实现。

实验链接:https://developer.aliyun.com/adc/scenario/c0f902f9c7554031a09e23413de18c6e

相关文章
|
1月前
|
API Python
有效电子邮件地址是怎么样的?如何用代码筛查
有效电子邮件地址是怎么样的?如何用代码筛查
|
7月前
|
数据安全/隐私保护 Python
BUUCTF 传统知识+古典密码 1
BUUCTF 传统知识+古典密码 1
178 0
|
5月前
|
机器学习/深度学习
机器学习xgboost的用户贷款是否违约进行预测 完整代码数据 计算机毕设
机器学习xgboost的用户贷款是否违约进行预测 完整代码数据 计算机毕设
38 0
|
7月前
|
存储 算法 安全
古典密码体制的统计分析—— Vigenere密码
本实验带您实现Vigenere密码的加密和解密算法。
171 0
|
9月前
|
算法 安全 网络安全
网络安全实验三 古典密码
网络安全实验三 古典密码
111 0
|
9月前
|
存储 算法 开发工具
【每周一坑】图像的指纹:数字水印 + 【解答】鸡兔同笼
有人可能好奇,仅凭截图就能知道是谁干的吗?这里就是用到了“数字水印”技术。
|
机器学习/深度学习
【阿旭机器学习实战】【24】信用卡用户流失预测实战
【阿旭机器学习实战】【24】信用卡用户流失预测实战
【阿旭机器学习实战】【24】信用卡用户流失预测实战
|
数据挖掘
2022国赛C题古代玻璃制品的成分分析与鉴别思路分析
2022国赛C题古代玻璃制品的成分分析与鉴别思路分析
15034 9
|
数据安全/隐私保护
知识盲区 | 那些年,你不太会用的Excel “摩斯密码”!
知识盲区 | 那些年,你不太会用的Excel “摩斯密码”!
知识盲区 | 那些年,你不太会用的Excel “摩斯密码”!
|
算法 数据可视化 JavaScript
轻松学算法的秘密!可视化算法网站汇总!(附动图)
轻松学算法的秘密!可视化算法网站汇总!(附动图)
366 0
轻松学算法的秘密!可视化算法网站汇总!(附动图)