読者です 読者をやめる 読者になる 読者になる

技術メモ

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

数学

最強の素数チェッカーを作ってみた

前回の記事の最後に書いた、決定的な素数判定と確率的な素数判定をハイブリッドにしたら最強なんじゃないかという考えのもと、最強の素数判定器を作ってみた。 特にひねりはないが、最初に3桁まで(引数で指定可能)の素数リストを作っておいて、確率的な素数…

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

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

カオス理論入門(プログラム編)

カオスについて勉強していた時に書いて見たかったもの。アトラクターの軌道を見てみたい。 目標としては3次元プロットして一定軌道をグルグル回っているところをプロットしてみる。有名なレスラーアトラクターとローレンツアトラクターを描いていきたい。 実…

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

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

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

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

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

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

networkxでネットワーク特徴量の分析

networkxを触った時の備忘録。今回扱ったのは無向グラフに限る。 用語などの解説は別の記事に譲りたい。 (networkx(1.11.0) python(2.7.12)) 適当なグラフを作成・可視化 import networkx as nx import numpy as np import matplotlib.pyplot as plt # gener…