ECC代码中调用的大数库函数总结.doc_第1页
ECC代码中调用的大数库函数总结.doc_第2页
ECC代码中调用的大数库函数总结.doc_第3页
ECC代码中调用的大数库函数总结.doc_第4页
ECC代码中调用的大数库函数总结.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. mp_int atypedef structint used,alloc,sign;mp_digit *dp;mp_intmp_digit是无符号整数;dp是存放大整数的地址;used为实际使用的mp_digit单元;sign=0,表示非负数;=1表示负数。2. mp_init函数原型为:int mp_init(mp_int *a)初始化mp_int结构,函数返回MP_OKAY,就可以认为该结构已正确初始化,可以安全的被库中其他函数使用3. mp_init_set_int函数原型:int mp_init_set_int (mp_int * a, unsigned long b);初始化mp_int结构并设置大常量。它接受一个“长”数据类型作为输入,并且总是将其当作一个32位整数。输入一个mp_int类型的和一个“长”整型b,输出a等于b。4.mp_init_set函数原型:int mp_init_set (mp_int * a, mp_digit b);其中b是一个数据位。初始化mp_int结构并设置小常量。例如将mp_int结构设置成一个相对较小的值(1或2等).5. mp_toradix函数调用形式为:int mp_toradix(mp_int *a, char *str, int radix)此算法计算mp_int类型的a的以r为基的表示法,并把数位存在数组temp(char型)中并以字符串形式输出到屏幕上。6. mp_prime_random_ex函数原型:int mp_prime_random_ex(mp_int *a, int t, int size, int flags, ltm_prime_callback cb, void *dat);*dat一般可设置为NULL。求一定位数的素数a为返回值,t为回测次数,通常可为10,size指产生的素数的位数7.mp_expt_d函数原型为:int mp_expt_d(mp_int *a, mp_digit b, mp_int *c)此算法计算a的b次幂,其中b为单数位数字。8. mp_sqr函数原型为:int mp_sqr(mp_int *a, mp_int *b)输入mp_int类型的a,输出b=a2.分配了一个临时mp_int b来保存平方结果。9.mp_sqrtint mp_sqrt(mp_int *arg, mp_int *ret);此算法为开平方根算法。10.mp_mul_d函数原型为:int mp_mul_d(mp_int *a, mp_digit b, mp_int *c)单数位乘法。此算法快速计算mp_int与单数位值的乘积。输入mp_int a和mp_digit b,输出c=ab11.mp_mul函数原型:int mp_mul(mp_int *a, mp_int *b, mp_int *c);计算两个数的有符号乘积。返回结果为目标操作数c=ab。12.mp_add函数原型:int mp_add(mp_int *a, mp_int *b, mp_int *c)输入两个mp_int类型的a和b,输出有符号加法c=a+b。13.mp_sub函数原型:int mp_sub(mp_int *a, mp_int *b, mp_int *c);输入两个mp_int类型的a和b,输出有符号加法c=a-b。14.mp_mod函数原型为:int mp_mod(mp_int *a, mp_int *b, mp_int *c)输入两个mp_int类型的a和b ,输出c=a mod b, 0 = c =2,0aused=1) & (a-value0=0) str0 = 0; str1 = 0; return; unsigned long n, l=0; mp_int x; mp_set(&x, a); while (x.valuex.used-10) mp_div(&x, radix, &x, n); strl = HEX_TABLEn; l+; strl = 0; int ix = 0, iy = l-1; char ch; while (ix 成员选择(指针)对象指针-成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式+自增运算符+变量名/变量名+单目运算符-自减运算符-变量名/变量名-单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符按位取反运算符表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表达式左到右双目运算符*乘表达式*表达式双目运算符%余数(取模)整型表达式/整型表达式双目运算符4+加表达式+表达式左到右双目运算符-减表达式-表达式双目运算符5左移变量右移变量表达式双目运算符6大于表达式表达式左到右双目运算符=大于等于表达式=表达式双目运算符小于表达式表达式双目运算符=小于等于表达式=表达式双目运算符7=等于表达式=表达式左到右双目运算符!=不等于表达式!= 表达式双目运算符8&按位与表达式&表达式左到右双目运算符9按位异或表达式表达式左到右双目运算符10|按位或表达式|表达式左到右双目运算符11&逻辑与表达式&表达式左到右双目运算符12|逻辑或表达式|表达式左到右双目运算符13?:条件运算符表达式1? 表达式2: 表达式3右到左三目运算符14=赋值运算符变量=表达式右到左/=除后赋值变量/=表达式*=乘后赋值变量*=表达式%=取模后赋值变量%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论