BUUCTF-Crypto-刷题记录(2020.10.23)

RSA3

题目:
c1 = 22322035275663237041646893770451933509324701913484303338
07621060354261275895626286964082248647012114942448557136100
74212936755163388221952803137949911360481409188424712198402
63536338886250492682739436410013436651161720725855484866690
08478872134955566201987908150111322299612330553300932596437
77988927031615218528059568112195638833128963301562986216746
84353919547558127920925706842808914762199011054955816534977
67526739500957534782038707348392842506653636148277489237096
95207403042874565555089333727823275065690107725374975417643
114290522162911989320926177926452539014789108015928782035648
61118912045464959832566051361
n = 227080788158850114624620490643391858987124392772268310734
5788840312937854735029242026701655181905243077900475584664
9044001024141485283286483130702616057274698473611149508798
8697063475019315831176327107007872280164801276773936499295
3041659868602735421642256593445901516192761360790283154285
7977859612596282353679327773303727004407262197231586324599
1819835726224045903540845417880622621645101406058681224103
8809017442014775240855412978976090230089804627390900785281
8474030770699647647363015102118956737673941354217692696044
9696953085064365731425655734875835070373569448480398643823
39216266670673567488871508925311154801
e1 = 11187289
c2 = 1870201004518701555654869164239498283566926214723021273
1309938675226458555210425972429418449273410535387985931036
71185426562390506680566575180326910688074676900347890079109
9590239513925449748814075904017471585572848473556490565450
0626647064491284158347879619472662597897859629222387011340
7972041422841406619307149530461234105298745561593002353682
3801499269773357186087452747500840640419365011554421183037
505653461286732740983702740822671148045619497667184586123
6572856040618756539095678223289140653377977334446403515187
7548764981997826236361726579798284317963088872940723849665
0987720428708217115257989007867331698397
e2 = 9647291
注意:得到的 flag 请包上 flag{} 提交
解题思路:
RSA3 共模攻击
由原理直接编写脚本,脚本为

import gmpy2
from Crypto.Util import number
c1=22322035275663237041646893770451933509324701913484303338076210603542612758956262869640822486470121149424485571361007421293675516338822195280313794991136048140918842471219840263536338886250492682739436410013436651161720725855484866690084788721349555662019879081501113222996123305533009325964377798892703161521852805956811219563883312896330156298621674684353919547558127920925706842808914762199011054955816534977675267395009575347820387073483928425066536361482774892370969520740304287456555508933372782327506569010772537497541764311429052216291198932092617792645253901478910801592878203564861118912045464959832566051361
n=22708078815885011462462049064339185898712439277226831073457888403129378547350292420267016551819052430779004755846649044001024141485283286483130702616057274698473611149508798869706347501931583117632710700787228016480127677393649929530416598686027354216422565934459015161927613607902831542857977859612596282353679327773303727004407262197231586324599181983572622404590354084541788062262164510140605868122410388090174420147752408554129789760902300898046273909007852818474030770699647647363015102118956737673941354217692696044969695308506436573142565573487583507037356944848039864382339216266670673567488871508925311154801
e1=11187289
c2=18702010045187015556548691642394982835669262147230212731309938675226458555210425972429418449273410535387985931036711854265623905066805665751803269106880746769003478900791099590239513925449748814075904017471585572848473556490565450062664706449128415834787961947266259789785962922238701134079720414228414066193071495304612341052987455615930023536823801499269773357186087452747500840640419365011554421183037505653461286732740983702740822671148045619497667184586123657285604061875653909567822328914065337797733444640351518775487649819978262363617265797982843179630888729407238496650987720428708217115257989007867331698397
e2=9647291
ans=gmpy2.gcdext(e1,e2)
s1=ans[1]
s2=ans[2]
m=(gmpy2.powmod(c1,s1,n)*gmpy2.powmod(c2,s2,n))%n
print(number.long_to_bytes(m))

所以按照代码,跑出答案为
flag{49d91077a1abcb14f1a9d546c80be9ef}

Y1nglish-y1ng

题目:
Y1ng根据English居然独自发明了一门语言,就叫Y1nglish
明文都是可读的英文单词,flag如果提交失败,自己读一下,把错误的单词修正,再提交(某个地方的u和i不需要调换顺序,错误点不在那里)
得到的 flag 建议用 flag{} 包上提交。
Nkbaslk ds sef aslckdqdqst. Sef aslckdqdqst qo lzqtbw usf ufkoplkt zth oscpslsfko. Dpkfk zfk uqjk dwcko su dscqao qt dpqo aslckdqdqst, kzap su npqap qo jkfw mzoqa. Qu wse zfk qtdkfkodkh qt tkdnsfw okaefqdw, nkbaslk ds czfdqaqczdk. Bkd lk dkbb wse z odsfw.
Q nzo pzjqtv hqttkf zd z fkodzefztd npkt Pzffw Odkkbk azlk qt, pk qo z Izcztkok ufsl Izczt med tsn pk qo tsd bqjqtv qt Izczt, lzwmk Pzffw qot’d z Izcztkok tzlk med pk qo fkzbbw z Izcztkok. Pzffw nsfwkh qt z bznwkf’o suuqak wkzfo zvs, med pk qo tsn nsfwqtv zd z mztw. Pk vkdo z vssh ozbzfw, med pk zbnzwo msffsno lstkw ufsl pqo ufqktho zth tkjkf czwo qd mzaw. Pzffw ozn lk zth azlk zthozdzd dpk ozlk dzmbk. Pk pzo tkjkf msffsnkh lstkw ufsl lk. Npqbk pk nzo kzdqtv, Q zowkh pql ds bkth lk &2. Ds lw oefcfqok, pk vzjk lk dpk lstkw qllkhqzdkbw. ‘Q pzjk tkjkf msfffsnkh ztw lstkw ufsl wse,’ Pzffw ozqh,‘os tsn wse azt czw usf lw hqttkf!’ Tsn q nqbb vqjk wse npzd wse nztd.
MIH{cwdp0t_Mfed3_u0fa3_sF_geqcgeqc_ZQ_Af4aw}
解题思路:
这和之前的题很像,直接爆破得到最后的一部分为
BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4cy}
然后再看题目,他让我把错误的单词纠正一下
然后要把Cr4cy改成Cr4cy

世上无难事

题目:
以下是某国现任总统外发的一段指令,经过一种奇异的加密方式,毫无规律,看来只能分析了。请将这段语句还原成通顺语句,并从中找到key作为答案提交,答案是32位,包含小写字母。
注意:得到的 flag 请包上 flag{} 提交
VIZZB IFIUOJBWO NVXAP OBC XZZ UKHVN IFIUOJBWO HB XVIXW XAW VXFI X QIXN VBD KQ IFIUOJBWO WBKAH NBWXO VBD XJBCN NKG QLKEIU DI XUI VIUI DKNV QNCWIANQ XN DXPIMKIZW VKHV QEVBBZ KA XUZKAHNBA FKUHKAKX XAW DI VXFI HBN QNCWIANQ NCAKAH KA MUBG XZZ XEUBQQ XGIUKEX MUBG PKAWIUHXUNIA NVUBCHV 12NV HUXWI XAW DI XUI SCQN QB HZXW NVXN XZZ EBCZW SBKA CQ NBWXO XAW DI DXAN NB NVXAP DXPIMKIZW MBU JIKAH QCEV XA BCNQNXAWKAH VBQN HKFI OBCUQIZFIQ X JKH UBCAW BM XLLZXCQI XAW NVI PIO KQ 640I11012805M211J0XJ24MM02X1IW09
解题思路:
题目全是乱码的英文字母,所以我直接使用爆破网站,解出后半部分为
KEY IS 640E11012805F211B0AB24FF02A1ED09
然后我直接提交答案,显示错误
再看题目,他说答案包含小写字母,所以我把所有的字母改成小写的,再次提交flag
为flag{640e11012805f211b0ab24ff02a1ed09}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值