RSA参数及RSA用法

RSA算法n,e,d三个参数的意义

 

n为q*p乘机
e为加密质数数值
d为解密质数数值
其中(e*d)%((p-1)*(q-1)) = 1余数为1,其中p和q为2个足够大的素数


RSA的算法涉及三个参数,n、e1、e2。
  其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度
  e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择 e2,要求(e2*e1)mod((p-1)*(q-1))=1。
  (n及e1),(n及e2)就是密钥对。
  RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1 mod n;B=A^e2 mod n;
  e1和e2可以互换使用,即:
  A=B^e2 mod n;B=A^e1 mod n;


d和n也是互素。e和n是公开密钥,d是私人密钥。

RSA加解密的算法完全相同,设A为明文,B为密文,则:

​ A=B^d mod n;

​ B=A^e mod n;

公钥加密体制中,一般用公钥加密,私钥解密

e1和e2可以互换使用,即:

​ A=B^e mod n;

​ B=A^d mod n;

e值

最常用的三个e值:3, 17, 65537(2^16+1).

X.509中建议采用65537[1], PEM中建议采用3[37],PKCS#1建议采用3或65537[1345].


公钥和私钥在一些银行系统、第三方支付系统SDK中经常会遇到,刚接触公钥私钥的朋友们估计很难区分两者的区别。

RSA公钥和私钥是什么?

首先来说,RSA是一种非对称加密算法,它是由三位数学家(Rivest、Shamir、Adleman)设计出来的。非对称加密是相对于对称加密而言的。对称加密算法是指加密解密使用的是同一个秘钥,而非对称加密是由两个密钥(公钥、私钥)来进行加密解密的,由此可见非对称加密安全性更高。

公钥顾名思义就是公开的密钥会发放给多个持有人,而私钥是私有密码往往只有一个持有人。

公私钥特性

公钥与私钥是成对出现的;

私钥文件中包含了公钥数据,所以可以基于私钥导出公钥;

密钥越长,越难破解,所以2048位密钥比1024位密钥要更安全;

公钥和私钥都是密钥,被公开的那个就是公钥,没有被公开的那个就是私钥。

公钥和私钥都可用于加密和解密

公钥和私钥都可以用于加解密操作,用公钥加密的数据只能由对应的私钥解密,反之亦然。虽说两者都可用于加密,但是不同场景使用不同的密钥来加密,规则如下:

1、私钥用于签名、公钥用于验签

签名和加密作用不同,签名并不是为了保密,而是为了保证这个签名是由特定的某个人签名的,而不是被其它人伪造的签名,所以私钥的私有性就适合用在签名用途上。

私钥签名后,只能由对应的公钥解密,公钥又是公开的(很多人可持有),所以这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人做的签名,验证了身份合法性。

2、公钥用于加密、私钥用于解密,这才能起到加密作用

因为公钥是公开的,很多人可以持有公钥。若用私钥加密,那所有持有公钥的人都可以进行解密,这是不安全的!

若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。

RSA算法可以总结为四句话:公钥加密、私钥解密、私钥签名、公钥验签。加密是防止信息泄露,而签名是为了防止信息被篡改。


————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值