ファイル i_knew_it.png
が与えられ、暗号方式の名称を答えることが求められた。
i_knew_it.png
は、アセンブリコードをbasic blockで分割し、ジャンプ先を矢印で表した図であり、
2個の関数が描かれていた。
そこで、まずこれらの関数をC言語風に書き下した。
A file i_knew_it.png
was given and I was asked to answer the name of the cipher system.
i_knew_it.png
has assembly codes separated in basic blocks and arrows are used to express the destinations of jumps.
There were two functions in the image.
Seeing this, I transcripted these functions like C.
さらに、これらの意味を考え、わかりやすく整理した。
Then, I clearly organized the result with thinking the meanings.
sub_11BE
関数は何らかのデータを生成して入力の配列にXORしているようだったので、ストリーム暗号であると推測できた。
アタリをつけて調べたところ、ARCFOURのアルゴリズムが書き下しの結果に近いようだった。
I saw the function sub_11BE
generating some data ane taking exclusive-or with an input array.
So I guessed that this is a stream cipher.
I researched with some guessing, and found that the algorithm of ARCFOUR is like thie result of transcription.
安全でないストリーム暗号ARCFOUR - vanaestea’s blog
しかし、flag{ARCFOUR}
はIncorrectとなった。
flag{RC4}
を試すと、Correctになった。
However, submitting flag{ARCFOUR}
resulted in Incorrect.
Then I tried flag{RC4}
, being judged as Correct.