akictf #3 cheap cipher(revenge)
問題
http://ctf.katsudon.org/problem/3
考えたこと
タイトルからして前にあったcheap cipher類の問題であろうと予想はできた。
cheap cipherでは問題の文字列の前後を逆にしてbase64でデコードすると答えが出たけど、これはちょっとひねりを加えて逆にしないといけない。逆の仕方としては、base64の変換表を逆にする。そして、逆にした後の変換表に基づいて文字列を更新する。
どういうことかというと、たとえば、A→=、B→/、C→+、D→9といった具合
こうすることでbase64でエンコードされた答えが手に入る。それで解けた。
おまけというかついで
実はこれ自分ではパッと思いつけなくて、知り合いにヒントをもらって解けたものである。まあ正直新しい知識があるかって言われたらないけど、base64のそれっぽい実装の練習というか、新しいテーブルを作って自分で変換するっていう面白さみたいなのがあった。