CTFZone 2017 Writeup

目錄

  1. Crypto 409: e-Voting
  2. Reverse/PPC 724: Decrypt the Undecryptable


Crypto 409: e-Voting

0x00. 背景

這個挑戰是一個黑箱密碼系統,裡面有加密和解密的功能。經過一些測試後,發現是 ElGamal 密碼。

0x01. 思路與題解

測試過程如下:

加密 1,得到兩個數字 (是什麼並不重要);解密  1333333337 1,得到 1333333337

可以猜到它跟 Wikipedia 說的有點不同:它加密的 \((c_1, c_2)\) 跟維基的 \((c_1, c_2)\) 次序是相反的。

對於這個挑戰,我們想解密 \((c_1, c_2) = (m\times s^k, t^k)\) (我們不知道 \(m, s, t, k\))。可以用一個選擇密文攻擊,方法如下:

  1. 加密 1,得到 \((c_1′, c_2′)\)
  2. 算出 \((C_1, C_2) := (c_1\times c_1′, c_2 \times c_2′))\)
  3. 由於 \((C_1, C_2) = (m\times s^{k + k’}, t^{k + k’})\) (化簡後得出),把它解密就得到明文


Reverse/PPC 724: Decrypt the Undecryptable

0x00. 背景

題目提供了一幅圖片及一個 binary。以下是圖片:

0x01. 思路與題解

明眼人發現這是個 stego challenge!細心點看,圖片是有規律的。寫了一段代碼弄走重覆的 pattern:

得出 flag: FAKE_FLAG{0mgTh1sI5afaKeflagId0ntbelivE4tA11} …

呀不對,應該是  ctfzone{5784e25b2af8b3fd817621cdf48e6e675d0e9388}


發表迴響