精華區beta Math 關於我們 聯絡資訊
(1) 若 a = bq + r , 則 k * a^p mod q = k * r^p mod q , k為常數 . (2) 13 = 1101 ( 二進位) 欲計算1819^13可以以下面的演算法計算 : 令 k = 1819 , a = 1819 從二進位表示法的第二位開始至最後一位做回圈 : { 若為1 , 則 a = a^2 * k ; 若為0 , 則 a = a^2 ; } 則最後得到的a 即為 1819^13 用例子表示的話 , 即 : 1101 1101 1101 1819 -> 1819^2 * 1819 -> (1819^2 * 1819)^2 -> [(1819^2 * 1819)^2]^2*1819 = 1819^13 再利用(1) => 1819^13 mod 2537 = [(1819^2 * 1819)^2]^2*1819 mod 2537 = [(513 * 1819)^2]^2 * 1819 mod 2537 = [(2068)^2]^2 * 1819 mod 2537 = [1779]^2 * 1819 mod 2537 = 1202 * 1819 mod 2537 = 2081 同理 937 = 1110101001 1 1 461^2 * 461 mod 2537 = 1950 * 461 mod 2537 = 852 1 852^2 * 461 mod 2537 = 322 * 461 mod 2537 = 1296 0 1296^2 mod 2537 = 122 1 122^2 * 461 mod 2537 = 2199 * 461 mod 2537 = 1476 0 1476^2 mod 2537 = 1830 1 1830^2 * 461 mod 2537 = 60 * 461 mod 2537 = 2290 0 2290^2 mod 2537 = 121 0 121^2 mod 2537 = 1956 1 1956^2 * 461 mode 2537 = 140 * 461 mod 2537 = 1115 ※ 引述《qpalwosk ( )》之銘言: : 完整題目如下: : http://ppt.cc/sDpl : (94 彰師資工) : 總之.. : 在RSA加密系統中 (公式: C = M^e mod n : M = C^d mod n ) : p = 43, q = 59, n = 43*59 = 2537, e = 13 : 滿足gcd(e, (p-1)(q-1) ) = 1 : 1. 將 1819 加密 : 2. 將 461 解密 : 答案: : 1819^13 mod 2537 = 2081 : 461^937 mod 2537 = 1115 : 請問這這麼大的數字到底怎麼算出答案? : 還是說這題只是要把式子列出來就行了? : thx. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.111.149