June 28, 2020
ECC
parameters
Challenge題目:prob.sage
Solve首先,題目給的橢圓曲線在小 x (x=1,2,3,…) 都有對應的 y
而且橢圓曲線的參數就是 Flag ( 找這種 Flag 找到快中風 )
那目標很簡單,我們只要利用這些點還原出其橢圓曲線的參數,就相當於拿到 FLAG 了 ...
Read more
June 28, 2020
BB84
Post Quantum
Key exchange
Challenge題目:prob.pyoutput
Solve這題很簡單的實作了一個 BB84 的 Key exchange
關於 BB84 的詳細內容可以去查看 Wikipedia
由於使用的基底和光子的偏正態都給了,也因為這裡的光子並不是真正的量子,而是以數字取代方向
因此寫個腳本把基 ...
Read more
June 28, 2020
bitflip
CTR
Challenge題目:prob.pyuser.pickle
Solution在 prob.py 可以看到他把 TOKEN 使用 Blowfish.MODE_CTR 加密傳了過來
CTR 很容易遭到 bitflip 的攻擊,導致解密成功但解密的內容跟原本不同
再來看看加密的內容:
12imp ...
Read more
June 28, 2020
Classical
Nihilist
Challenge題目:prob
SolutionNihilist cipher 只是簡單的對應,行和列對到誰就是哪個字元
如果去維基百科查的會發現行列被我偷換了,因為我覺得太水了
然後 Flag 有點長,抱歉
因為我不想要有人不寫腳本,不過其實用取代的也只要做 36 次就出來了。
解法 1 ...
Read more
June 28, 2020
Jsfuck
Challenge考古題:prob.py
Solution今年要出一題考古題,然後我就挑了一題最水的 KcufsJ
字面上的意思,Jsfuck Reverse
所以直接把內容反轉後
打開 google chrome 按下 F12 貼在 console 上面
因為 Jsfuck 也是 jav ...
Read more
March 7, 2020
Intro
Lattice
全名是 Lenstra–Lenstra–Lovász Lattice Basis Reduction Algorithm
該演算法是從給定的這些基底中,找出一個最短且、最正交的向量LLL 通過減去基本向量的整數倍來減少非基本向量,找出合理的正交基底的有效方法
確定該向量是否成為下一個基本向量 ...
Read more
March 6, 2020
Intro
LWE
QAQ
Read more
March 5, 2020
Intro
Lattice
Lattice
一個 Lattice $(L)$ ,是由一個彼此線性獨立的向量集合 $(B)$ 產生出來的,這些線性獨立的向量又稱為 Lattice $L$ 的基底(basis)
$$B = {u_1, u_2, …, u_k}\subset \R^{n}$$
$$L = ...
Read more
March 4, 2020
Intro
Linear Algebra
假設 ${ {b_1},\ldots,{b_n} }$ 為子空間 ${W}$ 的一組已知基底
我們希望從 ${ {b_1},\ldots,{b_n} }$ 建構出另一組 Orthonormal basis (單範正交基底)
舉個例子 :
$W$ 的向量空間可由 ${(1, 1), (2, 1 ...
Read more
January 18, 2020
RSA
Polynomial
CTR
Challenge題目:server.py
Solution這次只剩下兩個選項,給你做四個動作的機會,很明顯,除了 info 以外還要三次 get flag 才能解開
info
get flag
選擇 1 他一樣會給你公鑰 (N, e)
而每 get flag 一次,都會回你:
FLAG ...
Read more