緇欏畾涓涓鏁存暟p錛屼換鎰忎竴涓暣鏁皀錛屼竴瀹氬瓨鍦ㄧ瓑寮?
n = kp + r
鍏朵腑k銆乺鏄暣鏁幫紝涓?0 鈮?r < p錛岀О鍛糼涓簄闄や互p鐨勫晢錛宺涓簄闄や互p鐨勪綑鏁般?/P>
瀵逛簬姝f暣鏁皃鍜屾暣鏁癮,b錛屽畾涔夊涓嬭繍綆楋細
鍙互鍙戠幇,妯榪愮畻鍜屾櫘閫氱殑鍥涘垯榪愮畻鏈夊緢澶氱被浼肩殑瑙勫緥錛屽錛?
瑙勫緥 | 鍏紡 |
---|---|
緇撳悎鐜?/TD> | ((a+b) mod p + c)mod p = (a + (b+c) mod p) mod p ((a*b) mod p * c)mod p = (a * (b*c) mod p) mod p |
浜ゆ崲鐜?/TD> | (a + b) mod p = (b+a) mod p (a 脳 b) mod p = (b 脳 a) mod p |
鍒嗛厤鐜?/TD> | ((a +b)mod p 脳 c) mod p = ((a 脳 c) mod p + (b 脳 c) mod p) mod p |
綆鍗曠殑璇佹槑鍏朵腑絎竴涓叕寮忥細
((a+b) mod p + c) mod p = (a + (b+c) mod p) mod p 鍋囪 a = k1 p + r1 b = k2 p + r2 c = k3 p + r3 a+b = (k1 + k2) p + (r1 + r2) 濡傛灉(r1 + r2) >= p 錛屽垯 (a+b) mod p = (r1 + r2) -p 鍚﹀垯 (a+b) mod p = (r1 + r2) 鍐嶅拰c榪涜妯鍜岃繍綆楋紝寰楀埌 緇撴灉涓? r1 錛? r2 + r3鐨勭畻鏈拰闄や互p鐨勪綑鏁般? 瀵瑰彸渚ц繘琛岃綆楀彲浠ュ緱鍒板悓鏍風殑緇撴灉錛屽緱璇併?
濡傛灉涓や釜鏁癮銆乥婊¤凍a mod p = b mod p錛屽垯縐頒粬浠āp鐩哥瓑錛岃鍋?
a 鈮?b mod p 鍙互璇佹槑錛屾鏃禷銆乥婊¤凍 a = kp + b錛屽叾涓璳鏄煇涓暣鏁般?
瀵逛簬妯鐩哥瓑鍜屾āp涔樻硶鏉ヨ錛屾湁涓涓拰鍥涘垯榪愮畻涓駿鐒朵笉鍚屽緱瑙勫垯銆傚湪鍥涘垯榪愮畻涓紝濡傛灉c鏄竴涓潪0鏁存暟錛屽垯
ac = bc 鍙互寰楀嚭 a =b
浣嗘槸鍦ㄦāp榪愮畻涓紝榪欑鍏崇郴涓嶅瓨鍦紝渚嬪錛?
(3 x 3) mod 9 = 0 (6 x 3) mod 9 = 0 浣嗘槸 3 mod 9 = 3 6 mod 9 =6
瀹氱悊錛堟秷鍘誨緥錛夛細濡傛灉gcd(c,p) 錛?1 錛屽垯 ac 鈮?bc mod p 鍙互鎺ㄥ嚭 a 鈮?b mod p
璇佹槑錛? 鍥犱負ac 鈮?bc mod p 鎵浠c = bc + kp錛屼篃灝辨槸c(a-b) = kp 鍥犱負c鍜宲娌℃湁闄?浠ュ鐨勫叕鍥犲瓙錛屽洜姝や笂寮忚鎴愮珛蹇呴』婊¤凍涓嬮潰涓や釜鏉′歡涓殑涓涓? 1) c鑳芥暣闄 2) a = b 濡傛灉2涓嶆垚绔嬶紝鍒檆|kp 鍥犱負c鍜宲娌℃湁鍏洜瀛愶紝鍥犳鏄劇劧c|k錛屾墍浠 = ck' 鍥犳c(a-b)kp鍙互琛ㄧず涓篶(a-b) =ck'p 鍥犳a-b = k'p錛屽緱鍑篴 鈮?b mod p 濡傛灉a = b錛屽垯a 鈮?b mod p 鏄劇劧鎴愮珛 寰楄瘉
嬈ф媺鍑芥暟鏄暟璁轟腑寰堥噸瑕佺殑涓涓嚱鏁幫紝嬈ф媺鍑芥暟鏄寚錛氬浜庝竴涓鏁存暟n錛屽皬浜巒涓斿拰n浜掕川鐨勬鏁存暟鐨勪釜鏁幫紝璁板仛錛毾?n)錛屽叾涓?1)琚畾涔変負1錛屼絾鏄茍娌℃湁浠諱綍瀹炶川鐨勬剰涔夈?/P>
瀹氫箟灝忎簬n涓斿拰n浜掕川鐨勬暟鏋勬垚鐨勯泦鍚堜負Zn錛岀О鍛艱繖涓泦鍚堜負n鐨勫畬鍏ㄤ綑鏁伴泦鍚堛?/P>
鏄劇劧錛屽浜庣礌鏁皃錛屜?p)= p -1.瀵逛簬涓や釜绱犳暟p銆乹錛屼粬浠殑涔樼Нn = pq 婊¤凍蠁(n) =(p-1)(q-1)
璇佹槑錛氬浜庤川鏁皃,q錛屾弧瓚誠?n) =(p-1)(q-1) 鑰冭檻n鐨勫畬鍏ㄤ綑鏁伴泦Zn = { 1,2,....,pq -1} 鑰屼笉鍜宯浜掕川鐨勯泦鍚堢敱涓嬮潰涓変釜闆嗗悎鐨勫茍鏋勬垚錛? 1) 鑳藉琚玴鏁撮櫎鐨勯泦鍚坽p,2p,3p,....,(q-1)p} 鍏辮q-1涓? 2) 鑳藉琚玵鏁撮櫎鐨勯泦鍚坽q,2q,3q,....,(p-1)q} 鍏辮p-1涓? 3) {0} 寰堟樉鐒訛紝1銆?闆嗗悎涓病鏈夊叡鍚岀殑鍏冪礌錛屽洜姝n涓厓绱犱釜鏁?錛?pq - (p-1 + q- 1 + 1) = (p-1)(q-1)
瀵逛簬浜掕川鐨勬暣鏁癮鍜宯錛屾湁a蠁(n) 鈮?1 mod n
璇佹槑錛? 棣栧厛璇佹槑涓嬮潰榪欎釜鍛介錛? 瀵逛簬闆嗗悎Zn={x1,x2,...,x蠁(n)}錛岃冭檻闆嗗悎 S = {ax1 mod n,ax2mod n,...,ax蠁(n)mod n} 鍒橲 = Zn 1) 鐢變簬a,n浜掕川錛寈i涔熶笌n浜掕川錛屽垯axi涔熶竴瀹氫簬p浜掕川錛屽洜姝? 浠繪剰xi錛宎xi mod n 蹇呯劧鏄痁n鐨勪竴涓厓绱? 2) 瀵逛簬Zn涓袱涓厓绱爔i鍜寈j錛屽鏋渪i 鈮?xj 鍒檃xi mod n 鈮?axi mod n錛岃繖涓敱a銆乸浜掕川鍜屾秷鍘誨緥鍙互寰楀嚭銆? 鎵浠ワ紝寰堟槑鏄撅紝S=Zn 鏃㈢劧榪欐牱錛岄偅涔? 錛坅x1 脳 ax2脳...脳ax蠁(n)錛塵od n = 錛坅x1 mod n 脳 ax2mod n 脳 ... 脳 ax蠁(n)mod n錛塵od n = 錛坸1 脳 x2 脳 ... 脳 x蠁(n)錛塵od n 鑰冭檻涓婇潰絳夊紡宸﹁竟鍜屽彸杈? 宸﹁竟絳変簬(a蠁(n) 脳 錛坸1 脳 x2 脳 ... 脳 x蠁(n)錛塵od n) mod n 鍙寵竟絳変簬x1 脳 x2 脳 ... 脳 x蠁(n)錛塵od n 鑰寈1 脳 x2 脳 ... 脳 x蠁(n)錛塵od n鍜宲浜掕川 鏍規嵁娑堝幓寰嬶紝鍙互浠庣瓑寮忎袱杈圭害鍘伙紝灝卞緱鍒幫細 a蠁(n) 鈮?1 mod n鎺ㄨ錛氬浜庝簰璐ㄧ殑鏁癮銆乶錛屾弧瓚砤蠁(n)+1 鈮?a mod n璐歸┈瀹氱悊
a鏄笉鑳借璐ㄦ暟p鏁撮櫎鐨勬鏁存暟錛屽垯鏈塧p-1 鈮?1 mod p
璇佹槑榪欎釜瀹氱悊闈炲父綆鍗曪紝鐢變簬蠁(p) = p-1錛屼唬鍏ユ鎷夊畾鐞嗗嵆鍙瘉鏄庛?/P>
鍚屾牱鏈夋帹璁猴細瀵逛簬涓嶈兘琚川鏁皃鏁撮櫎鐨勬鏁存暟a錛屾湁ap 鈮?a mod p