龙空技术网

数论之计算模m的k次根

一览信息 367

前言:

当前咱们对“直线方程求k值公式”都比较关注,咱们都需要分析一些“直线方程求k值公式”的相关文章。那么小编在网上网罗了一些有关“直线方程求k值公式””的相关知识,希望姐妹们能喜欢,你们一起来学习一下吧!

这是一系列关于数论的介绍性文章,目的在于推广数学知识,拓展读者的数学思维。至于为什么用图文而不是视频?图文有三个优越性:一是图文数据量小,节省学习时间;二是有助于个人主动思考;三是文字里的关键字,可以方便读者查阅相关资料。

知道了如何计算幂模m,再来看如何计算模m的k次根。计算模m的k次根,使用了线性方程求解方法,欧拉公式,以及计算幂模m的相关知识。

算法 (计算模m的k次根原理) 设b,k与m是已知整数,满足

gcd(b,m) = 1 与gcd(k,) = 1.

下述步骤给出同余式

的解。

1 - 计算,利用欧拉公式。

2 - 求满足ku - v = 1的正整数解u与v,利用线性方程求解方法。

3 - 用逐次平方法计算,所得值给出解x。

该方法可行的原理如下,需要证明是同余式的解。

.

举个例子,要解同余式.

第一步计算中。将1073分解成素数的乘积后,使用欧拉公式计算,1073 =29·37,所以φ(1073) =φ(29)φ(37) =28 · 36 =1008。

下一步求方程 ku - φ(m)v = 1, 即求方程131u - 1008υ = 1的(正)整数解。解这个线性方程,得解u=731与u=95。

原方程的解为

需要使用逐次平方法计算,得到答案x=905 (mod 1073)。

总结一下,该方法的核心是快速计算的值,如果不能快速计算,该方法很难使用。利用这个弱点,可以用来构造安全的密码体制。

标签: #直线方程求k值公式