RSA笔记

学习:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html

1:n = 61X53 = 3233   3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位

2:φ(n) = (p-1)(q-1) = 60X52 = 3120(φ(n)欧拉函数)

3:e = 17;  随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质。实际应用中,常常选择65537

4:d = 2753 ,e对于φ(n)的模反元素,即:ed+1=φ(n)

将n和e封装成公钥,n和d封装成私钥,即:

 模:n

公钥指数:e

私钥指数:d (要想破解d,得知道φ(n),得知道p,q,当n足够大时,有难度)

加密:m为被加密的值(必须<n),c为加密之后的值

me ≡ c (mod n)

cd ≡ m (mod n)

公钥(n,e) 只能加密小于n的整数m,那么如果要加密大于n的整数,该怎么办?有两种解决方法:一种是把长信息分割成若干段短消息,每段分别加密;另一种是先选择一种"对称性加密算法"(比如DES),用这种算法的密钥加密信息,再用RSA公钥加密DES密钥

原文地址:https://www.cnblogs.com/wnpp/p/13193841.html