给我留言 | 加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
| PHP | ASP | JAVA | .NET | FLASH | AJAX | MYSQL | PGSQL | MSSQL | DB2 | ORACLE | SYBASE | Html/Css | 服务器相关 | IOS |
您当前的位置:首页 > WEb开发 > 服务器相关

3个著名加密算法(MD5、RSA、DES)的解析

时间:2016-12-07 15:28:01  来源:  作者:

首先, 找出三个数, 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, 
使第三者作因数分解时发生困难......... 

<定理> 

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门