一个菜鸟提问关于加密算法的一些理论理解问题(100分)

L

loutian

Unregistered / Unconfirmed
GUEST, unregistred user!
在这么多算法中 1、RSA算法    2、DES算法    3、ElGamal算法
    4、DSA算法    5、MD5算法    6、BLOWFISH算法
首先我对 1、RSA算法 就不太清楚其中的原理,我下了一些资料,可看不太明白,望各位
先辈指点 
首先, 找出三个数, 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 其实是相等的 :)

其中的互质是什么意思

 
两个数没有公因数——比如 15,19 51,19 4,21 ...
——这是小学的内容呀...
 
谢谢了,我知道了,忘了
 
顶部