数論システム NZMATH の 開発と応用 巨大な自然数の高速計算に すぐ使えるプログラム 理工学研究科 数理情報科学専攻

Slides:



Advertisements
Similar presentations
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
Advertisements

1 前回の練習問題 F 29 = {1, 2,…, 28} において, g = 11 が生成元であることを確 かめ, F 29 の元とその離散対数との関係を図示せよ. x = 1,..., 28 に対し, g x mod 29 を計算すればよい
素数判定の効率性について 東邦大学理学部情報科学科卒業研究発表会 指導教員 白柳 潔 提出者 後藤 雄大.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
初年次セミナー 第8回 データの入力.
香川大学工学部 富永浩之 情報数学1 第1-1章 除法定理と整除演算 香川大学工学部 富永浩之
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
駒澤大学 経営学部 情報セキュリティ B 公開鍵暗号による 認証つきの秘匿通信 ―― 鍵に注目して ――
2000年 3月 10日 日本電信電話株式会社 三菱電機株式会社
静岡大学大学院理工学研究科 阿部 秀尚 Weka入門(セットアップ編) 静岡大学大学院理工学研究科 阿部 秀尚
情報工学科 06A2055 平塚 翔太 Hiratsuka Shota
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
Problem J Tile Puzzle 原案:野田 担当:平野,吉田,泉,松本.
プログラミング言語としてのR 情報知能学科 白井 英俊.
UNIX Life KMSF M2 saburo.
北海道大学 理学院 宇宙理学専攻 惑星物理学研究室 M 2 齊藤 大晶
秘匿積集合プロトコルの 推薦システムへの応用
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
Lightweight Language Weekend ls-lRシェル
最適化ソルバーのための Python言語入門
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
「まめだくん Ver.1.0」 特徴と利用方法.
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
第2章 第1節 情報通信の仕組み 4 暗号技術と情報の保護 5 コンピュータとネットワークの管理
身近にある曲線や曲面の数理的構造に興味を持ったら,
共通鍵と公開鍵 暗号のしくみ 情報、数学ハイブリッド版.
数の仲間わけ 情報科学科 4年 5512027 加藤 奈美.
数 学 の か た ち 第3講 暗号を作ろう 早苗 雅史 数学とソフトウエア
多項式最適化問題に対する2乗多項式緩和 東京工業大学 情報理工学研究科 数理・計算科学専攻 小島政和
黒澤 馨 (茨城大学) 情報セキュリティ特論(7) 黒澤 馨 (茨城大学)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
暗号技術 ~公開鍵暗号方式の仕組み~ (3週目)
第10回 情報セキュリティ 伊藤 高廣 計算機リテラシーM 第10回 情報セキュリティ 伊藤 高廣
博士たちの愛する素数 徳山 豪 東北大学 Prime numbers that professors love
Q q 情報セキュリティ 第3回:2005年4月28日(金) q q.
Q q 情報セキュリティ 第3回:2005年4月22日(金) q q.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
数学のかたち 暗号を作ろう Masashi Sanae.
情報セキュリティ  第4回 メッセージ認証コード.
第二章 インターネットで やり取りする情報を守る
PGP インターネットで 広く使われている暗号技術
情報セキュリティ  第11回 デジタル署名.
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
情報セキュリティ  第8回 RSA暗号.
2章 暗号技術 FM15002 友池 絲子.
レポート提出者のリスト 次のURLに掲載 ~goto/infomath.html 学内のIPアドレスからのみ閲覧 ( )
5.RSA暗号 素因数分解の困難性を利用した暗号.
レポート提出者のリスト 次のURLに掲載 ~goto/infomath.html 学内のIPアドレスからのみ閲覧 ( )
Q q 情報セキュリティ 第8回:2005年6月3日(金) q q.
暗号技術 ~暗号技術の基本原理~ (1週目) 情報工学科  04A1004 石川 真悟.
Q q 情報セキュリティ 第6回:2007年5月25日(金) q q.
コミュニケーションと ネットワークを探索する
Q q 情報セキュリティ 第9回:2006年6月16日(金) q q.
「情報セキュリティ論」 2-4 公開鍵暗号の原理とRSA暗号
情報科学演習III --- 計算代数とその応用 ---
B03 量子論理回路の 最適化に関する研究 西野哲朗,垂井淳,太田和夫,國廣昇 電気通信大学 情報通信工学科.
代数体上で定義された楕円曲線の 素因数分解への応用
Diffie-Hellman 鍵共有 ElGamal 暗号 楕円曲線暗号,量子コンピュータ
暗号技術 ~JAVAプログラム②~ (6週目)
Q q 情報セキュリティ 第5回:2006年5月19日(金) q q.
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
Q q 情報セキュリティ 第12回:2004年6月25日(金) の補足 q q.
ネット時代のセキュリティ3(暗号化) 2SK 情報機器工学.
暗号技術・セキュリティ 情報工学科  04A1004 石川 真悟.
データ構造と アルゴリズムI 第三回 知能情報学部 新田直也.
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
One Day Science Program コンピュータで数学を
創造都市研究科 都市情報学 情報基盤研究分野
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

数論システム NZMATH の 開発と応用 巨大な自然数の高速計算に すぐ使えるプログラム 理工学研究科 数理情報科学専攻 17 November 2018 数論システム NZMATH の 開発と応用 巨大な自然数の高速計算に すぐ使えるプログラム 理工学研究科 数理情報科学専攻 中村 憲 内山 成憲 2006年12月8日 東京国際フォーラム 中村 憲, 内山 成憲

本講演の内訳 どうして必要なのか あるもので間に合わないのか 何ができ, どうやって使うのか 手に入れるには, また開発に参加するには 17 November 2018 数論システム NZMATH

(あまり厳密ではないが印象を理解する為の説明を少し詳しくする) どうして必要なのか…例えば暗号 みんなが広く使える暗号の必要性 不特定多数がアクセスできる状況の維持 情報の通信や保存の機密性・安全性の確保 暗号の仕組は一般に公開されている 平文を暗号文にする暗号鍵 これが公開されている公開鍵暗号もある 暗号文を平文に戻す復号鍵 正当な利用者のみの秘密 復号鍵は暗号文や暗号鍵から計算困難 その保証に巨大な自然数の計算がしばしば必要 (あまり厳密ではないが印象を理解する為の説明を少し詳しくする) 17 November 2018 数論システム NZMATH

どうして必要なのか…公開鍵暗号 一方で復号鍵は暗号鍵から計算困難 他方で復号鍵は暗号鍵の逆の操作をする 暗号鍵 計算困難 平文 暗号文 簡単 異なる自然数 p, q 積 n=p×q p, q を隠す n を公開する 分解は極めて困難 17 November 2018 数論システム NZMATH

どうして必要なのか…整数因数分解 21桁の n を n=p×q, p≠1, q≠1 と分解したい: 小さい奇数 3, 5, 7, 9, … で順に試し割算する: 全部で 10010610563 回が必要で 3.2GHzのパソコンで8時間45分30秒かかり p=20021221127, q= 20021221277 逆に p×q は一瞬で, 手計算でも8時間は不要 この方法では n が50桁以上なら, これ迄現存した計算機の全能力を総動員したとしても不可能 数論アルゴリズムで n が百数十桁なら分解可能 17 November 2018 数論システム NZMATH

あるもので間に合わないのか Maple, Mathematica, Macsyma … 高額 Magma … 開発援助費程度 ☆これらはソース非公開で細部修正できない☆ Pari/GP, Kant/Kash, SIMATH/SimCalc 基本的に無料ライセンス 利用言語と開発言語が違う 開発者が数論アルゴリズム以外に忙殺される (メモリ管理, 多倍長, データ構造, 対話式インタプリタ) ☆このうち b, c は 1, 2 にも当て嵌まる☆ 17 November 2018 数論システム NZMATH

あるもので間に合わないのか 利用者=開発者 … Python メモリ管理, 多倍長を備えている 豊富なデータ構造を持つオブジェクト指向 利用言語と開発言語が同じスクリプト言語 広範に利用されている易しい言語 計算速度より開発速度を重視 どんな OS でも移植が簡単にできる 他の言語との相互リンクができる 計算速度の向上や他システムの利用 17 November 2018 数論システム NZMATH

数論システム NZMATH 17 November 2018 何ができ, どうやって使うのか arith1 (初等数論), bigrandom (巨大乱数), combinatorial (初等組合せ論), elliptic (楕円曲線), equation (多項式の根) , factor (自然数因数分解), finitefield (有限体), gcd (互除法), group (群), imaginary (近似複素数), integerResidueClass (整数剰余), lattice (格子), matrix (行列), multiplicative (乗法的関数), permute (置換群), polynomial (多項式), prime (素数判定), quad (二次体), rational (有理数), rationalFunction (有理関数), real (近似実数), ring (環), vector (ベクトル), zassenhaus (整多項式因数分解) 17 November 2018 数論システム NZMATH 中村 憲, 内山 成憲

何ができ, どうやって使うのか 応用 基礎 近似実数 近似複素数 多項式の根 整多項式 因数分解 二次体 楕円曲線 群 置換群 数論システム NZMATH 17 November 2018 何ができ, どうやって使うのか 応用 近似実数 近似複素数 多項式の根 整多項式 因数分解 二次体 楕円曲線 群 置換群 環 有理数 多項式 有理関数 整数剰余 有限体 ベクトル, 行列, 格子 初等数論 互除法 乗法的関数 初等組合せ論 素数判定 自然数因数分解 基礎 補助 巨大乱数 予定 半群, 代数拡大, 局所体 17 November 2018 数論システム NZMATH 中村 憲, 内山 成憲

何ができ, どうやって使うのか 先の例の n= 400849298419414319179 の因数分解を実演してみます. まず python (command line) を起動します. 次の二つのコマンドを実行します. import nzmath.factor.methods nzmath.factor.methods.mpqs(400849298419414319179) 17 November 2018 数論システム NZMATH

手に入れるには また開発に参加するには 公式サイト: メイリングリスト: 開発プロジェクトページ: 開発グループ: http://tnt.math.metro-u.ac.jp/nzmath/ メイリングリスト: http://tnt.math.metro-u.ac.jp/nzmath/ml.html 開発プロジェクトページ: http://sourceforge.net/projects/nzmath/ 開発グループ: http://nzmath.sourceforge.net/ 17 November 2018 数論システム NZMATH

Please read README for more details. Python is available from http://www.python.org/ . Windows Installer NZMATH Version 0.5.1 解凍レンジ マイ コンピュータ プロパティ 詳細設定 環境変数 ユーザ環境変数 PYTHONPATH  C:\Documents and Settings\nakamula\ デスクトップ\nzmath-seeds-2006\NZMATH-0.5.1 システム環境変数 Path ;C:\Python25 please refer Tutorial. 17 November 2018 数論システム NZMATH

御静聴ありがとうございました 興味のある方は本文に subscribe とだけ書いたメイルを 宛に出してください nzmath-request@tnt.math.metro-u.ac.jp 宛に出してください 17 November 2018 数論システム NZMATH