タグ

algorithmとmathに関するurza358のブックマーク (8)

  • RSAに対するフェルマー攻撃 - Qiita

    はじめに(Introduction) RSAの鍵ペアの生成方法にミスがあり脆弱性となってしまった実装例があったようです。 元の文献を機械翻訳(ちょっと修正)してみます。 原文のデモをやってみたところ、案外動いたので先にデモを記します。 デモ(Demo) まずは、素数$p$と$q$を生成して$N$を求めるところです。 ※:鍵長が2048bitなので多少時間がかかります。 問題となったライブラリがこのようなロジックであったかは不明ですが、翻訳した資料を参考に作成しています。 import random as rnd import sympy key_length = 2048 distance = 10000 p = 0 q = 0 # 乱数Xを生成する。 X = rnd.randrange(2, pow(2, key_length)) for i in range(distance): #

    RSAに対するフェルマー攻撃 - Qiita
  • 最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ

    動的計画法とメモ化再帰 今回は、非常によく用いられるアルゴリズムである、「動的計画法」「メモ化再帰」について説明します。この2つはセットで覚えて、両方使えるようにしておくと便利です。 なお、メモ化再帰に関しては、第5・6回の連載の知識を踏まえた上で読んでいただけると、理解が深まります。まだお読みになっていない方は、この機会にぜひご覧ください。 中学受験などを経験された方であれば、こういった問題を一度は解いたことがあるのではないでしょうか。小学校の知識までで解こうとすれば、少し時間は掛かるかもしれませんが、それでもこれが解けないという方は少ないだろうと思います。 この問題をプログラムで解こうとすると、さまざまな解法が存在します。解き方によって計算時間や有効範囲が大きく変化しますので、それぞれのパターンについて考えます。 以下の説明では、縦h、横wとして表記し、プログラムの実行時間に関しては、

    最強最速アルゴリズマー養成講座:アルゴリズマーの登竜門、「動的計画法・メモ化再帰」はこんなに簡単だった (1/5) - ITmedia エンタープライズ
  • Baby-step giant-step - Wikipedia

    In group theory, a branch of mathematics, the baby-step giant-step is a meet-in-the-middle algorithm for computing the discrete logarithm or order of an element in a finite abelian group by Daniel Shanks.[1] The discrete log problem is of fundamental importance to the area of public key cryptography. Many of the most commonly used cryptography systems are based on the assumption that the discrete

  • 離散対数 - Wikipedia

    数学における離散対数(りさんたいすう、英: discrete logarithm)とは、通常の対数の群論的な類似物である。 離散対数を計算する問題は整数の因数分解と以下の点が共通している: 両方とも難しい(量子コンピュータ以外では効率的に解くアルゴリズムが得られていない) 片方に対するアルゴリズムはしばしばもう片方にも利用できる 問題の困難性が暗号系の構築に利用されている 離散対数を理解するのに、最も簡単なのは素数 p を法とする整数の合同類からなる集合 {1, 2, ..., p − 1} に乗法を考えた既約剰余類群(英語版) (Z/pZ)× であろう。 この群の元の k-乗を知りたければ、普通の整数と看做して k-乗を求め、それから p で割った剰余(余り)を求めればよい(これを離散冪乗とよぶこともある)。例えば (Z/17Z)× を考え、この中で 34 を計算するには、まず 34

  • Archived Problems - Project Euler

    Problem Archives The problems archives table shows problems 1 to 946. If you would like to tackle the 10 most recently published problems, go to Recent problems.

  • 「物理法則を自力で発見」した人工知能 | WIRED VISION

    前の記事 「衛星成功に総書記は涙」:北朝鮮の核再開宣言とミサイル輸出 「物理法則を自力で発見」した人工知能 2009年4月15日 Brandon Keim Image credit: Science、サイトトップの画像はフーコーの振り子。Wikimedia Commonsより 物理学者が何百年もかけて出した答えに、コンピューター・プログラムがたった1日でたどり着いた。揺れる振り子の動きから、運動の法則を導き出したのだ。 コーネル大学の研究チームが開発したこのプログラムは、物理学や幾何学の知識を一切使わずに、自然法則を導き出すことに成功した。 この研究は、膨大な量のデータを扱う科学界にブレークスルーをもたらすものとして期待が寄せられている。 科学は今や、ペタバイト級[1ペタバイトは100万ギガバイト]のデータを扱う時代を迎えている。あまりに膨大で複雑なため、人間の頭脳では解析できないデータセ

  • ベジェ曲線- Wikipedia, the free encyclopedia

    Cubic Bézier curve with four control points The basis functions on the range t in [0,1] for cubic Bézier curves: blue: y = (1 − t)3, green: y = 3(1 − t)2t, red: y = 3(1 − t)t2, and cyan: y = t3. A Bézier curve (/ˈbɛz.i.eɪ/ BEH-zee-ay,[1] French pronunciation: [bezje]) is a parametric curve used in computer graphics and related fields.[2] A set of discrete "control points" defines a smooth, continu

    ベジェ曲線- Wikipedia, the free encyclopedia
  • 最長しりとり連鎖問題 - Satomilogical Research

    こういう問題を思いついた。 次に言う言葉がもうない場合、最後に「ん」がついた場合にしりとりが終了するとして、ある辞書に登録された単語のみを使ってしりとりをするとしよう。もっとも長いしりとり連鎖の回数(とその連鎖のリスト)を出力するアルゴリズムを考えよ。 twitter/satomilogy ある辞書に登録された単語に限定してしりとりを行うとどうなるんだろうと考えた。まずしりとりはちゃんと終わるだろうか。有限の単語数の辞書なんだから必ず終わる。「ん」がついても終わる。では、ある辞書の中でどれくらい長くしりとりを続けることができるのだろうか、というのがこの問題です。可能なしりとり連鎖の組み合わせを総当りで求めて、その中から最長のものを選ぶというアルゴリズムはすぐに思いつきましたけど、おもしろくないですね。 問題を単純化してみてわかったこと 実際の国語辞典を使ってやる場合には、しりとりのローカル

  • 1