1 / 14
文档名称:

miracl使用手册.doc

格式:doc   大小:153KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

miracl使用手册.doc

上传人:yzhluyin9 2017/2/24 文件大小:153 KB

下载得到文件列表

miracl使用手册.doc

相关文档

文档介绍

文档介绍: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 常用函数调用手册声明: 此处只列出和大数相关的简单运算函数, 以及产生大数随机数的函数调用手册, 具体请查看 文档。不当之处,请大家批评指正! 函数原型: 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); 功能说明: 将大数字符串转换成大数返回值: 输入字符数的个数 Example: mip->IOBASE=16; // input large hex number into big x cinstr(x, ” AF12398065BFE4C96DB723A ”); 函数原型: pare ( big x, big y); 功能说明: 比较两个大数的大小返回值: x>y 时返回+1, x=y 时返回 0, x<y 时返回-1 函数原型: void convert ( int n, big x); 功能说明: 将一个整数 n 转换成一个大数 x 函数原型: void copy ( big x, big y); 功能说明: 将一个大数赋值给另一个大数, y=x 函数原型: int cotstr ( big x, char * s); 功能说明: 将一个大数根据其进制转换成一个字符串返回值: 字符串长度函数原型: void decr ( big x, int n, big z); 功能说明: 将一个大数减去一个整数, z=x-n. 函数原型: void divide ( big x, big y, big z); 功能说明: 两个大数相除, z=x/y; x=x mod y ,当变量 y和z 相同时, x 为余数,商不返回(即 y 的值不变) ;当 x和z 相同时, x 为商,余数不返回。 Example: divide(x,y,y); //x 为余数, y 值不变函数原型: BOOL divisible ( big x, big y) 功能说明: 测试 x 能否整除 y 返回值:y除x 余数为 0 ,返回 TRUE ,否则返回 FALSE 函数原型: int igcd( int x, int y); 功能说明: 返回两个整数的最大公约数函数原型: void incr ( big x, int n, big z); 功能说明: 将一个大数加上一个整数, z=x +n Example: incr(x,2,x); /* This increments x by 2. */ 函数原型: void mirkill ( big x); 功能说明: 释放内存大数所占的内存函数原型: miracl * mirsys ( int nd, int nb) ; 功能说明: 初始化 MIRACL 系统,该函数必须在调用 MIRACL 库函数之前先执行 Example: miracl *mip=mirsys(500,10); // 初始化 500 位的 10 进行制数函数原型: void mirexit (); 功能说明: 清除 MIRACL 系统,释放所有内部变量函数原型: void multiply ( big x, big y, big z); 功能说明: 两个大数相乘, z=