- 在线时间
- 7 小时
- 最后登录
- 2024-8-19
- 注册时间
- 2023-11-2
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 58 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 23
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 12
- 主题
- 6
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   18.95% TA的每日心情 | 郁闷 2023-12-11 09:00 |
|---|
签到天数: 7 天 [LV.3]偶尔看看II
 |
二次剩余值的关联计算(上)
( q! Q/ Q2 v5 ^% U" h6 H, x
6 t0 S$ z2 n& u; o 一、 二次剩余中\frac{1}{2} 相关值的计算: j% J9 ^! C3 ?) S* _# H
对于完全平方公式:
! Y. F; T# L; P. @( V5 d I- p& f; v (1/2 -m)^2 = 1/4 -m+m^2 = 1/4 +m(m-1) (m≥1) (1-1)* T; r+ T \) d1 `
! R' |- }. b+ j6 I/ T; Y; r8 o* V3 q
在n为奇数时, 上式的同余可以分为:
2 V+ B. u# u0 w3 P- Q ① 当n=4k-1时,对(1-1)求同余得:
9 F; Z! s) O* q$ x+ c9 o V$ m) b0 t (1/2-m)^2 ≡ (2k-m)^2 ≡ k+m(m-1) (mod n) (1-2)
0 q# V- O' d: a! r ② 当n=4k+1时, 对(1-1)求同余得: / ^( Z: S. h! w7 l" b
(1/2 -m)^2 ≡ (2k+1-m)^2 ≡ -k+m(m-1) ≡ n-k+m(m-1) (mod n) (1-3)
$ J1 b8 g* @9 \8 \0 H& i, q" f0 _ u" U2 @. j& K1 ~1 Q
为以后叙述方便,我们对 1/2-1 1/2-2 ... 1/2-m (m >=1) 这类数称为二次剩余的后序序列, 即1/2 减小的方向的数列.0 k( [6 L- N# g6 B
& r" h1 l0 v' f! @; j 二次剩余后序序列的二次剩余值有个特点, 与k(k>0)值相关, 是k值与两个连续整数积的和,与k值同奇同偶。
) _' o9 x y! d" G 如n=299=4*75-1 k=75 2k=150 , 二次剩余后序序列为:
, Q* Z0 {9 p2 u: Z( `8 ~ (150-1)^2 ≡ 75+1*(1-1) ≡ 75 +0 ≡ 75 (mod 299) => 149^2 ≡ 75 (mod 299)
* M5 B/ [2 L1 v5 z (150-2)^2 ≡ 75+2*(2-1) ≡ 75 +2 ≡ 77 (mod 299) => 148^2 ≡ 77 (mod 299) " n) _. Z+ T( T% ^9 R
(150-3)^2 ≡ 75+3*(3-1) ≡ 75 +6 ≡ 81 (mod 299) => 147^2 ≡ 81 (mod 299) - h- ^) a# ~: }4 [
% L" J( U' p0 J2 p& J |) C# u .
- |' Y& b/ C1 y# n2 Y$ h/ ] .
% }: }% s r: q! y- t 根据后序序列,可以得到一个分解整数的方法:
8 L+ z* S2 g4 \5 o6 { 设n为奇合数, 如果 c^2-k=m(m-1) m>0 => (2k-m)^2 ≡ c^2 (mod n) , 或者
Z+ `4 L J( j; E c^2-k=m(m-1) => 4c^2-4k+1=4m(m-1)+1 => (2c)^2 ≡ (2m-1)^2 (mod n) ' |, P/ w! M9 C8 l% Q+ h- e' o/ l
上述等式,由费马分解即可得到n的因子, 不过效率较低.2 X2 b. A: I. C# ?1 [" |! Y
例1: n=299-4*75-1 , k=75, U3 _7 x& M0 G* S! _
根据后序序列,大于75且与75同奇同偶的完全平方:9^2-81
) o" H( |9 [; R 81-75=6=2*3 为连续两个整数积,在后序序列上7 Y0 e# c; A# A+ ^9 i; F7 p
∴ (150-3)^2≡81 (mod 299) => 147^2≡81 (mod 299)
' G! }8 i3 b7 [: i/ W0 ? 或者 (2*9)^2≡(2*2+1)^2 (mod 299) => 18^2≡5^2(mod 299)
; D# p2 o2 z4 B! L' n
+ |) u* f, c% f3 {/ ?3 ` 二、连续两个整数积的分解方法, A9 f5 ]5 `- }3 K. i/ E2 t' O, z
1、分解方法介绍
! W3 C/ z o# T: s6 s% O* T 例2: n=299=4*75-1
/ Y. A3 }. K( V* c/ i; T 25^2 ≡ 27 (mod 299) =>
+ U% T i/ B. q3 t' i! W 25^2 ≡ 25+2 (mod 299) =>
G/ n3 v. I' d& y 25^2-25-2 ≡ 0 (mod 299) => * Y3 @1 j9 N) A5 O5 J
(25-2)(25+1) ≡ 0 (mod 299) => , k2 d7 Y* L/ Y9 e
23*26 ≡ 0 (mod 299)
$ m0 P/ S$ [& \& `0 c; Q! n# V (23,299)=23 (26,299)=13 299=13*236 _7 B! Q$ M1 T) ^. l6 e: R# s
6 e# L& T9 C/ E
分解方法: 设n为奇合数, a^2 ≡ b (mod n) , 如果 b=a+i(i+1) (i ≥ 0 ) , 则可得到:2 l) E8 U1 Y! o& P
a^2 ≡ b (mod n) => 9 p1 E# T/ _) d$ _, B0 t
a^2-b-i(i+1) ≡ 0 (mod n) => ) @4 _6 c2 ~3 n X/ u: D+ X" g
(a-(i+1))(a+i) ≡ 0 (mod n) ! B) @& @# L( L: ?
(a-(i+1),n)>1 (a+i , n)>1 即可分解n1 b! C" Z; `0 {% _7 Q4 x G
2 U) T0 y& q+ M9 j5 y4 e( d/ t/ Y 2、分解方法的另一个解释 2 u2 G ?$ J2 I, `7 S& I
设n为奇数, a^2 ≡ b(mod n), 如果m=a, 则由(1-1)公式得: 5 ~* n% U/ i* o- D7 v
(1/2 -a)^2 ≡ 1/4 +a^2-a (mod n) =>
+ v( @! X- k1 _" K0 Z1 J# I (1/2 -a)^2 ≡ 1/4 +b-a (mod n) (2-1)
" @7 r2 D; v# ?2 U( A' t3 ^
3 P* K1 S& E3 u5 H# Z, w; t" g ① n=4k-1 , 2-1式得:
! z% R* }. W4 a( u- c% @: u8 Y( U (2k-a)^2 ≡ k+b-a(mod n) (2-2)
' L9 M0 W7 x7 x* s D0 } ① n=4k+1 , 2-1式得:
8 c* R9 T: r# w1 k r3 ?+ ?7 V (2k+1-a)^2 ≡ n-k+b-a (mod n) (2-3)1 a# e; A. h* M: L
1 W! B7 s+ i" v) f$ p 从(2-1(式, 可知二次剩余的计算, 在[1,1/4]范围内, 计算出[1,n-1]的二次剩余值. * I4 C* N! e; O, l
在例2中, 按(2-2)式的计算, 可得:
" e9 G( B! O1 J! @3 `0 ? (150-25)^2 ≡ 75+27-25 (mod 299) => 125^2 ≡ 77 (mod 299) 6 ]: V& F/ A |( ?0 d) C
所以, a^2 ≡ b (mod n) ,如果b=a+i(i+1) ,其相对1/2的剩余值在后序序列上.0 J8 o H. E" m0 ~3 w' i, r. ~7 y
$ C: Z' I" T' H1 Q' [# l 三、1/j (j >=3)的计算方法
# }" a" {+ ?, W6 G: m/ ] 上面的是计算 1/2, 即j=2, 如果j>2时, 有如下的1/j计算方法:. g* U$ L3 H8 V( o' F" ?$ H
(1/j ± ij)^2 = (ij)^2 ± 2i + (1/j)^2 (i >= 1 ) (j ≥3) (3-1)* d" e' S" z& U! b
& @: e9 ~8 b) Z; S1 E& |: t
而对于\frac{1}{j}相邻, 有两种计算, 0 X h% z: p. U& A( W( b
1) 1/j 1+1/j 2+1/j ... t+1/j (t<j) . @8 H2 y1 x( l/ Q5 ?( t
2) t-1/j ... 1-1/j 1/j 1+1/j ... t+1/j (t < j/2) $ J' Y7 m) i6 S- B/ s
t+1/j= (1+tj)/j = m/j , m=1+tj6 ]* L0 @8 x' X: g4 a
1 v$ P" d! @3 X/ V6 s2 C
按m/j , (3-1)式变成: $ b! z( j* E9 p+ R5 _" g. t
(m/j± ij )^2 = (ij)^2 ± 2mi + (m/j )^2 (i≥ 1 ) (j ≥ 3) (3-2)# j7 L4 \6 @/ s$ R* r! g& _, T' q
/ Q. e: u/ K8 |$ X5 L1 `3 k 例3: n=299 \frac{1}{3} ≡ 100 (mod 299) 100^2 ≡ 133 (mod 299)
/ l, P3 v+ B0 S, _* D0 P (100-3)^2 ≡ 3^2-2+133 (mod 299) => 97^2 ≡ 140 (mod 299)
) r5 e( @" b+ d0 U% k( t (100+3)^2 ≡ 3^2+2+133 (mod 299) => 103^2 ≡ 144 (mod 299)
+ j, P: B% x6 e: g# @2 q$ J 1+1/3=4/3 ≡ 1+100=101 (mod 299) 101^2 ≡ 35 (mod 299)$ }: d9 u& W3 Y9 t. F
(101-3)^2 ≡ 3^2-2*4+35 (mod 299) => 98^2 ≡ 36 (mod 299) # v$ M7 p# U! h9 B7 C# w
(101+3)^2 ≡ 3^2+2*4+35 (mod 299) => 104^2 ≡ 52 (mod 299)
6 r) a: c, s9 K v { 1-1/3=-2/3 ≡ 1-100=-99 (mod 299) 99^2 ≡ 233 (mod 299) 7 b- E: }7 m% B- T
(99-3)^2 ≡ 3^2-2*(-2)+233 (mod 299) => 96^2 ≡ 246 (mod 299) & I0 K, h0 ?) t0 N! h A7 P
(101+3)^2 ≡ 3^2+2*(-2)+233 (mod 299) => 102^2 ≡ 238 (mod 299) , J/ m8 u; s: s% ]; O3 @& ?7 A/ y
按2+1/3也能得到相同结果,这里不在验证.
8 G" O' i! j, S
# ?1 K" Y& [6 E4 J+ |0 Z 当然如果j=2s, 即为偶数, 可以计算一半的值, (3-2)式得 :
" f) i4 d( ~* U (m/j ± i*s)^2=(is)^2±mi+(m/j)^2 (i ≥ 1) (j ≥ 3) (3-3)
0 ^0 o2 n/ ~3 C: x4 o7 i% _, R1 X" ~ 更一般的公式: 当为 g/j g <j/2 , (g, j)=1, 这里就不再给出.
1 d; V) }" I+ p2 ^5 Q! K
% ]8 b Y! C' [ |
zan
|