系数E2=2.66 D2=1.13 D4=3.27的由来

注意:只是个人理解可能有不囸确的地方

RSA是目前用的最广泛的不对称加密算法,即采用公钥、密钥两部分公钥用来加密,私钥用来解密公钥是公开的。

RSA算法的可靠性基于数学难题:对大数做因式分解很难

目前还没有快速算法,以目前计算机的计算能力求解需要很长时间。数越大需要的时间越长RSA算法也越安全。

由于RSA算法加解密运算量大所以通常RSA算法先用来加密一个对称加密算法(比如AES、DES)的密钥,实际数据加密解密过程使用對称加密算法进行

注:欧拉函数、互质、模反元素等概念参考文后文章1和2

1、找到两个比较大的质数p、q

2、计算他们的乘积n,n=p×q

在实际中鼡二进制表示的n的位数即RSA密钥长度,1024位RSA密钥就是说n有1024位。n越大越安全到2010年被分解的最大的数是768位,但密钥越长解密运算量也越大,所以为了平衡目前通常密钥在1024到2048位之间

这个整数需要满足的条件:

在实际情况中e不计算,只选取一个固定的质数通常为质数65537。

4、计算整数dd为e对于φ(n)的模反元素

5、公钥为n、e,私钥为n、d

使用公钥、密钥加解密:

1、使用公钥(n、e)加密:

如果需要加密的整数为m且m<n,那加密后的結果为:

2、使用私钥(n、d)解密:

使用公钥、私钥给信息签名:

将加密、解密过程反过来就可以实现“签名”效果因为使用私钥加密过的信息只有公钥才能解密,所以可以验证信息确实来自私钥的所有人

1、使用钥(n、d)对信息m签名

2、使用公钥(n、e)验证签名

5、获得公钥(3233,17),私钥()

6、将整数m=65加密:

1、对整数m=65签名:

由加解密示例可以看出解密过程的计算量是很大的比如如果直接计算对CPU要求高计算很耗时。实際使用中两个数比现在更大直接运算是不合适的。但(c^d)%n这种运算被称为模幂运算(Modular exponentiation)有一些的优化计算方法,比直接运算占用内存小速度快但运算量仍然不小。

实际应用中通常再计算以下三个数exponent1、exponent2、coexponent并和私钥保存在一起用于优化解密过程,虽然如此解密还是很占用CPU的

由於公钥是公开的,实际中公钥也会保存在私钥中

?比如查看一个由openssl生成的私钥:?

生成1024位rsa私钥,保存为pem格式:

RSA密钥生成速度参考:


· TA获得超过1.3万个赞

所以A?-A的特征徝为 λ?-λ,对应的特征向量为α

对于A的多项式其特征值为对应的特征多项式。

线性代数包括行列式、矩阵、线性方程组、向量空间与线性变换、特征值和特征向量、矩阵的

对角化二次型及应用问题等内容。

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 D/A 的文章

 

随机推荐