技術メモ

役に立てる技術的な何か、時々自分用の覚書。幅広く色々なことに興味があります。

暗号理論

pythonでコードを書きながら楕円曲線暗号を理解する

仮想通貨についての勉強 楕円曲線暗号とは、ビットコインのデジタル署名で使われてる公開鍵暗号方式。この記事にあるコードを写経しながら勉強する。 自分自身まだ深く理解してないところがあるので解説は別の機会に書くことにしてメモ書き程度にとどめてお…

pythonでコードを書きながらデジタル署名を理解する

仮想通貨の仕組みについての勉強の続き。 仮想通貨にはなくてはならないデジタル署名を実装して勉強した。 デジタル署名自体は目新しいものではなく昔からある技術で、今でもネット決済など広く使われている。 デジタル署名とは ザックリとした説明 デジタル…

確率的素数判定法 vs. エラトステネスの篩

素数判定をするのは暗号の分野ではすごく重要なんだけど、そこでよく使われるのが確率的素数判定法というもの。 競技プログラミングの問題に出てくる程度の素数判定では、エラトステネスの篩と呼ばれる有名な素数判定アルゴリズムで充分なのだけど、暗号に使…

RSA暗号を実装してみる(プログラム編)

前回まではRSA暗号の原理を説明してきたけれど、いよいよ本題。実際コーディングに取り掛かる。理論では簡単に説明されるところでも実際にコーディングしてみると難しいところがある。 RSA暗号を実装してみる(知識編) - 技術メモ RSA暗号を実装してみる(…

RSA暗号を実装してみる(理論編)

知識編で説明したように、RSA暗号の最大の特徴は暗号鍵から復号鍵を類推することが難しいというところにある。今回は、この特徴が数学的にどのように実現できているのかについて見ていく。 RSA暗号を実装してみる(知識編) - 技術メモ RSA暗号を実装してみ…

RSA暗号を実装してみる(知識編)

WEPキーに脆弱性があって突破されてしまうということを知ってから、最近暗号理論に興味をもって勉強していた。その中で、RSA暗号すげえってなったから実装してみたいと思う。単純そうに見えて奥深い。今回はまず暗号について勉強した知識をまとめる。数学的…