仿射密码介绍以及解题脚本
仿射密码是一种表单代换密码,字母表的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应数值转换成字母。
加密函数:E(x) = (ax + b) (mod m),其中 a与b互质,其中 a与m互质,m是编码系统中字母的个数(通常都是26)。
解密函数:D(x) = a^{-1} (x - b) (mod m),其中 a^{-1} 是 a 在Z_{m}群的乘法逆元。
例题
密文,:MZYVMIWLGBL7CIJOGJQVOA3IN5BLYC3NHI (和base32有关)
key:IJEVIU2DKRDA==== I和M相对应
解题脚本
from base64 import b32decodedef solve():s='MZYVMIWLGBL7CIJOGJQVOA3IN5BLYC3NHI'dic='ABCDEFGHIJKLMNOPQRSTUVWXYZ234567' #base32的构成msg=''.join([dic[(5*dic.find(x)+12)%32] for x in s])return b32decode(msg+'='*(8-len(msg)%8))if __name__=='__main__':print solve()
仿射密码介绍以及解题脚本相关推荐
- 仿射密码python_CTF-仿射密码(python)
这里直接上干货脚本,讲解请看我的视频.仿射密码知识点 1)出题脚本: a = 7 b = 22 flag = 'flag{23a490bfcb767099e9ce48dee691a34b}' c='' ...
- 仿射密码解密(Affine Cipher)
仿射密码是一种表单代换密码,字母表的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应数值转换成字母. A B C D E F G H I J K L M N O P Q R S T U V ...
- python用表达式解密密文_基于Python解密仿射密码
新学期有一门密码学课,课上老师布置了一道密码学题,题目如下: 解密由仿射密码加密的密文"DBUHU SPANO SMPUS STMIU SBAKN OSMPU SS" 想解密这个密 ...
- linux 将新密码邮件发送,linux脚本实现自动发送和收取邮件的设置方法
linux脚本实现自动发送和收取邮件的设置方法 更新时间:2013年05月11日 19:51:45 作者: 这篇文章主要是介绍linux下通过脚本自动发送和收取邮件的设置方法,有需要的朋友可以参考 ...
- 仿射密码(原理+代码)
仿射密码 目录 1.原理: 2.流程图 3.编程实现 4.总结 1.原理: 仿射密码是一种单表代换的对称密码.明文中所有字母对应成数值,经过加密函数加密成新的数值,再对应到相应的字母, ...
- 仿射密码实验——Python实现(完整解析版)
文章目录 前言 实验内容 实验操作步骤 1.编写主程序 2.编写加密模块 3.编写解密模块 4.编写文件加解密模块 实验结果 实验心得 实验源码 scirpt.py usefile.py 前言 实验目 ...
- 仿射密码python_Python实现仿射密码的思路详解
仿射密码思路: 1.加解密公式: 2.构造对应字典: 3.代码实现 构造字典,建立映射关系: # 构造字典,'A' --> 0 ... def char_2_num(x): list_s = [ ...
- 密码学课设-仿射密码的攻击
攻略 实验描述 实验分析 编程实现 py3 实现 c++ 实现 实验描述 问题描述 仿射密码系统用五元组(P,C,K,E,D)表示,设 P = C = { 计算机学院网络工程信息安全,我们热爱中华人民 ...
- 密码加密解密(三)——仿射密码设计
代换密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文.例如,明文字母a.b.c.d,用D.E.F.G做对应替换后形成密文. 代换密码包括多种类型,如单表代换密码.多表代换 ...
最新文章
- 玩cf出现outofmemory_《穿越火线》的肖枫原型是CF选手白鲨吗?
- 查询本机公网ip地址的方法
- System.Web.HttpRequestValidationException——从客户端检测到危险的Request值
- Java_IO流(精讲)包含练习题及答案
- java中变量的作用域
- Java面向对象(21)--内部类
- 轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单 demo
- jwt获取token_JWT实现token认证
- [W3C][CSS]选择器(Selectors Level 3)[未完成]
- Fast dev didn't succeed, trying another location
- 集合拆成固定长度的小集合_《集合啦动物森友会》钓鱼怎么玩?钓鱼小技巧攻略分享...
- python selenium firefox使用
- 韩国李世石跟韩国AI大战,2负一胜
- adb 模拟器安装apk
- paip.c++ static 变量的定义以及使用...
- 如何直观理解粒子滤波并进行Python编程实践
- YOLOv5的详细使用教程,以及使用yolov5训练自己的数据集
- matlab聚类画图怎么做,[转载]用MATLAB做聚类分析
- google如何恢复误删除书签
- 10个3d立体字ps金属字图层样式下载