é¦å
, æ¾åºä¸ä¸ªæ°, p, q, r,
å
¶ä¸ p, q æ¯ä¸¤ä¸ªç¸å¼çè´¨æ°, r æ¯ä¸ (p-1)(q-1) äºè´¨çæ°
p, q, r è¿ä¸ä¸ªæ°ä¾¿æ¯ private key
æ¥è, æ¾åº m, ä½¿å¾ rm == 1 mod (p-1)(q-1
è¿ä¸ª m ä¸å®åå¨, å 为 r ä¸ (p-1)(q-1) äºè´¨, ç¨è¾è½¬ç¸é¤æ³å°±å¯ä»¥å¾å°äº
åæ¥, è®¡ç® n = pq
m, n è¿ä¸¤ä¸ªæ°ä¾¿æ¯ public key
ç¼ç è¿ç¨æ¯, è¥èµæ为 a, å°å
¶çææ¯ä¸ä¸ªå¤§æ´æ°, å设 a < n
å¦æ a >= n çè¯, å°±å° a 表æ s è¿ä½ (s <= n, é常å s = 2^t),
åæ¯ä¸ä½æ°åå°æ¼ n, ç¶å¾å段ç¼ç
æ¥ä¸æ¥, è®¡ç® b == a^m mod n, (0 <= b < n),
b å°±æ¯ç¼ç å¾çèµæ
解ç çè¿ç¨æ¯, è®¡ç® c == b^r mod pq (0 <= c < pq),
æ¼æ¯ä¹, 解ç å®æ¯.çä¼ä¼è¯æ c å a å
¶å®æ¯ç¸çç :)
å¦æ第ä¸è
è¿è¡çªå¬æ¶, ä»ä¼å¾å°å 个æ°: m, n(=pq), b
ä»å¦æè¦è§£ç çè¯, å¿
é¡»æ³åæ³å¾å° ræ以, ä»å¿
é¡»å
对 n ä½è´¨å æ°å解.
è¦é²æ¢ä»å解, æææçæ¹æ³æ¯æ¾ä¸¤ä¸ªé常çå¤§è´¨æ° p, q,
使第ä¸è
ä½å æ°å解æ¶åçå°é¾
<å®ç>
è¥ p, q æ¯ç¸å¼è´¨æ°, rm == 1 mod (p-1)(q-1),
a æ¯ä»»æä¸ä¸ªæ£æ´æ°, b == a^m mod pq, c == b^r mod pq,
å c == a mod pq
è¯æçè¿ç¨, ä¼ç¨å°è´¹é©¬å°å®ç, åè¿°å¦ä¸:
m æ¯ä»»ä¸è´¨æ°, n æ¯ä»»ä¸æ´æ°, å n^m == n mod m
(æ¢å¦ä¸å¥è¯è¯´, å¦æ n å m äºè´¨, å n^(m-1) == 1 mod m)
è¿ç¨ä¸äºåºæ¬ç群论çç¥è¯, å°±å¯ä»¥å¾å®¹æå°è¯åºè´¹é©¬å°å®çç
<è¯æ>
å 为 rm == 1 mod (p-1)(q-1), æ以 rm = k(p-1)(q-1) + 1, å
¶ä¸ k æ¯æ´æ°
å ä¸ºå¨ modulo ä¸æ¯ preserve ä¹æ³ç
(x == y mod z and u == v mod z => xu == yv mod z),
æ以, c == b^r == (a^m)^r == a^(rm) == a^(k(p-1)(q-1)+1) mod pq
1. å¦æ a ä¸æ¯ p çåæ°, ä¹ä¸æ¯ q çåæ°æ¶,
å a^(p-1) == 1 mod p (费马å°å®ç) => a^(k(p-1)(q-1)) == 1 mod p
a^(q-1) == 1 mod q (费马å°å®ç) => a^(k(p-1)(q-1)) == 1 mod q
æ以 p, q åè½æ´é¤ a^(k(p-1)(q-1)) - 1 => pq | a^(k(p-1)(q-1)) - 1
å³ a^(k(p-1)(q-1)) == 1 mod pq
=> c == a^(k(p-1)(q-1)+1) == a mod pq
2. å¦æ a æ¯ p çåæ°, ä½ä¸æ¯ q çåæ°æ¶,
å a^(q-1) == 1 mod q (费马å°å®ç)
=> a^(k(p-1)(q-1)) == 1 mod q
=> c == a^(k(p-1)(q-1)+1) == a mod q
=> q | c - a
å p | a
=> c == a^(k(p-1)(q-1)+1) == 0 mod p
=> p | c - a
æ以, pq | c - a => c == a mod pq
3. å¦æ a æ¯ q çåæ°, ä½ä¸æ¯ p çåæ°æ¶, è¯æåä¸
4. å¦æ a åæ¶æ¯ p å q çåæ°æ¶,
å pq | a
=> c == a^(k(p-1)(q-1)+1) == 0 mod pq
=> pq | c - a
=> c == a mod pq
Q.E.D.
è¿ä¸ªå®ç说æ a ç»è¿ç¼ç 为 b åç»è¿è§£ç 为 c æ¶, a == c mod n (n = pq)
ä½æ们å¨åç¼ç 解ç æ¶, éå¶ 0 <= a < n, 0 <= c < n,
æ以è¿å°±æ¯è¯´ a çæ¼ c, æ以è¿ä¸ªè¿ç¨ç¡®å®è½åå°ç¼ç 解ç çåè½
温馨提示:答案为网友推荐,仅供参考