サイズ: 7307
コメント: fix linebreak
|
サイズ: 7533
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 1: | 行 1: |
#acl Known:admin,delete,read,write,revert All: | |
行 18: | 行 17: |
正解者:: 0人() | 正解者:: 2人(quartorz, なにものでもない) |
行 26: | 行 25: |
正解者:: 0人() | 正解者:: 5人(gentaro, anch0y, mo, DITA, キモト) |
行 35: | 行 34: |
正解者:: 0人() | 正解者:: 2人(mo, なにものでもない) |
行 59: | 行 58: |
正解者:: 0人() | 正解者:: 2人(mo, なにものでもない) |
行 68: | 行 67: |
正解者:: 0人() | 正解者:: 4人(gentaro, umashika, shin, なにものでもない, DITA), 2人(DITA, なにものでもない), 0人() |
行 83: | 行 82: |
正解者:: 0人() | 正解者:: 3人(gentaro, anch0y, なにものでもない) |
行 91: | 行 90: |
江夢絵 無影氏は最近隠れて絵を書き始めたようだ。君の任務は彼の描いた絵を探し出すことである。検討を祈る。 | 江夢絵 無影氏は最近隠れて絵を書き始めたようだ。君の任務は彼の描いた絵を探し出すことである。健闘を祈る。 |
行 97: | 行 96: |
正解者:: 0人() | 正解者:: 1人(anch0y) |
2014年MMA新入生歓迎会CTF
CTF(Capture The Flag)はプログラミングやセキュリティなどのコンピュータ技術を競うコンテストです。主にクイズ形式のものと、サーバーに対して攻撃したり防御したりする攻防戦形式の2種類が存在します。
MMAでは2013年より積極的に各種CTFに参加しています。
ルール
- 2014/04/03から2014/04/14までの間の開催です。
- 終了まで、広く一般に問題の解法を公開することを禁止します。
- 問題が解けたら、新歓期間中はA棟403号室、新歓終了後はMMA部室(サークル棟2階)に居るMMA部員に確認してもらってください。解けた問題に応じて賞品があります。気軽に訪れてください。なお1つの問題の中に複数の問いが含まれている問題については、各問いごとに採点します。
- 問題は部室や新歓ブースでも配布しています。
問題
KANJI?
- 難易度
- ★
- ジャンル
- トリビア
- 出題者
- 正解者
- 2人(quartorz, なにものでもない)
これはあるコマンドを表している。そのコマンドを答えよ。
Object
- 難易度
- ★
- ジャンル
- 暗号 トリビア
- 出題者
- 正解者
- 5人(gentaro, anch0y, mo, DITA, キモト)
次の暗号文を解読し、質問に答えよ。
Xibu't uif obnf pg uif bsu xpsl jo gspou pg Cvjmejoh Fbtu-3? Qmfbtf botxfs jo Kbqboftf.
Punch
- 難易度
- ★
- ジャンル
- トリビア
- 出題者
- 正解者
- 2人(mo, なにものでもない)
なんと書かれているでしょう。
_________________________________________________ / | |] ]] ] ] ] ] ] | | ] ] ]] ] ]] | | ] ] ] | |11]111111111111111111]11111111111111111111111111| |222222]22222222222222222222222222222222222222222| |3]33333333]]3333]3333333333333333333333333333333| |4444444444444]44444]]444444444444444444444444444| |555555555]5555]555555555555555555555555555555555| |]6666666]666]6666]666666666666666666666666666666| |777]77777777777777777777777777777777777777777777| |888888888888888888888888888888888888888888888888| |99999]999999999999999999999999999999999999999999| |________________________________________________|
Universe
- 難易度
- ★
- ジャンル
- トリビア
- 出題者
- 正解者
- 2人(mo, なにものでもない)
Get the flag.
Tatami
- 難易度
- ★(問1) ★★(問2, 問3)
- ジャンル
- 数学 プログラミング
- 出題者
- 正解者
- 4人(gentaro, umashika, shin, なにものでもない, DITA), 2人(DITA, なにものでもない), 0人()
縦幅$ 3 $、横幅$ 2n $の長方形のマス目に、$ 1 \times 2$のタイルを重なり合うことなく、全てのマスを覆うように敷き詰めることを考える。
例えば$ 3 \times 2$のマス目の場合、次の3通りの敷き詰め方が存在する。
- 問1
- $ 3 \times 6 $の長方形のマス目に$ 1 \times 2 $のタイルを敷き詰めるパターン数を求めよ。
- 問2
- $ 3 \times 100 $の長方形のマス目に$ 1 \times 2 $のタイルを敷き詰めるパターン数を求めよ。パターン数は大きくなりすぎるので、$ 2^{64} $で割った余りを答えよ。
- 問3
$ 3 \times 2n $のマス目にタイルを敷き詰めるパターン数を$ f(n) $と表すことにする。このとき、$$ \sum_{i=1}^{10^{16}} f(i)^3 $$を求めよ。ただし、答えは大きくなりすぎるので、$ 2^{64} $で割った余りを答えよ。
TelnetサーバーのIPアドレスを答えよ。
- 難易度
- ★★
- ジャンル
- ネットワーク
- 出題者
- 正解者
- 3人(gentaro, anch0y, なにものでもない)
江夢絵 無影
- 難易度
- ★★
- ジャンル
- 偵察
- 出題者
- 正解者
- 0人()
江夢絵 無影氏は最近隠れて絵を書き始めたようだ。君の任務は彼の描いた絵を探し出すことである。健闘を祈る。
unskipk
- 難易度
- ★★
- ジャンル
- バイナリ フォレンジック
- 出題者
- 正解者
- 1人(anch0y)
Get the flag.
0000040: 0000 b3b5 2504 b8dc 7212 d315 328b 153c ....%...r...2..< 0000050: 3402 3415 6c15 7463 8a4b 73e3 3315 0280 4.4.l.tc.Ks.3... 0000060: 3827 3f1d 4473 d912 3605 0050 4b01 021e 8'?.Ds..6..PK... 0000070: 0314 0002 0008 0054 1582 44ec d1e9 4029 .......T..D...@) 0000080: 0000 0069 0000 0008 0018 0000 0000 0001 ...i............ 0000090: 0000 00a4 8100 0000 0066 6c61 672e 7478 .........flag.tx 00000a0: 7455 5405 0003 8ffa 3a53 7578 0b00 0104 tUT.....:Sux.... 00000b0: e803 0000 04e8 0300 0050 4b05 0600 0000 .........PK..... 00000c0: 0001 0001 004e 0000 006b 0000 0000 00 .....N...k.....
Leaky Commitment
- 難易度
- ★★★
- ジャンル
- 暗号
- 出題者
- 正解者
- 0人()
Get the flag.
1 # -*- coding: utf-8 -*-
2 from Crypto.Util.number import bytes_to_long
3 import Crypto.Random.random as random
4 n = 111895820447848398833154164049604827293489536149098582911503536545786709920126490310648014595161362589852007375751605057086275433447515332995637611070227862690921976976903471086435444973906568373071049321771477223840797381651370286025243307357326025387711988561293916360504512168560206699040759690577943719467
5
6 FLAG = "*CENSORED*"
7 def commit(m):
8 e = (1<<14) | random.getrandbits(14) # For compatibility, e must be in signed short :-(
9 r = random.randrange(n)
10 t = pow(m + r, e, n)
11 c = (t, r, e)
12 return c
13 def open_commitment(m, c):
14 (t, r, e) = c
15 return pow(m + r, e, n) == t
16
17 for i in range(2):
18 print "%d, %d, %d" % commit(bytes_to_long(FLAG))
実行結果
1 98855442035570258903182560550333160561120277371740735449521028516877754724801900324632437799773043740484615509134258762973570806142067172948684452521512919260852013254687425371750433912988526109028607756835484284640096355007465798844486528620714301048051591408896419691697463858819870838068910514599763227999, 76346658578205172199620597295192186675340280494498049873836332499382916758493810184939920185992288936343293747741483484603869354011619302755855935469557007140409746603003295314082376836338910850104341679244718519471588505465395901612495107598676619995955657426770455654845308752905216418717681977167492837020, 27877
2 29470234052520553888750153336995149073925167580708824280649748083373538718062076186036195182031980369132661293884535538078345294951307317447109444005807982633585282177242307625244379892038083901972560085897620766641222812661369874578260760886336834177355552220868321804066909936978488965383247261239191091263, 67497987076884796159425417953912199922569574484935405993218223181103368354807107898349599310443950816164867372290177146568094410279310207322835688055482111471327922463439937590707511611891418259904783662541313101015378231638722951232518083550734178777908815403503062623051716668007015134781992593163651965389, 22740