1、easy_RSA
RSA的计算过程是:
任选两个大质数p和q,p!=q,计算N=pq
计算N的欧拉函数r(n)=(p-1)(q-1)
任选一个e满足 1<e<r(n) ,且e与r(n)互质
找到d,使ed/r(n)=x……1(x是多少不重要,重要的是余数为1)
至此(n,e)为公钥,(n,d)为私钥
加密:C=Me(mod n);解密:M=Cd(mod n)
这一题只需要计算出私钥即可
先计算欧拉函数 4733986071604511490
欧拉函数+1再除以17即是私钥
2、不仅仅是Morse
Morse密码解密
后面全是baba,是培根密码,
解密得到flag
3、混合编码
这是一个base64编码,不过解密之后得到的并不是flag而是一段Unicode编码,
然后再接着解密又是一段base64,再继续转换,之后就能得到一个ascll码。
转换一下就能得到flag。
cyberpeace{welcometoattackanddefenceworld}
4、幂数加密
这道题是云影密码
此密码运用了1248代码,有了1,2,4,8这四个简单的数字,你可以以加法表示出0-9任何一个数字,例如0=28,7=124,9=18。
这样,再用1-26来表示A-Z,就可以用作密码了。
为了不至于混乱,我个人引入了第五个数字0,来用作间隔,以避免翻译错误,所以还可以称“01248密码”。
也可以用下面脚本
a="8842101220480224404014224202480122"
a=a.split("0")
flag=''
for i in range(0,len(a)):
str = a[i]
list=[]
sum=0
for j in str:
list.append(j)
length = len(list)
for k in range(0,length):
sum+=int(list[k])
flag+=chr(sum+64)
print(flag)