我比較熟悉Delphi
http://www.submanifold.be/
這是一個支援Deiphi大數運算的函式庫
運算速度滿快的
在PIII-500 的電腦
產生一組 1024bit 的RSA 金鑰
只要幾分鐘
下載 Gint.zip
uses FGInt.pas 就可以用了
簡單範例如下
uses FGInt;
var
a,b,c:TFGInt;
s:string;
begin
FGInt.Base10StringToFGInt('987654321',a); //把 987654321 存入 a變數
FGInt.Base10StringToFGInt('123456789',b); //把 123456789 存入 a變數
FGInt.FGIntAdd(a,b,c); // c = a + b
FGint.FGIntToBase10String(c,s); //把c 的內容轉為十進制存入字串 s
showmessage(s);
FGInt.FGIntSub(a,b,c); // c = a - b
FGint.FGIntToBase10String(c,s);
showmessage(s);
FGInt.FGIntMul(a,b,c); // c = a * b
FGint.FGIntToBase10String(c,s);
showmessage(s);
FGInt.FGIntDiv(a,b,c); // c = a + b
FGint.FGIntToBase10String(c,s);
showmessage(s);
end;
小笨童 wrote:
因為我要算的是質數的分解
很大的那種,大約200多位數吧!...(恕刪)
200多位
10^200 約等 2^664
如果你能把那麼大的數字做出質數的分解
那會造成密碼界的大震撼哦
而且光是要產生那麼大的質數表
就是一個很大的問題了