ctfshow crypto(二)

萌新_密码5

由田中 由田井 羊夫 由田人 由中人 羊羊 由由王 由田中 由由大 由田工 由由由 由由羊 由中大

这个是当铺密码:
当铺密码就是一种将中文和数字进行转化的密码,算法相当简单:当前汉字有多少笔画出头,就是转化成数字几。例如:
王夫 井工 夫口 由中人 井中 夫夫 由中大:67 84 70 123 82 77 125

这里用的是师傅的脚本

s ='田由中人工大王夫井羊'
code=input("请输入当铺密码:")
code = code.split(" ")
w = ''
for i in code:
    k=""
    for j in i:
       k+=str(s.index(j))
    w+=chr(int(k))
print(w)

在这里插入图片描述

贝斯多少呢

8nCDq36gzGn8hf4M2HJUsn4aYcYRBSJwj4aE0hbgpzHb4aHcH1zzC9C3IL

hint: 将明文分段,每段base62,然后拼在一起

思路应该是将密文分段,base62解密,然后把明文拼在一起

但是,这个题没有解出来,58个字符,只能29分段,但是base62解不出来……


2023年11月30日更新

8nCDq36gzGn
8hf4M2HJUsn
4aYcYRBSJwj
4aE0hbgpzHb
4aHcH1zzC9C
3IL

按照这种长度切割即可,要说原因嘛,其实就是穷举,分组长度应该是固定的,但是不一定没有冗余,穷举到可以解码出flag明文片段,后续继续按照该分组长度切割即可
在这里插入图片描述

find the table

题目说要审查元素,然后看到这个的属性是数字
在这里插入图片描述

千算万算,没想到这个是元素周期表
9 57 64 8 39 8 92 3 19 99 102 74
对应的元素就是
f la gd o y o u li k es no w
再用{}包起来就是flag了

babyrsa

这个是rsa,直接用脚本

import gmpy2
import binascii
e = 65537
p = 10404683
q = 14017
c = 477275

phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = gmpy2.powmod(c,d,p*q)

print(binascii.unhexlify(hex(m)[2:]))

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值