二次同余方程求解

#1. X 2 ≡ a ( m o d    p ) 的求解 X^2\equiv a(mod\;p)的求解 X2a(modp)的求解
step1:如果 p ∣ a p|a pa,则解为 x ≡ 0 ( m o d    p ) x\equiv0(mod\;p) x0(modp);否则计算勒让德符号 ( a p ) (\frac{a}{p}) (pa)。如果 ( a p ) = − 1 (\frac{a}{p})=-1 (pa)=1,则说明无解;如果 ( a p ) = 1 (\frac{a}{p})=1 (pa)=1,则说明有解,执行step2。
引理1.1:如果 x 2 ≡ 1 ( m o d    p ) x^2\equiv 1(mod\;p) x21(modp),则 x ≡ ± 1 ( m o d    p ) x\equiv \pm 1(mod\;p) x±1(modp)
推论1.1:如果 x ( 2 n ) ≡ 1 ( m o d    p ) x^{(2^n)}\equiv 1(mod\;p) x(2n)1(modp),其中 n ≥ 2 , n \geq 2, n2 x ≡ ± 1 ( m o d    p ) x\equiv \pm 1(mod\;p) x±1(modp) ∃ m ∈ { 1 , . . . , n − 1 } \exist m\in \{1,...,n-1\} m{1,...,n1},使得 x ( 2 m ) ≡ − 1 ( m o d    p ) x^{(2^m)}\equiv -1(mod\;p) x(2m)1(modp)
Euler定理: ( a p ) ≡ a p − 1 2 ( m o d    p ) (\frac{a}{p})\equiv a^\frac{p-1}{2}(mod\;p) (pa)a2p1(modp)
step2:令 p − 1 = 2 s t , t p-1=2^st,t p1=2st,t是奇数。因为 p p p是奇素数,则 s ≥ 1 s\geq 1 s1。令 A = a t ( m o d    p ) A=a^t(mod\;p) A=at(modp)
(1)如果 A ≡ ± 1 ( m o d    p ) A\equiv \pm1(mod\;p) A±1(modp),解 x ≡ ± a t + 1 2 ( m o d    p ) x\equiv \pm a^{\frac{t+1}{2}}(mod\;p) x±a2t+1(modp);否则执行(2)。
【思路】下面的思路是找到一个模p的二次非剩余b,令 B = b t ( m o d    p ) B=b^t(mod\;p) B=bt(modp),由Euler定理可知 B ( 2 s − 1 ) ≡ − 1 ( m o d    p ) B^{(2^{s-1})}\equiv -1(mod\;p) B(2s1)1(modp)。找到一个偶数L,使得 A B L ≡ 1 ( m o d    p ) AB^L\equiv 1(mod\;p) ABL1(modp),则 a t + 1 B L ≡ a ( m o d    p ) a^{t+1}B^L\equiv a(mod\;p) at+1BLa(modp),解 x ≡ ± a t + 1 2 B L 2 ( m o d    p ) x\equiv \pm a^{\frac{t+1}{2}}B^{\frac{L}{2}}(mod\;p) x±a2t+1B2L(modp)。这只需要找到 L ′ L' L,使得 ( A B L ′ ) 2 = 1 (AB^{L'})^2=1 (ABL)2=1,然后根据引理1.1可知, A B L ′ ≡ 1 ( m o d    p ) AB^{L'}\equiv 1(mod\;p) ABL1(modp) A B L ′ ≡ − 1 ( m o d    p ) AB^{L'}\equiv -1(mod\;p) ABL1(modp),前者令 L = L ′ L=L' L=L,后者令 L = 2 s − 1 + L ′ L=2^{s-1}+L' L=2s1+L
(2)由Euler定理可知 A ( 2 s − 1 ) ≡ 1 ( m o d    p ) A^{(2^{s-1})}\equiv 1(mod\;p) A(2s1)1(modp)。由引理1.1和推论1.1可知, ∃ m 1 ∈ { 1 , . . . , s − 2 } \exist m_1\in \{1,...,s-2\} m1{1,...,s2},使得 A ( 2 m 1 ) ≡ − 1 ( m o d    p ) A^{(2^{m_1})}\equiv -1(mod\;p) A(2m1)1(modp)。有 A ( 2 m 1 ) B ( 2 s − 1 ) ≡ 1 ( m o d    p ) A^{(2^{m_1})}B^{(2^{s-1})}\equiv1(mod\;p) A(2m1)B(2s1)1(modp) ( A B ( 2 s − 1 − m 1 ) ) 2 m 1 ≡ 1 ( m o d    p ) (AB^{(2^{s-1-m_1})})^{2^{m_1}}\equiv1(mod\;p) (AB(2s1m1))2m11(modp)。计算 A B ( 2 s − 1 − m 1 ) ( m o d    p ) AB^{(2^{s-1-{m_1}})}(mod\;p) AB(2s1m1)(modp),如果等于 ± 1 \pm1 ±1,则符合要求。否则一定 ∃ m 2 ∈ { 1 , . . . , m 1 − 1 } \exist m_2\in \{1,...,m_1-1\} m2{1,...,m11},使得 ( A B ( 2 s − 1 − m 1 ) ) 2 m 2 ≡ − 1 ( m o d    p ) (AB^{(2^{s-1-m_1})})^{2^{m_2}}\equiv-1(mod\;p) (AB(2s1m1))2m21(modp),则 ( A B ( 2 s − 1 − m 1 ) ) 2 m 2 B ( 2 s − 1 ) ≡ 1 ( m o d    p ) (AB^{(2^{s-1-m_1})})^{2^{m_2}}B^{(2^{s-1})}\equiv1(mod\;p) (AB(2s1m1))2m2B(2s1)1(modp),即 ( A B ( 2 s − 1 − m 1 + 2 s − 1 − m 2 ) ) 2 m 2 ≡ 1 ( m o d    p ) (AB^{(2^{s-1-m_1}+2^{s-1-{m_2}})})^{2^{m_2}}\equiv1(mod\;p) (AB(2s1m1+2s1m2))2m21(modp),计算 A B ( 2 s − 1 − m 1 + 2 s − 1 − m 2 ) ( m o d    p ) AB^{(2^{s-1-m_1}+2^{s-1-{m_2}})}(mod\;p) AB(2s1m1+2s1m2)(modp),重复 A B ( 2 s − 1 − m 1 ) ( m o d    p ) AB^{(2^{s-1-{m_1}})}(mod\;p) AB(2s1m1)(modp)的讨论方式。以此类推, s − 1 > m 1 > m 2 > . . . ≥ 1 s-1>m_1>m_2>...\geq 1 s1>m1>m2>...1,因此一定存在 m i = 1 m_i=1 mi=1,此时 ( A B ( 2 s − 1 − m 1 + 2 s − 1 − m 2 + . . . + 2 s − 1 − m i − 1 + 2 s − 2 ) ) 2 ≡ 1 ( m o d    p ) (AB^{(2^{s-1-m_1}+2^{s-1-{m_2}}+...+2^{s-1-{m_{i-1}}}+2^{s-2})})^{2}\equiv1(mod\;p) (AB(2s1m1+2s1m2+...+2s1mi1+2s2))21(modp),符合条件,即 L ′ = 2 s − 1 − m 1 + 2 s − 1 − m 2 + . . . + 2 s − 1 − m i − 1 + 2 s − 2 L'=2^{s-1-m_1}+2^{s-1-{m_2}}+...+2^{s-1-{m_{i-1}}}+2^{s-2} L=2s1m1+2s1m2+...+2s1mi1+2s2
【复杂度分析】在二次非剩余b已知的情况下,上述算法复杂度显然是确定多项式时间。然而"找到一个奇素数的二次非剩余"这个问题目前没有确定性多项式时间算法。

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想花终开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值