模k乘法运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模k乘法运算
模k乘法运算
1、概念
模k乘法是在模k环上的运算,它是一种数论(number theory)的运算,用于计算大数幂模k,k是一个大质数,称为模数。
模k乘法可以用来计算大数幂的模 ,可以节省时间,从而让我们可以计算更大数幂的模。
2、算法
(1) 算法的步骤
算法的步骤如下:
步骤1:给定能被k整除的正整数a和b,以及质数k。
步骤2:令 a2=a mod k,b2=b mod k。
步骤3:计算c2=a2b2mod k。
步骤4:计算c=(a-a2)(b-b2)mod k 。
步骤5:最终的结果 c2+c mod k 。
(2) 算法的步骤详解
步骤1:给定能被k整除的正整数a和b,以及质数k。
这一步需要给出要计算的幂模的两个数,以及质数k,它们的值必须能被k整除,否则结果将会出错。
步骤2:令 a2=a mod k,b2=b mod k。
将a/k取余,得到a2,将b/k取余,得到b2,a2和b2是a和b 除以k之后取余得到的结果。
步骤3:计算c2=a2b2mod k。
将a2和b2求乘积,并将结果模k,获得c2,它代表a和b相乘再模k得到的结果。
步骤4:计算c=(a-a2)(b-b2)mod k 。
这一步需要将a-a2和b-b2的乘积模k,获得c,它代表a和b 相减再相乘模k得到的结果。
步骤5:最终的结果 c2+c mod k 。
将c2和c相加模k,得到最终的结果。
3、实例
设a=105,k=37
步骤1:给定能被k整除的正整数a和b,以及质数k=37。
步骤2:令 a2=105 mod 37=9,b2=b mod k=1。
步骤3:计算c2=a2b2mod k=9*1 mod 37=9。
步骤4:计算c=(a-a2)(b-b2)mod k=(105-9)*(1-1) mod 37=96。
步骤5:最终的结果 c2+c mod k=9+96 mod 37=105。