Crypto
別名: Cryptography
CTFのジャンル
脆弱な暗号を解読したり、脆弱な署名の検証に対して攻撃したりする
既にある暗号の細部を変えて脆弱にしたものや、独自に考えた脆弱な暗号が出題される
数学(特に整数論)と暗号理論の知識が必要
現実では、暗号の研究をするときに役に立つ (それはそう)
筆者は全然理解できていないジャンル。加筆求む
ジャンルと攻撃手法
古典暗号
頻度解析
公開鍵暗号
RSA
楕円曲線暗号
共通鍵暗号
DES
AES
ChaCha20
疑似乱数
xorshift
Hash
SHA-1
MD5
量子暗号
ツール
pycryptodome https://github.com/Legrandin/pycryptodome/
暗号関係のユーティリティが入ってるライブラリ
from Crypto.~ import ~はこれ
PEMのパースもできる
SageMath https://www.sagemath.org/
数学的な計算処理を行えるソフトウェア
Pythonをベースとした言語で記述できる
良い感じの資料あったら教えてください
z3 https://github.com/Z3Prover/z3
SAT/SMTソルバ
複雑な制約条件を満たす解を求めることができる
疑似乱数の予測などに
FactorDB http://factordb.com/
素因数分解ができるサイト
素因数が小さい場合は解ける
RsaCtfTool https://github.com/RsaCtfTool/RsaCtfTool
CTFのRSA問を解くのに使えるツール
簡単な問題ならこれで解けることも
quipqiup https://quipqiup.com/
換字式暗号を自動で解くツール
かなり強い
DCODE.fr https://www.dcode.fr/
色んな暗号のソルバが置いてある
擬似乱数復元
https://github.com/PwnFunction/v8-randomness-predictor
https://github.com/tna0y/Python-random-module-cracker
caso-nfs https://github.com/sethtroisi/cado-nfs
数体ふるい法を用いた離散対数ソルバ?使っているのをたまに見るけどよく知らない
資料
CTF crypto 逆引き https://furutsuki.hatenablog.com/entry/2021/03/16/095021
Crypto典型テクをまとめた記事
RSA暗号運用でやってはいけない n のこと https://www.slideshare.net/sonickun/rsa-n-ssmjp
有名な資料
簡単なRSA問はこれで解けることも多い
₍₍ (ง ˘ω˘ )ว ⁾⁾ < 暗号楽しいです https://elliptic-shiho.hatenablog.com/archive
elliptic-shihoさんが公開しているブログ
攻撃手法の理論的な話を丁寧に解説している
crypto-attacks https://github.com/jvdsn/crypto-attacks
攻撃手法がまとめられているリポジトリ
あんこ (anko9801)さんによるCrypto入門シリーズ https://zenn.dev/anko/articles/ctf-crypto-begginer
かなり良さそう