日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

buuctf [WUSTCTF2020]dp_leaking_1s_very_d@angerous

發布時間:2024/3/7 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 buuctf [WUSTCTF2020]dp_leaking_1s_very_d@angerous 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件下載下來,把后綴名改為txt,發現

是一個已知e,n,c,dp的rsa題

那就用python寫一個來解

#已知e,n,dp,c #dp × e= x × (p?1)+1 #dp < p?1 #x < e #x ∈ ( 0 , e ) #p-1=(e*dp-1)/ximport gmpy2 e = 65537 n = 156808343598578774957375696815188980682166740609302831099696492068246337198792510898818496239166339015207305102101431634283168544492984586566799996471150252382144148257236707247267506165670877506370253127695314163987084076462560095456635833650720606337852199362362120808707925913897956527780930423574343287847 c = 108542078809057774666748066235473292495343753790443966020636060807418393737258696352569345621488958094856305865603100885838672591764072157183336139243588435583104423268921439473113244493821692560960443688048994557463526099985303667243623711454841573922233051289561865599722004107134302070301237345400354257869 dp = 734763139918837027274765680404546851353356952885439663987181004382601658386317353877499122276686150509151221546249750373865024485652349719427182780275825for x in range(1,e):if((e*dp-1)%x==0):p=(e*dp-1)//x+1if(n%p!=0):continueq=n//pphin=(p-1)*(q-1)d=gmpy2.invert(e, phin) #求逆反m=pow(c,d,n) #表示c的的次方再取余nprint('m:',m) #十進制明文print('hex(m):',hex(m)[2:]) #十六進制明文print('flag:',bytes.fromhex(hex(m)[2:])) #十六進制轉文本

?得出dp*e=x8(p-1)+1可以看這個

之所以用//是因為不能讓數字太大導致無法輸出,小數點對最終結果無影響

buuctf的RSA2也是這個類型的,也可以如法炮制。

總結

以上是生活随笔為你收集整理的buuctf [WUSTCTF2020]dp_leaking_1s_very_d@angerous的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。