1. 程式人生 > 其它 >[GUET-CTF2019]虛假的壓縮包

[GUET-CTF2019]虛假的壓縮包

技術標籤:Misc

[GUET-CTF2019]虛假的壓縮包

開啟後發現兩個壓縮包

在虛假的壓縮包裡發現了key

數學題
n = 33
e = 3
解26

-------------------------
答案是

看網上wp說有偽加密,但360壓縮直接解壓了,阿巴阿巴…

然後就不會了,百度大法好啊。。。

說是看到n和e,聯想到RSA演算法

(1)任意選取兩個不同的大素數p和q計算乘積

(2)任意選取一個大整數e,滿足

,整數e用做加金鑰(注意:e的選取是很容易的,例如,所有大於p和q的素數都可用)

(3)確定的解金鑰d,滿足

,即

是一個任意的整數;所以,若知道e和

,則很容易計算出d;

(4)公開整數n和e,祕密儲存d ;

(5)將明文m(m<n是一個整數)加密成密文c,加密演算法為 [5]

(6)將密文c解密為明文m,解密演算法為

https://baike.baidu.com/item/RSA%E7%AE%97%E6%B3%95/263310?fromtitle=RSA%E5%85%AC%E9%92%A5%E5%AF%86%E7%A0%81&fromid=409740

借用下大佬的指令碼

import gmpy2

p = 3
q = 11
e = 0x3
c = 26
n = 33
s = (p- 1) * (q - 1)
d = gmpy2.invert(e,s)
m =
pow(c,d,n) print pow(c, d, n)

得到答案5,壓縮包密碼為:答案是5 (希望出題人沒事)

得到jpg圖片,但是看檔案頭為png猜測修改圖片高度為FA

得到提示^5,

original = open("亦真亦假",'r').read()
flag = open("flag",'w')
for i in original:
    tmp = int(i,16)^5
    flag.write(hex(tmp)[2:])

檢視檔案頭可知為zip

涉及到一個知識點:doc檔案本身也是一種zip。這個很明顯是word文件,修改後綴為doc。

flag被設定成了白色,全選修改字型顏色即可

flag:flag{th2_7ru8_2iP}