WHCTF-Olddriver

[{"c": 7366067574741171461722065133242916080495505913663250330082747465383676893970411476550748394841437418105312353971095003424322679616940371123028982189502042, "e": 10, "n": 25162507052339714421839688873734596177751124036723831003300959761137811490715205742941738406548150240861779301784133652165908227917415483137585388986274803},
{"c": 21962825323300469151795920289886886562790942771546858500842179806566435767103803978885148772139305484319688249368999503784441507383476095946258011317951461, "e": 10, "n": 23976859589904419798320812097681858652325473791891232710431997202897819580634937070900625213218095330766877190212418023297341732808839488308551126409983193},
{"c": 6569689420274066957835983390583585286570087619048110141187700584193792695235405077811544355169290382357149374107076406086154103351897890793598997687053983, "e": 10, "n": 18503782836858540043974558035601654610948915505645219820150251062305120148745545906567548650191832090823482852604346478335353784501076761922605361848703623},
{"c": 4508246168044513518452493882713536390636741541551805821790338973797615971271867248584379813114125478195284692695928668946553625483179633266057122967547052, "e": 10, "n": 23383087478545512218713157932934746110721706819077423418060220083657713428503582801909807142802647367994289775015595100541168367083097506193809451365010723},
{"c": 22966105670291282335588843018244161552764486373117942865966904076191122337435542553276743938817686729554714315494818922753880198945897222422137268427611672, "e": 10, "n": 31775649089861428671057909076144152870796722528112580479442073365053916012507273433028451755436987054722496057749731758475958301164082755003195632005308493},
{"c": 17963313063405045742968136916219838352135561785389534381262979264585397896844470879023686508540355160998533122970239261072020689217153126649390825646712087, "e": 10, "n": 22246342022943432820696190444155665289928378653841172632283227888174495402248633061010615572642126584591103750338919213945646074833823905521643025879053949},
{"c": 1652417534709029450380570653973705320986117679597563873022683140800507482560482948310131540948227797045505390333146191586749269249548168247316404074014639, "e": 10, "n": 25395461142670631268156106136028325744393358436617528677967249347353524924655001151849544022201772500033280822372661344352607434738696051779095736547813043},
{"c": 15585771734488351039456631394040497759568679429510619219766191780807675361741859290490732451112648776648126779759368428205194684721516497026290981786239352, "e": 10, "n": 32056508892744184901289413287728039891303832311548608141088227876326753674154124775132776928481935378184756756785107540781632570295330486738268173167809047},
{"c": 8965123421637694050044216844523379163347478029124815032832813225050732558524239660648746284884140746788823681886010577342254841014594570067467905682359797, "e": 10, "n": 52849766269541827474228189428820648574162539595985395992261649809907435742263020551050064268890333392877173572811691599841253150460219986817964461970736553},
{"c": 13560945756543023008529388108446940847137853038437095244573035888531288577370829065666320069397898394848484847030321018915638381833935580958342719988978247, "e": 10, "n": 30415984800307578932946399987559088968355638354344823359397204419191241802721772499486615661699080998502439901585573950889047918537906687840725005496238621}]

題目直接給了10個c,n,e其监,并且e都是一樣的造烁,所以可以知道這題是RSA廣播攻擊盗痒,需要利用中國剩余定理去解出m,直接參考別人的代碼

# -*- coding:utf8 -*-
import gmpy   # gmpy 是一個在 python 提供類似 GMP 的高等算術(shù)的 module份招,這裡用它算模反元素跟次方根
import json, binascii   # json 是 python 下的 json parsing 工具,binascii 則是用來做 binary 跟 ascii 之間轉(zhuǎn)換的工具
from functools import reduce

def chinese_remainder(n, a):   # Rosetta Code 上的 CRT Solver code圆丹,就只是把中國餘數(shù)定理 code 化而已
    sum = 0
    prod = reduce(lambda a, b: a*b, n)
    for n_i, a_i in zip(n, a):
        p = prod // n_i
        sum += a_i * modinv(p, n_i) * p
    return int(sum % prod)
def modinv(a, m): return int(gmpy.invert(gmpy.mpz(a), gmpy.mpz(m)))   # 用 gmpy 算模反元素界逛,回傳轉(zhuǎn)成 int 的結(jié)果


with open("mayday.json") as dfile:  #題目給的n,e,c
    data = json.loads(dfile.read())   # 打開檔案,讀成 json
data = {k:[d.get(k) for d in data] for k in {k for d in data for k in d}}   # 從 [{c1, e1, n1}, {c2, e2, n2}] 轉(zhuǎn)成 {"c": [c1, c2], "e": [e1, e2], "n": [n1, n2]}
t_to_e = chinese_remainder(data['n'], data['c'])   # 用中國餘式定理解同餘方程組派继,推出原先的 t^e
t = int(gmpy.mpz(t_to_e).root(10)[0])   # 算 t^e 的 10 次方根(因為 e=10)宾袜,推回原本的 t
print(binascii.unhexlify(hex(t)[2:-1]))   # 把結(jié)果從數(shù)字先轉(zhuǎn)成 hex 再轉(zhuǎn)成字串

參考資料:https://github.com/pcchou/ctf-writeups/tree/master/2016-tw-edu-ctf/mayday

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捻艳,一起剝皮案震驚了整個濱河市驾窟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌认轨,老刑警劉巖绅络,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嘁字,居然都是意外死亡恩急,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門纪蜒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衷恭,“玉大人,你說我怎么就攤上這事纯续∷嬷椋” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵猬错,是天一觀的道長窗看。 經(jīng)常有香客問我,道長倦炒,這世上最難降的妖魔是什么显沈? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上拉讯,老公的妹妹穿的比我還像新娘涤浇。我一直安慰自己,他們只是感情好魔慷,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布芙代。 她就那樣靜靜地躺著,像睡著了一般盖彭。 火紅的嫁衣襯著肌膚如雪纹烹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天召边,我揣著相機與錄音铺呵,去河邊找鬼。 笑死隧熙,一個胖子當著我的面吹牛片挂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贞盯,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼音念,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了躏敢?” 一聲冷哼從身側(cè)響起闷愤,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎件余,沒想到半個月后讥脐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡啼器,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年旬渠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片端壳。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡告丢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出损谦,到底是詐尸還是另有隱情岖免,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布成翩,位于F島的核電站觅捆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏麻敌。R本人自食惡果不足惜栅炒,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赢赊,春花似錦乙漓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至玩讳,卻和暖如春涩蜘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熏纯。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工同诫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人樟澜。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓误窖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親秩贰。 傳聞我的和親對象是個殘疾皇子霹俺,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. 關(guān)于診斷X線機準直器的作用,錯誤的是()毒费。 (6.0 分) A. 顯示照射野 B. 顯示中心線 C. 屏蔽多...
    我們村我最帥閱讀 10,388評論 0 5
  • 我們丙唧,總喜歡用偏執(zhí) 來解讀世間所有答案 于是一開始就封閉 卻只顧著窮極一生來尋覓 愛情,其實并不遙遠 只是心與心的...
    cde93e35ae65閱讀 367評論 1 6
  • 白道人士不是真的白蝗罗,黑道人士也不是真的黑艇棕。披羊皮的白道人士比盜亦有道的黑道人士帶來的傷害有過之而無不及。做任何事情...
    黃文武閱讀 1,040評論 0 3
  • 天上飛過小鳥 天上飄著白云 秋末串塑,午后的太陽光 如此華麗麗的燦爛 卻總也有不能曬到的 某個角落 那是最遠的地方 那...
    華之山閱讀 577評論 2 3
  • 說明:在做以下連接,登陸彩扔,注銷妆档,注冊等操作之前,建議把XMPPStream對象寫成一個單例對象虫碉,整個程序運行過程中...
    張不二01閱讀 238評論 0 0