文章目录
变异凯撒
打开附件
加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }
先解密凯撒密码
没有发现flag,也没有长得像flag的;
观察密文:afZ_r9VYfScOeO_UL^RWUc,考虑变异,对照ASCII码,
afZ_ 对应的数字分别是:97,102,90, 95;
而flag对应的数字分别是:102,108,97,103;
每一个字母分别相差5,6,7,8个位置,后面以此类推,写一个python脚本解密
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
a = 'afZ_r9VYfScOeO_UL^RWUc'
i = 0
flag = ''
while i < len(a):
num = ord(a[i]) + (i+5)
flag = flag + chr(num)
i = i+1
print(flag)
得到
flag{Caesar_variation}
篱笆墙的影子
密文felhaagv{ewtehtehfilnakgw}
解密找不到flag,再试一下加密,偏移2位,得到
flag{wethinkwehavetheflag}
在线工具:https://www.qqxiuzi.cn/bianma/zhalanmima.php
rsa
在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交。
打开RSA Tool
1.Number Base 设置为十进制;
2.注意:Public Exponent这里要使用16进制的数,如果公钥e=17的话,就应该填入十六进制的11;
3.给出p,q,e的话直接填入,再点击Calc.D,获得d;
4.给出的是n和e的话,输入n和e,点击Factor N(分解),得到p,q,再重复第3步就能得到d了;
n = p*q
得到flag{125631357777427553}
老文盲了
密文:罼雧締眔擴灝淛匶襫黼瀬鎶軄鶛驕鳓哵眔鞹鰝
在线转换拼音:http://www.aies.cn/pinyin2.htm
读拼音得到
BJD{淛匶襫黼瀬鎶軄鶛驕鳓哵},
题目中提示的flag包裹多余。
Alice与Bob
大整数:98554799767
在线分解质因数
http://ctf.ssleye.com/ 中选哈希计算,
得到flag{d450209323a847c8d01c6be47c81811a}
rsarsa
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e = 65537
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
n = p*q
#利用rsa tool得到d
d = 56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977
m = pow(c,d,n) #求c的d次方,再%n取模(与取余不同)
print(m)
flag{5577446633554466577768879988}
大帝的密码武器
下载附件,要用foremost做文件分离才看到题目,解压出来的是乱码。
题目:公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。
密文:ComeChina
先解密密文,没有发现flag,考虑加密,题目FRPHEVGL偏移13位得到有意义的单词
加密密文,得到flag{PbzrPuvan},注意大写C对应的是大写P
Windows系统密码
打开哈希文件,仔细观察有CTF提示,熟悉这种题的就知道选后面那一段,直接md5解密得flag{good-luck}
[BJDCTF 2nd]cat_flag
看图考虑二进制,饭团是0,鸡腿是1,得到
01000010
01001010
01000100
01111011
01001101
00100001
01100001
00110000
01111110
01111101
用convert转成字符,二进制合在一起,不要有空格,得到BJD{M!a0~}
[BJDCTF 2nd]燕言燕语-y1ng
题目:79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20,
仔细观察格式为:数字+a/e/f,是十六进制,转字符得yanzi ZJQ{xilzv_iqssuhoc_suzjg} 。
再仔细观察字符串,前面yanzi应该是秘钥,空格后面是flag格式,利用秘钥来替换字符,是维吉尼亚密码,分别加、解密得BJD{yanzi_jiushige_shabi} ,出题人当时很暴躁。
原理:
维吉尼亚密码,是凯撒密码的变体,用26个字母组成一个张26*26的字母表,
明文(横坐标):ZJQ{xilzv_iqssuhoc_suzjg}
秘钥(纵坐标):yanzi
密文第1个字母=(Z,y)=X
密文第2个字母=(J,a)=J
密文第2个字母=(Q,n)=D
题目是BJDCTF,flag格式应是BJD,所以ZJQ{xilzv_iqssuhoc_suzjg} 不是明文,而是密文,flag是明文
明文(横坐标):?????
秘钥(纵坐标):yanzi
密文(值):ZJQ{xilzv_iqssuhoc_suzjg}
Z =(?,y) =(B,y)
J =(?,a) =(J,a)
Q =(?,z) =(D,n)
以此类推
[GKCTF2020]小学生的密码学
信息化时代的步伐
题目:606046152623600817831216121621196386,中文电码解密得flag{计算机要从娃娃抓起}
凯撒?替换?呵呵!
题目:
MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO} 转小写
mthj{cubcgxgugxwrexipoyaoeyfigxwrxchtkhfcohcfducgtxzohixoeowmehzo}
将 mthj 替换成 flag,分别移动7,8,7,5位,比较复杂,使用工具quipquip
得到 flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}