はじめに
zer0pts ctf 2021のを開催しました。パブリックなCTFの運営側に回るのは初めてだったので、例えば質問の受け答えなど間違えてしまわないかとても不安でした。サーバー周りはふるつきさんやst98さんがやってくれたため、自分は基本的に質問対応だけでよく、まあなんとかなりました。ありがとうございました。 zer0pts ctf 2021では、正の得点を得たチームが951チームもいて、非常に多くの人に参加していただけました。ありがとうございます。 また、1位がSuper Guesser、2位がK-Students、3位がr00timentaryでした。おめでとうございます!
出題した問題の公式writeupは https://hackmd.io/@ptr-yudai/B1bk04fmu で公開されているので、ぜひ参考にしてください。
作問
cryptoの"easy pseudo random"と"pure division"の2問を作らせていただきました。概要としては、非線形な乱数の予測とあまり良くない空間での楕円曲線の問題です。本当はrevやmiscもあと一問ずつくらい作る予定でしたが、考えていた案がことごとくうまく行かず結局問題には至りませんでした。ただ、問題を作ろうとすると周辺知識がたくさん見につくので自分でも色々勉強になりましたしいいかな〜くらいに思ってます。
easy pseudo randomは31solvesでした。easyくらいの難易度を想定していてwar(sa)mupの次くらいの比較的簡単目な予定だったのですが、solve数を見る限りでは意外とそうでもなかったっぽいです。この問題について言及している話を聞く限りでは、非線形な乱数である部分が特に難しかったらしく、確かにCTFの問題としてはあまり出ないよな〜なんて思いました。まあでも線形だと誰でも解けるのでこのくらいが丁度いいのかななんて気もしました。
pure divisionは7solvesでした。hard〜lunaticくらいの難易度を想定していてかなり難しく作ったつもりだったのですが、思っていたよりもsolve数は多くてびっくりしました。さすがです。次はもっと難しい問題を作れるようにがんばります。ただやはり一桁solvesに留まったようでちょっとだけ安心しました。この問題を解くためにFormal Logarithmやp進数の知識が必須だったため、そこで躓いている方が結構見受けられました。
作問チェックはあまり参加できず、3問くらいしかチェックすることができませんでした。ごめんなさい。サーバー周りの知識が無なのでCTFの準備などにあまり貢献できず、たくさん助けられました。ごめんなさい。
おわりに
運営の方針として、ヒントになるものは与えないを徹底していたところがとても良かったと思います。絶対的な指標があったので自分も質問に答えやすかったです。また世の中には色んな人がいるんだなって知れたいい機会にもなりました。
めちゃくちゃ強いチームがたくさん参加していたので、次に開催されるときはもっと難しい問題を作れるようになってたらいいなって思っています。頑張れ未来の自分。あと日本語writeupどうしようかな〜〜