攻防世界crypto-初级
幂数加密
分析题目
8842101220480224404014224202480122
这里给出了一串数字,并且得知最终为8位大写字母,可以分析得到这种是云隐密码
云影密码
这种加密方式仅使用01248这5种数字来进行,其中0用来唯一表示间隔,其他数字用加法和表示替换密文。再使用数字1-26表示字母A-Z。
如:18 = 1+8 = 9 = I,1248 = 1+2+4+8 = 15 = O
特点:密文中仅存在01248,加密对象仅有字母
代码实现
思路:
1.分割0
2.每一小段相加
3.输出大写字母
//分割数字并转为大写字母
# -*- coding: UTF-8 -*-
word='8842101220480224404014224202480122'
list=word.split('0') //分割0
flag=''
for i in list://每一小段
sum=0
for j in i:
sum+=int(j)
flag+=chr(sum+64)//转为大写字母
print flag
结果:WELLDONE
栅栏密码
分析题目
ccehgyaefnpeoobe{lcirg}epriec_ora_g
搜集相关栅栏密码资料:
移位加密方法,将文本分成多个组,每组取第一个字连起来,得到密文,最后连成整段密文。
使用在线的加解密:
在线栅栏解密
尝试多次后,发现不论使用你多少字数,均不可。
继续搜集资料:
w型栅栏密码
尝试网页版解决w型密码:
栅栏密码加密/解密【W型】
得到明文
easy_RSA
分析题目
在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d
有p、q、e等大素数,因此不能直接使用网络现成的RSA算法,需要自己输入参数,得到密钥。