More Related Content
Similar to Katagaitai CTF勉強会 #4 Crypto (11)
Katagaitai CTF勉強会 #4 Crypto
- 3. Writeup & Impression3
katagaitai勉強会#4 開催後、reconで見つけたwriteupや感想です。
http://syagi.hatenablog.com/entry/2016/01/29/225258
linus404さん作。今頃は実装も終わってるはず。
http://encry1024.hatenablog.com/entry/2016/02/02/154645
encry1024さんによる感想。Rubyで回りきったのだろうか。
http://www.slideshare.net/YOKARO-MON/csaw-ctf-2014-quals-crypto300
you_0708さんによるwriteup。英語ですね。グローバルですね。
http://turn-up.hatenablog.com/entry/2016/02/01/192814
turn_upさんによる感想。加筆期待wktk。
https://fish.minidns.net/news/58
Kanataさんによる感想。上級編も感想書いてくれてましたね。ありがとうございます。
http://ydfj.blogspot.jp/2016/02/katagaitai-ctf-2016-med.html
Yudai Fujiwara さんによる感想。暇なときにコード書いたら連絡ください。
http://furutsuki.hatenablog.com/entry/2016/02/10/053531
Furutsukiさんによる感想。いずれ書いてください。
他載せられてない人。私のRecon力不足です。ごめんなさい。
もしwriteup書いたらtwitter等で連絡いただけると助かります。
- 26. 差分解析
Plaintext A Plaintext A + ⊿
Key (K) Key (K)
暗号化 暗号化
diff
入力に差分
入力情報(鍵・平文)ペアに差分を与える
出力の差分を見ることで偏りがないか確認
出力差分に相関が出現!
26
- 31. FEALのラウンド関数の差分
次の条件を満たす入力の出力差分を考える
X0=X1 and X2=X3
入力X, X’の出力の差分ΔYは?
31
http://www.theamazingking.com
4 16G(X0+4) G(X3+16) 4 16G(X’0+4) G(X’3+16)
ΔY0 = G(X0+4)+G(X’0+4), ΔY1 = 0, ΔY2 = 0, ΔY3 = G(X’3+16)+G(X’3+16)
ΔYに大きな偏り
X’0=X’1 X’2=X’3X0=X1 X2=X3
- 32. FEALのラウンド関数の解析
次のような入力ペアの出力差分を考える
X = 0x00000000 (X0=0x00, X1=0x00, X2=0x00, X3=0x00)
X’ = 0x80800000 (X0=0x80, X1=0x80, X2=0x00, X3=0x00)
32
http://www.theamazingking.com
G0(4)=0x10 G1(16) G1(16)G0(84)=0x12
- 33. FEALのラウンド関数の解析
次のような入力ペアを考える
X = 0x00000000 (X0=0x00, X1=0x00, X2=0x00, X3=0x00)
X’ = 0x80800000 (X0=0x80, X1=0x80, X2=0x00, X3=0x00)
33
http://www.theamazingking.com
G0(4)=0x10 G1(16) G1(16)G0(84)=0x12
ΔY0 = 0x02, ΔY1 = 0, ΔY2 = 0, ΔY3 =0
ΔX=0x80800000ならば必ずΔY=0x02000000
特定の入力差分において、出力差分が一定となる
- 55. 実習
とりあえずやってみましょう
先にwriteupを紹介します
katagaitai版
http://pastebin.com/eZaHEEQx
http://pastebin.com/UweM5NsT
他にも転がってる。Google先生は神。
解説はFEAL4でしたが問題はFEAL4.3です。
ちょっとだけある箇所が違います。
解けた人は上級編の問題をやってください
スライドはこちら
http://www.slideshare.net/trmr105/katagaitai-ctf-3-crypto
残り15分になったらwriteupのコード解説しようと思ってます
音楽にリクエストがあれば@trmr105または#katagaitaiCTFで
ツイートしてください
東京ではともりなおにジャックされた
90分55
- 56. trmr版FEALの解き方
差分を使った解き方はいろいろある、と思う。
あくまで一例。
今回のwriteupの成り立ち
trmrがpythonで書く
速度が出ない
bata氏がCで書き直す
100倍高速化!!
Cは神
writeupの動かし方
1)writeup_feal.cをtest.cにリネーム
2)writeup_feal.pyを実行
※接続先のホスト名はPython実行前に確認&修正してください
※まずはローカルで試すのをおすすめ
56
- 58. 本番でのとき方
1. ぐぐる
2. 暗号を特定する
3. 攻撃方針を決定する
4. 公開されている暗号との違いを特定
5. 攻撃する
6. フラグゲット!
今回のように考えて解く場合CSAW300点問題では無いは
ず
400~500点くらい?そもそもCSAWで出るのか説
58
- 59. 参考文献
参考文献
The Amazing King
http://www.theamazingking.com
Wikipedia[英語版]
https://en.wikipedia.org/wiki/FEAL
暗号技術大全 (アップデート希望)
その他論文
59