📄 bigncal.h
字号:
#include"typedef.h"
void BN_Reset(BNum *pbn);
/*=====================================================================
function: out put the result
======================================================================*/
void BN_Print(BNum *pbn);
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function: get bit length of BNum
input: pbn
output: bitlen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
SWord BN_GetBitlen(BNum *pbn);
/*=============================================
funtion: get the first address of
the large number
==============================================*/
SWord BN_GetAddr(BNum *pbn);
/*==============================================
大整数加赋值
pbnto=bn+bn2
===========================================*/
void BN_AddTo(BNum *pbn, BNum *pbn2, BNum *pbnto);
/********************************************************
大整数相乘
re = bn1*bn2
WordPerBNum = 16
*******************************************************/
void BN_Multiply(BNum *bn1,BNum *bn2,BNum *re);
/*==========================================================================
大整数相减,输入: bn1,bn2
输出:bn_to
==========================================================================*/
BNum *BN_SubCore(BNum *bn1,BNum *bn2,BNum *bn_to); //bn1是一个比bn2的数字;
void BN_Sub(BNum *bn1,BNum *bn2,BNum *bn_to);
/*=====================================================================
移位函数乘以2 左移
=========================================================================*/
void BN_MoveLeft(BNum *pbn);
/*=======================================================================
移位函数除以2 右移
========================================================================*/
void BN_MoveRight(BNum *pbn);
int BN_ComPare(BNum *p1,BNum *p2);
/*==========================================================================
大整数除法,输入: bn1,bn2(bn1>bn2,bn2!=0)
输出:q,r(q为商,r为余数)
==========================================================================*/
void BN_Pass(BNum *p1,BNum *p2);
void BN_Devide(BNum *p1,BNum *p2,BNum *rem,BNum *result);
void BN_Transform(BNum *e,int eb[1024]);
void ModMul(BNum *pb1,BNum *pb2,BNum *N,BNum *bn_to);
void ModPower(BNum *M,BNum *e,BNum *N,BNum *C);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -