Cryptoまとめ

CRC(巡回冗長検査)

どうも。duckです。 巡回冗長検査書くよ。 理論は難しくないですが、実装に癖がありまする。今回の流れ ・理論編 ・実装編 ・高速化 理論編概要 巡回冗長検査(巡回冗長検査 - Wikipedia)とは、誤り検出の手法の一つ。 データ送信の際にデータの破損(ビッ…

第0.5回 RSAへのAttack ~RSA-CRT~

どうも。duckです。 二回目にして唐突な0.5刻み。マイナーバージョンアップかな? .5では、Attackじゃないけど知っておかないとCTFで困る(困った)知識について書いていきます。 今回のRSA-CRTだったり、RSA-OAEPだったりですね。 RSA-CRT 一言でいうと、復…

レインボーテーブルを実装してみた

どうも。duckです。 名前がダサいことで有名なレインボーテーブルを実装してみました。ハッシュを調べるとよく出てくるやつです。今回の流れ ・ハッシュ概要 ・理論編 ・実装編 ハッシュ概要ハッシュ関数をとする。 あるデータに対して、そのハッシュ値を と…

pythonのモジュールのソースコード読みたいよ

import random random.__file__ で場所がわかる。pythonモジュールはよくCで書かれたライブラリを呼んでるけど、pythonの中には実行ファイルしかないので ソースは GitHub - python/cpython: The Python programming language などを探すとよい。

第0回 RSAへのAttack ~RSAってなに~

どうも。duckです。 RSAへのAttackの記事を書くことにしました。今回の流れ ・RSA暗号の仕組み ・Attackの成功条件 ・Attackする場所 RSA暗号の仕組み公開: 秘密:暗号化 (0)暗号化したい平文mを準備する。 (1)素数を用意する。(とおく) (2)と互いに素な自然…

CTFで使う数学 後編

どうも。duckです。 後編始めるよ。ちょっと全体的に難易度が上がるから、前編にもまして証明が雑になるよ。 よくわからんって人はとりあえずcoppersmithの定理だけみておけばいいです。 頻出なんで。 じゃあやっていこうかー。 6.coppersmithの定理 頻度…

CTFで使う数学 前編

どうも。duckです。 とあるCTF(後で書きます)の過去問解いてたんですが、あまりの数学のできなさに絶望したのでまとめます。 証明は適当につけたのであってるかわかりません。(オイ) まあわかるっしょっていう条件は書いてなかったり厳密性を重視してな…