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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[WUSTCTF2020]dp_leaking_1s_very_d@angerous

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

[WUSTCTF2020]dp_leaking_1s_very_d@angerous

看了其他的wp,里面的代碼甚至跑不了,我就隨手寫一篇吧哈哈

先了解一下dp是什么

dp=d%(p?1)dp=d\%(p-1)dp=d%(p?1)

這個題目中
已知 n,e,dp,可以求出q,p

下面簡單推導一下是怎么求出來的
φ(N)=(p?1)?(q?1)ed≡1(modφ(N))ed=1+kφ(N)ed=1+k?(p?1)?(q?1)ed≡1(modp?1)dp=d%(p?1)dp≡d(modp?1)dp?e≡ed≡1(modp?1)dp?e=k(p?1)+1dp?e?1=k(p?1)這里可以把k爆破出來\varphi (N) = (p-1)*(q-1)\\ ed \equiv 1 \pmod{\varphi (N)} \\ ed = 1+k\varphi (N)\\ ed = 1+k*(p-1)*(q-1)\\ ed \equiv 1 \pmod{p-1} \\ dp=d\%(p-1)\\ dp \equiv d \pmod{p-1} \\ dp*e \equiv ed \equiv 1 \pmod{p-1} \\ dp*e = k(p-1)+1\\ dp*e-1= k(p-1)\\ 這里可以把k爆破出來 φ(N)=(p?1)?(q?1)ed1(modφ(N))ed=1+kφ(N)ed=1+k?(p?1)?(q?1)ed1(modp?1)dp=d%(p?1)dpd(modp?1)dp?eed1(modp?1)dp?e=k(p?1)+1dp?e?1=k(p?1)k
代碼實現如下

def solve_dp(dp,e,n):for i in range(1,dp*e):if (dp*e-1)%i==0:p=(dp*e-1)//i+1if n%p==0:print(p)q=n//preturn p,q

這樣把pq解出來,下面就很簡單了

總結

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

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