MIRACL
大数运算库使用手册
游贵荣
一.
MIRACL
简介
MIRACL(Multiprecision Integer and Rational Arithmetic C/c++ Library)
是一套
由
Shamus
Software
Ltd.
所开发的一套关于大数运算函数库,用来设计与大数运算相关的
密码学之应用,
包含
了
RSA
公开密码学、
Diffie-Hellman
密钥交换
(Key
Exchange)
、
AES
、
DSA
数字签名,还包含
了
较新的椭圆曲线密码学
(Elliptic
Curve
Cryptography)
等等。运
算速度快,
并提供源代码。
MIARCL
是当前使用比较广泛的基于公钥加密算法保护实现的大
数库之一,据说要使用该库用于商业软件,需要交纳一笔昂贵的授权费——
1000$
。
二.
MIRACL
常用函数调用手册
声明:
此处只列出和大数相关的简单运算函数,
以及产生大数随机数的函数调用手册,
具体请查看
manual.doc
文档。不当之处,请大家批评指正!
函数原型
: void
absol
(big x, big y);
功能说明
:
取
x
的绝对值,
y=|x|
函数原型
: void
add
(big x, big y, big z);
功能说明
:
两个大数相加,
z=x+y
Example: add(x,x,x); // This doubles the value of x.
函数原型
: void
bigbits
(int n, big x);
功能说明
:
产生一个
n
位的大整数,初始化随机种子由
irand
函数实现
Example: bigbits(100,x); //This generates a 100 bit random number
函数原型
: int
cinstr
(big x, char *s);
功能说明
:
将大数字符串转换成大数
返回值
:
输入字符数的个数