swØrd-CTF

分享暑假密码学习经历:破解古埃及密码、银河系密码,理解easy_rsa与RSA加密,同时探讨了社会主义核心价值观在信息安全中的应用。涉及加密技术如Crypto、RSA、LFSR和解密cipher.bin。
摘要由CSDN通过智能技术生成


Crypto

放暑假一定好好学习

给了一个日历图和一串字母加数字

T23S13S12T22M2S11S22F3

在这里插入图片描述
之前做过类似的题 字母代表星期英文的开头如星期一为Monday 即为M
T1代表星期二T2代表星期四
后面的数字就是第几行
所以就为
19 21 14 12 9 7 8 20
1 代表a
转为字母

a=[19, 21, 14, 12, 9, 7, 8, 20]
for i in a:
    print(chr(96+i),end='')

各种密码

word里有三种密码
第一种古埃及找了好久。。。
在这里插入图片描述

第二种银河系密码
在这里插入图片描述

第三种不知道盲猜lmn
交了一遍不对……以为要栅栏…… 又不行……然后换成大写就对了

社会主义核心价值观

so ez 点击下面获得flag~
社会主义核心价值观

easy_rsa

rsa的题
给了pubkey
先解
得到n和e
n可以分解
得到pq
还有一个cipher.bin
是个二进制文件

n = 67957992944541709079637331495835288051017736172946219268979124310219676901814634141994056910249665182493729973853745613557654443204907939100289830019879722192443748372464385547701814777428863933615522890059773474417386931884425569247554583568455670977507333610910984675277207738543785144821532814109666026143830882670492412501367418900259525020329476259602896533289977520877332000639367622359213599508853567838502735818733930199768810238363613613753812700686852922490193705926713608040249887743216661319134457665231243871456616938275370046526015614319970725259025037328092187037543179610573655207460380491069632574369131778109901652462838149658009709174356861767870204803806924289315954871595222073859185353284268587331267173728221658781990119401252167899826047588583247362298572788397512447184590473718761927222549389515152849248566281272354480116085470203137413924993107429630882329043259530840382880179158766903387472716587067982240678129096467201138461960380680792953534366991098348930562736587887507018304132204828793333486018470656056870548645765390879310100168147762901154890481163444481122296433539288905754638768700952492512406731460604412447424967642115057341729310735982961515248311488333222612609961196477124084039771246638999119951171033639602489932159455170406551791127198312487436473494597495007637073871513066738388720194946877125132719068351961085662002556667562192631487439603084021927891681500086528284664252971146275389474911554158614058033716200975019522317823518017673425098559715637356338155079086810436188632405309750833509905138561418180066417475648209078560221064551872389391920606516486209161430247427717376721027499023891011742164463421915449354247944433039198608877315066424065203739793333831943021283319660097829517280179002430376294322395829290502762707146363340431306946572116838111246133390539315819023086956548363452657425340012155573512351731935196011505710069798425307656340650313899667019621505845424588367900827398564048322933092059258373872118350187669748998950161402077367239291462315563970921983573721268515566367155707585109243757143789901450148994239501684623655163637997105769222959494325064113278738038394139099703042640054592379346782002980751786063951491138135071807202634411442713870047730189971333170418112077390015852729766594918955255488280027359348811304774349052504612270369695008061623968574970758347117606577939555446238067430685787886502742201372798852010893885999941946548336103402517187248492765699490151394806591149028320530966365733320484047650429644420042692902092613911608152310152409036167526533619822851411589502970363903
p = 260687538913047604611581784183499992008451760653785074016920718323190075912750802620741024634382067897986936407072164858654195035172056629230527593989978466296098220579031027154724041642557344915423242566240332284307941704981938020407661739104882149483433969072174052675580644164713319546908058746795753762649896919296312912702039493797237183118384499796757914157936629672274357161577311007769338358918777509136488505959298049498018461823273893799669038335872602861372239911549680531979970541528181711754520442958622706059603000655429088872469604344301647170492716926975027102329909258120989355802343558462047316328752521306824960655230501606894696454547299868668551619819367530969111390441903346427083466873717778205853984905381790237396069409514016317067322105019049986366714245693681256834514176535381210683575566036929609986694319036120560201862975426434985372574748540556000702736560930190396248279747095930579691977036607335841985416541503515963817848780705827093841092321324825882821075072622553561916744473353548759606182352622008019859330726239330083782855413787656845382479896229326659871568516059343215385393836820040891163826148343904385963328442668250413125432533185139042633099387310968853063208000057718438859818276275817262048678368751842523947169311954597690408896814857060351
q = 260687538913047604611581784183499992008451760653785074016920718323190075912750802620741024634382067897986936407072164858654195035172056629230527593989978466296098220579031027154724041642557344915423242566240332284307941704981938020407661739104882149483433969072174052675580644164713319546908058746795753762649896919296312912702039493797237183118384499796757914157936629672274357161577311007769338358918777509136488505959298049498018461823273893799669038335872602861372239911549680531979970541528181711754520442958622706059603000655429088872469604344301647170492716926975027102329909258120989355802343558462047316328752521306824960655230501606894696454547299868668551619819367530969111390441903346427083466873717778205853984905381790237396069409514016317067322105019049986366714245693681256834514176535381210683575566036929609986694319036120560201862975426434985372574748540556000702736560930190396248279747095930579691977036607335841985416541503515963817848780705827093841092321324825882821075072622553561916744473353548759606182352622008019859330726239330083782855413787656845382479896229326659871568516059343215385393836820040891163826148343904385963328442668250413125432533185139042633099387310968853063208000057718438859818276275817262048678368751842523947169311954597690408896814857060353
e = 65537

cipher = open('cipher.bin', 'rb').read().encode('hex')
cipher = int(cipher, 16)
import gmpy2
fi = (p-1)*(q-1)
d = gmpy2.invert(e, fi)

flag = pow(cipher, d, n)
print ('%x' % flag).decode('hex')

streamgame

考点lfsr
之前有过脚本

# 存的脚本 并不是这道题
# python3
from Crypto.Util.number import *

f = open('key', 'rb').read()
r = bytes_to_long(f)
bin_out = bin(r)[2:].zfill(100 * 8)
R = bin_out[:32]  # 获取输出序列中与掩码msk长度相同的值
print(R)

mask = '10100100000010000000100010010100'  # 顺序 c_n,c_n-1,。。。,c_1
key = '00100000111111011110111011111000'

R = ''
for i in range(32):
    output = 'x' + key[:31]
    out = int(key[-1]) ^ int(output[-3]) ^ int(output[-5]) ^ int(output[-8]) ^ int(output[-12]) ^ int(
        output[-20]) ^ int(output[-27]) ^ int(output[-30])
    R += str(out)
    key = str(out) + key[:31]
print('flag{' + hex(eval('0b' + R[::-1])) + '}')
from Crypto.Util.number import *

mask = '100000000000000000010'  # 顺序 c_n,c_n-1,。。。,c_1
key = '101100101110100100001'

R = ''
for i in range(21):
    output = 'x' + key[:20]
    out = int(key[-1]) ^ int(output[-2])
    R += str(out)
    key = str(out) + key[:20]
print('flag{' + R[::-1] + '}')

不知道为什么交不上去。。。。

Decrypt-the-Message

11111大佬
还没看过

Re

签到

放进ida 得到flag


总结

我是废物。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值