Location : Home > Languages > Perl > Package
Title : Math::BigSimple
Toolbox Logo

名称

 Math::BigSimple - 値の大きい素数を生成


バージョン

 Version number is 1.1a.
 安定して稼動しているようだ。この 1.1 version 1.1 は 2005年6月13日に書かれ、Test 3 をクリアした。


説明

 The Math::BigSimple モジュールは値の大きい素数を生成する。公開鍵暗号系(RSA, IDEA, PGP その他)に従う暗号化プログラムには極めて有用である。非常に簡単でリアルタイムアプリケーションでも十分利用できる速度を持ったインタフェースである。


文法

# オブジェクト指向プログラミングインタフェース
use Math::BigSimple;
$bs = Math::BigSimple->new(8);  # コンストラクタ
$bs = Math::BigSimple->new(Length => 8, Checks => 5); # 古い型
$simple = $bs->make(); # 生成

# プロシージャインタフェース
use Math::BigSimple qw(is_simple make_simple);
print "SIMPLE!!!" if(is_simple(84637238096) == 1); # 試験用の数値
$simple_number = make_simple($length); # 簡単な生成

関数

OOP interface
new(@params)
$generator = Math::BigSimple->new(@options);

 初期化を行う。必須のパラメータは数値長で、オプションとして妥当性チェックのための数(デフォルトでは4)を指定することができる。
 古いフォーマット params(1.0) − the hash with 'Length' 及び 'Checks' 要素のハッシュ−もサポートしている。(使わないこと。)

make
$simple_number = $generator->make();

 $generator で指定された数を返す。

Procedure interface
is_simple($number)
$if_is_simple = is_simple($number);

 $number が素数であれば 1 を返す。小さい数値では使わないこと。

make_simple
$simple_number = make_simple($length);

 指定された長さの素数を返す。これが最速の素数取得方法。


限界

 15桁以上の数値の生成は遅い。
 数値 2 は素数として認識されない。
 いくつかの小さな数(例えば 3, 7)は常にテストを通るとは限らない。


著者

 Edward Chernenko, <edwardspec@yahoo.com>
 Perl programmer & Linux system administrator.


著作権

 Copyright (C)Edward Chernenko.
 本プログラムは Artistic License により保護されており、Perl インタプリタと同等の条件で利用/再配布してもよい。
 All right reserved.


参考資料

 Math::BigInt


【訳注と解説】

  1. 著者はずーーーーーっと Simple Number と言っているのだけれど、公開鍵暗号系で使うとか、3 とか 7 とかはテストにパスしないかも知れないとも言っているのを勘案すると、素数(primary number)のことを指していると考えないとつじつまが合わない。んなわけで、ここでは「素数」と訳す。
Toolbox Logo
Updated : 2006/07/11