Crypto Known

decrypt

1 cipher^key=plaintext
2,字母替换.

f=open('known.txt','r').readlines()
s=[]
t=[]
for i in range(1,len(f)):
    temp=f[i].strip().split(':')
    s.append(temp[0])
    t.append(temp[1])
print(s)
print(t)
import base64
import Crypto.Util.number
for i in range(len(s)):
    x=Crypto.Util.number.bytes_to_long(s[i].encode())^Crypto.Util.number.bytes_to_long(base64.b64decode(t[i]))
key='CzVrT1wCdFoUBARGMgYgN3McVkFDQzIINxUjPD8qIi0='
print(Crypto.Util.number.long_to_bytes(Crypto.Util.number.bytes_to_long(base64.b64decode(key))^x))
ff=open('known2.txt','r').readlines()
ss=[]
tt=[]
for i in range(1,len(ff)):
    temp=ff[i].strip().split(':')
    ss.append(temp[0])
    tt.append(temp[1])
print(ss)
print(tt)
dic={}
for i in range(len(ss)):
    for j in range(len(ss[i])):
        dic[tt[i][j]]=ss[i][j]#字典的元素增加可以直接采用赋值
flag_enc='uAmUXk{jW{Stp{JpMA0spF7OS0SS0aq8'
flag=''
for i in flag_enc:
    flag+=dic[i]
print(flag)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值