OpenSSL密码库算法笔记——第1.1.2章 带符号的加减法

带符号的加减法就是在绝对值加减法的基础上考虑a、b的符号。具体说来就是,带符号的加法的执行规则是:

(  a)+(  b) <=>  a+b; (-a)+(-b)    <=> -(a+b);

(  a)+(-b)        <=>  a-b; (-a)+(  b)    <=>     b-a ;

───────────────────────────────────────

int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)

功能:    大数加法

输入:    a,b

输出:    r=a+b

返回:    1【正常】or 0【出错】

出处:    bn_add.c

───────────────────────────────────────

带符号的减法既需要象带符号的加法那样考虑a、b的符号,又需要比较 |a| 和 |b| 的大小关系。比较 |a| 和 |b| 的大小可以利用int BN_ucmp(const BIGNUM *a, const BIGNUM *b) 函数实现,函数返回值为正数(|a|大)或0(相等)或负数(|b|大),详情参见§0.2.3

───────────────────────────────────────

int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)

功能:    大数减法

输入:    a,b

输出:    r=a-b

返回:    1【正常】or 0【出错】

出处:    bn_add.c

───────────────────────────────────────

猜你喜欢

转载自blog.csdn.net/samsho2/article/details/85837674