NTL密码算法开源库——大整数ZZ类(一)

2021SC@SDUSC

本章综述

  大整数ZZ类主要实现了任意长度大整数表示、最大公因数、Jacobi符号和素性检验。笔者将通过逐个分析ZZ.cpp源代码中函数的形式来一步步向读者展示NTL是如何实现上述功能的。

计算最大公因数(gcd)

(1)数学基础:(广义)欧几里得除法

知识储备(定理,公立,公式)

·如果 b|a ,则(a,b) = b;

·如果a,b为两整数,则(a,b) = (b,a)

·如果 p为素数,a为整数,且p  a,则a和p互素

   证明:设(a,p) = d ,则有d|p,且d|a 。因为p是素数,所以d = 1或者d = p

        对于d = p ,和p  a矛盾,所以d = 1,即,(a,p) = 1.结论成立

·设b为任意正整数,(0,b) = b

·设a,b,c≠0且为整数。若c|a,c|b,则c|(sa+tb)。(若c|a,c|b,则c整除a,b的任意线性组合)

  证明:s*a+t*b  = s*θ*c+t*β*c = c*(s* θ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值