国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

strength

2019-11-08 02:25:26
字體:
來源:轉載
供稿:網友

這個題目其實思路一開始是很正確的,但中間有些關鍵點沒想到,特此記錄一下。

題目給出了多組[N,e,c]的值,很明顯就是rsa加密了,觀察可以看到N值都相同,首先想到的就是可不可以暴力把N分解出來,用msieve進行嘗試,發現N太大無法得到結果。

繼續思考,想到既然給了多組密文,有沒有可能都是對同一組明文的加密,根據rsa的計算方法,可以求出來一個M^gcd(e1,e2),這樣M上面的指數就變小了很多,說不定可以暴力解出來。思考到這一步之后,隨便嘗試了兩個e,求出來gcd(e1,e2)=2059,陷入了僵局。這時候主要有兩個關鍵點沒解決:

(1)如何驗證這多組密文是同一個明文加密而來

(2)暴力求解是不可行的,最好找到兩個e,使得gcd(e1,e2)=1

看完wp后,豁然開朗:原來給出的所有的e都是19^a1*71^a2的形式,這樣如果要驗證第一點,只需要找一組e1,e2,使得e1|e2或者e2|e1,經過驗證可以發現確實加密的是同一個明文。第二個問題也就比較好解決了:e1=19^a1*71^0,e2=19^0*71^a2。這樣就保證了e1,e2的互素。

這樣就可以求出明文了,解得m=11859814987468385682904193929732856121563109146807186957694593421160017639466355

面對這個想的肯定是怎么轉換成字符串,首先想到的是每2個或者3個數字代表一個ascii碼,但實踐之后發現不可行:得出的一些字符毫無意義,并且還有無法顯示的字符。

再看wp,發現需要先轉換成16進制,然后再每兩個數字對應一個字符。

因為wp中涉及到了python的切片運算符和decode函數,在這里記錄一下:

s[a1:a2:a3],a1,a2代表要截取的字符串的開頭和結尾(左閉右開,從0開始算),a3代表步長。同時這些數字可以為負數,比如a2=-1表示截取到倒數第一個(不包括),

a3=-1則會返回字符串的倒序序列。

至于decode函數的解釋,這個解釋的挺好的。


上一篇:CryptoJS

下一篇:C# NX創建球體

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈巴河县| 常宁市| 虎林市| 乳山市| 康定县| 高邮市| 刚察县| 博乐市| 定兴县| 托克托县| 穆棱市| 焉耆| 惠来县| 琼结县| 长寿区| 上犹县| 屯留县| 三穗县| 增城市| 永和县| 道孚县| 古浪县| 龙游县| 滁州市| 渝中区| 岢岚县| 山东| 霍州市| 清水河县| 微博| 武隆县| 慈溪市| 色达县| 揭阳市| 富阳市| 府谷县| 达尔| 离岛区| 涿州市| 墨竹工卡县| 北流市|