rsa加密算法原理
睡衣小哥哥
2024-11-28 20:39:40
最佳回答
rsa算法 :它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:ron rivest, adi shamir 和leonard adleman。但rsa的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。 首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 private key 接著, 找出 m, 使得 rm == 1 mod (p-1)(q-1)..... 注:意思是rm除以(p-1)(q-1)的余数=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), 注:^表示次方,不要理解为c#中的xorb 就是编码后的资料...... 解码的过程是, 计算 c == b^r mod pq (0 <= c < pq), 於是乎, 解码完毕...... c 和 a 其实是相等的 :) 20210311