RSA 算法简单流程及注意事项

Posted on 2014-03-17 13:55 CrHackOS 阅读(849) 评论(0)  编辑 收藏 引用 所属分类: 技术随笔
(1)选取三个素数:P、Q、E;
(2)计算 N = P * Q,F = (P - 1) * (Q - 1);
(3)求方程 E * x - F * y = 1 最小整数解 D;
(4)(E,N) 为公钥,(D,N) 为私钥;
(5)加密过程为:C = (M ^ E) mod N(C 为密文,M 为明文);
(6)解密过程为:M = (C ^ D) mod N(C、M 不能大于 N);
(7)P、Q 必须是有一定长度的强素数,使得 N 因式分解很难;
(8)P、Q 之间最好相差很大,一般相差个几位;
(9)E 不可取得太小,一般取16位的素数,65537是一个常用数;
(10)Java 下 RSA 和大整数运算的数据存放方式都是大端格式。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理