Crypto入门 (六)幂数加密(云影密码)
前言:
这次题目说的是幂数加密,但是它本身
幂数加密:
题目:8842101220480224404014224202480122
分析一波,只有8、4、2、1、0五种数字,然后先根据提示百度一下幂数加密,https://baike.baidu.com/item/%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%B9%82%E6%95%B0%E5%8A%A0%E5%AF%86%E6%B3%95 看了看人家是用2进制得幂次来表示不同字母得,特征为:只含有012345这六个数字,跟咱们得不符合呀,继续百度,https://gist.github.com/wh1t3p1g/ffd15270914492491e18ff9f070eab2b,下面给出该原话:
1 【云影密码】
2 此密码运用了1248代码,因为本人才疏学浅,尚未发现有过使用的先例,因此暂归为原创密码,若有密码界前辈认为不妥,
3 请指出此密码或类似密码的普遍使用历史并附寄一份到我站内邮箱,我将以最快速度核查并改正。由于这个密码,我和片风云影初识,为了纪念,将其命名为“云影密码”,原文请见谜题大全精华区。
4 原理很简单,有了1,2,4,8这四个简单的数字,你可以以加法表示出0-9任何一个数字,例如0=28,7=124,9=18。
5 这样,再用1-26来表示A-Z,就可以用作密码了。
6 为了不至于混乱,我个人引入了第五个数字0,来用作间隔,以避免翻译错误,所以还可以称“01248密码”。
题目:12401011801180212011401804 | |
第一步,分割,即124 1 118 118 212 114 18 4 | |
第二步,基本翻译,例如124可以表示7,也可以表示16(但不可能是34,因为不会超过26),所以可以放在一边,翻译其他没有异议的, | |
可得:124 a s s w o 18 d | |
第三步,推测得出明文。可以推测后面的18表示r,前面的为p最合适。 | |
明文:password(密码).(五)四位乘法密码——(密文:I Q V L N J O P X;密钥:1234) |
look完该作者说的大概就明白它啥意思了,也就是0为分割,每部分分数字和对应字母,或者是部分数字和对应字母,中间存在会出现歧义得情况,先分析咱们这个会不会出现歧义,经过分析咱们这个可能会出现歧义,但是我从查了别人写的资料都没提到这个会出现歧义得点,他们都是用每段数字总和来算得,考虑到出现歧义还需要人工判断,我们先来个按照每段数字总和算得方法,如果出现很明显得问题我们就再分析,下面给出python代码:
with open(r'F:/桌面/tmp/2.txt','r') as f:
data = f.read()
print(data) list = data.split('0')
print(list) datalist=[]
def dlist(list):
d = 0
for i in list:
for j in i:
d += int(j)
datalist.append(d)
d=0
return datalist
datalist = dlist(list) def str(datalist):
s=''
for i in datalist:
s += chr(i+64)
return s
print(str(datalist))
下面给出结果,感觉还挺顺利得:
1 8842101220480224404014224202480122
2 ['88421', '122', '48', '2244', '4', '142242', '248', '122']
3 WELLDONE
提交flag,发现对了,那就是这样了,如果不成功得话那咱们还得分析 有哪些字母可能是其他得,这个地方目前还没想好怎么写代码,主要可能还是人工处理为主
参考链接:
https://tool.oschina.net/commons?type=4
https://gist.github.com/wh1t3p1g/ffd15270914492491e18ff9f070eab2b
Crypto入门 (六)幂数加密(云影密码)的更多相关文章
- buu crypto 幂数加密
一.这和二进制幂数加密有些不同,可以从数字大小判断出来,超过4了,一般4以上已经可以表达出31以内了,所以是云影密码,以0为分隔符,01248组成的密码 二.python代码解密下 code=&quo ...
- 网络编程懒人入门(六):深入浅出,全面理解HTTP协议
本文引用了自简书作者“涤生_Woo”的文章,内容有删减,感谢原作者的分享. 1.前言 HTTP(全称超文本传输协议,英文全称HyperText Transfer Protocol)是互联网上应用最为广 ...
- Python爬虫入门六之Cookie的使用
大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在 ...
- 破解ZIP加密文件密码fcrackzip
破解ZIP加密文件密码fcrackzip ZIP是最常见的文件压缩方式.由于其压缩算法开源,主流操作系统都支持这种压缩算法.ZIP压缩方式支持密码加密.加密的时候会在文件头部保存密钥相关信息.利用这个 ...
- DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表
原文:DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助 ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
- 谈谈《Dotnet core结合jquery的前后端加密解密密码密文传输的实现》一文中后端解密失败的原因
详情请看<Dotnet core结合jquery的前后端加密解密密码密文传输的实现>,正常来讲,这个博客里面的代码是没有问题的,但是我有时候却会直接报错,原因是后台解密失败:Interna ...
- php 加密 解密 密码传输
php 加密 解密 密码传输 <?php /* * * 使用按位异或运算 加密 * $str 明文 * $salt 盐 * */ public static function xor_encry ...
- C#基础入门 六
C#基础入门 六 静态类进阶 静态构造方法 用于初始化任何静态数据,或用于执行仅需执行一次的特定操作,在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数,静态构造方法是无参数的. publ ...
随机推荐
- 全国分乡镇第五次人口普查数据shp数据库省市区县街道
==名称:全国第五次人口普查任意十个乡镇的乡镇界地图==数据说明:精确到乡镇级别.==数据:面数据,属性列表(乡镇名.乡镇代码,第六次人口普查分乡镇属性数据)==时间:截止2000年12月31日==格 ...
- Dynamics CRM 安全模型的性能问题
性能问题对系统的影响可以是致命性的,一旦不重视,在不久的将来随时可能爆发,导致系统卡顿甚至无法操作,即时重启也无济于事:甚至极其难以发现.这里为自己记录一下过往的经验.系统一开始的设计,很大程度上决定 ...
- vi 异常退出出现 E325:Attention的解决办法
在linux系统下使用vi编辑程序的时候,没有保存退出,直接关闭了,出现了以下的情况: 打开就会显示filename.c.swap已经存在. 这是因为vi在编辑文件时会创建一个交换文件swap fil ...
- webpack从零开始打造react项目(更新中...)
创建项目 创建文件夹 webpack-test 使用编辑器打开文件夹,我们初始化管理包 npm init -y 生成一个默认的 pageage.json 文件 要想创建react项目,思考我们之前使 ...
- 10 个常用的 JS 工具库,80% 的项目都在用!
Day.js 一个极简的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持一样, 但体积仅有2KB. npm install dayjs 基本用法 import ...
- SAP 登入增强EXIT_SAPLSUSF_001
启用方式 SUSR0001->执行->激活
- Day 22 22.2:scrapy部署
scrapy项目部署 scrapyd部署工具介绍 scrapyd是一个用于部署和运行scrapy爬虫的程序,它由 scrapy 官方提供的.它允许你通过JSON API来部署爬虫项目和控制爬虫运行. ...
- ES6 新特性 ES6使用 超实用
ECMAScript 学习 ES5-数组的新方法 forEach forEach方法对数组的每个元素执行一次提供的函数.功能等同于for循环. 应用场景:为一些相同的元素,绑定事件处理器! var a ...
- JAVA随机获取集合里的元素
@Test public void aaa(){ String[] sbNo = new String[]{"asd","asd","asd" ...
- 启动Eureka报org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configurationPropertiesBeans' defined in class path resource
我出现这种情况是下图两个版本不对应 要结合官文档的版本号 也就是说将parent版本号改为2.2.x或者2.3.x