BUUCTF--Crypto
目录
6.password
7.变异凯撒
8.Quoted-printable
9.Rabbit
10.篱笆墙的影子
RSA
丢失的MD5
Alice与Bob
1
6.password
内容:
姓名:张三
生日:19900315
key格式为key{xxxxxxxxxx}
xxxxxxxxxx共十个,试试zs19900315
flag{zs19900315}
7.变异凯撒
加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }
可以推测a为f 。。。,用python运行
def b_kaisa(str):
first_step = 5
i = 0
result = []
for i in range(len(str)):
as_num = ord(str[i])
as_num += first_step
result.append(as_num)
first_step += 1
i += 1
return result
question = 'afZ_r9VYfScOeO_UL^RWUc'
result = b_kaisa(question)
print(result)
for i in result:
print(chr(i)),
8.Quoted-printable
=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6
utf8(unicode编码)
9.Rabbit
U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI
解码为Cute_Rabbit
10.篱笆墙的影子
felhaagv{ewtehtehfilnakgw}
推测为栅栏密码
解码为flag{wethinkwehavetheflag}
RSA

使用工具得出d代入flag
丢失的MD5
import hashlib
for i in range(32,127):
for j in range(32,127):
for k in range(32,127):
m=hashlib.md5()
m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
des=m.hexdigest()
if 'e9032' in des and 'da' in des and '911513' in des:
print des
运行代码,得到e9032994dabac08080091151380478a2,填进去 试试,发现成功了。
Alice与Bob
密码学的历史长河中闪耀着两位赫赫有名的杰出人物——Alice和Bob。他们的爱情故事虽然经历了置换与循环加密的过程依然难以分辨——即便在没有身份验证的情况下也能相互了解对方的心意。如同数学世界中的质数一般——既冷傲又充满热情。下面给出了一个巨大的整数值:98554799767,请对其进行质因数分解并将较小的质因数放在前面较大的放在后面的位置之后相乘生成一个新的数字然后计算该新数字的md5摘要并输出其32位小写的表示形式作为最终结果提交请注意获得的结果标记为flag应带上flag{}并提交
搜索找是否有质因数分解软件,链接
分解质因数结果为:101999*966233 合成数字为101999966233,进行md5的32位小写哈希 d450209323a847c8d01c6be47c81811a,
RSARSA
题目描述
Mathematics is an intriguing subject! To decrypt the hidden message, employ the RSA cryptographic technique. Herein, c represents ciphertext, p and q denote prime numbers used in generating keys, and e is the public exponent.
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e = 65537
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
Use RSA to find the secret message
