miracl使用手册.docx
《miracl使用手册.docx》由会员分享,可在线阅读,更多相关《miracl使用手册.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、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 是当前使用比较广泛的基于公钥加密算法保
2、护实现的大数库之一,据说要使用该库用于商业软件,需要交纳一笔昂贵的授权费1000$。二 MIRACL 常用函数调用手册声明:此处只列出和大数相关的简洁运算函数,以及产生大数随机数的函数调用手册, 具体请查看 manual.doc 文档。不当之处,请大家批判指正!函数原型: void absol(big x, big y);功能说明: 取 x 确实定值,y=|x|函数原型: void add(big x, big y, big z);功能说明: 两个大数相加,z=x+yExample: add(x,x,x); / This doubles the value of x.函数原型: void bi
3、gbits(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 xcinstr(x,”AF12398065BFE4C96DB723A”);函数原型: int compare(big
4、 x, big y);功能说明: 比较两个大数的大小返回值: xy 时返回+1, x=y 时返回 0, xy 时返回-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.函
5、数原型: 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) ;功能说明: 返回两个整数的最大公约数函数原型: voi
6、d incr(big x, int n, big z);功能说明: 将一个大数加上一个整数, z=x+nExample: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;功能
7、说明: 去除 MIRACL 系统,释放全部内部变量函数原型: void multiply (big x, big y, big z);功能说明: 两个大数相乘,z=x.y函数原型: void negify(big x, big y);功能说明: 大数取负号,y=-x.函数原型: int numdig(big x);功能说明: 返回大数 x 中数字的个数函数原型: void premult(big x, int n, big z);功能说明: 一个大数乘以一个整数,z=n.x函数原型: int subdiv(big x, int n, big z);功能说明: 一个大数除以一个整数,z=x/n.
8、返回值: 余数函数原型: BOOL subdivisible (big x, int n)功能说明: 测试 n 能否整除 x返回值: x 除以 n 余数为 0,返回 TRUE,否则返回FALSE函数原型: void bigdig(int n, int b, big x);功能说明: 产生一个指定长度的进制的随机数,该函数使用内置的随机数发生器,初始化种子调用 irand 函数Example: bigdig(100,10,x); /产生一个 100 位的 10 进制随机数函数原型: void bigrand(big w, big x);功能说明: 使用内置的随机数发生器,产生一个小于 w 的大数
9、随机数,xIOBASE=10;cotnum(x,stdout);/x = x - 1/使用 10 进制/输出到屏幕This calculates and prints out the largest known prime number (on a true 32-bit computer with lots of memory!)函数原型:void expint(int b, int n, big x);功能说明: 计算 b 的n 次方的大数函数原型: void fft_mult (big x, big y, big z);功能说明: 使用 Fast Fourier 算法计算两个大数乘积,z
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- miracl 使用手册
限制150内