首先明确一点,公钥和私钥是成对出现的。一个负责加密,另一个负责解密。公开的就是公钥,自己留着的就是私钥。所以不管加密还是解密密钥都是可以是公钥或者私钥的。
所以如果别人发东西给我,我就需要把加密密钥给别人,解密密钥自己藏着,这样就是公钥加密,私钥解密。
如果我想让别人确认我的身份,我就需要把解密密钥给别人,加密密钥自己留着,给自己加密,别人获得密文后用我的解密密钥才可以解密。所以这里就是公钥负责解密,私钥负责加密。
例如服务器证书,一个证书中通常包含很多字段,其中包括:
浏览器收到证书时会对签名颁发机构进行检查。如果这个机构是个很有权威的公共签名机构,浏览器可能已经知道其公开密钥了(浏览器会预先安装很多签名颁发机构的证书),然后用公钥解密,获得相关信息,例如获得证书里面的Web站点的名称和主机名,看看与当前浏览器的地址栏中的地址是否匹配,不匹配的话,浏览器就会给出警告(你可能看到过),提示当前证书是颁给xxx域名的,不是给当前域名的,让你注意。
c值的是算出来是正确的,但是M值设置是错误的,在RSA算法中m值不能大于n值,在该算法中是模运算,求出的明密文必然小于n,因此明文不能大于n
C=M^e mod N; M=C^e mod N;
该命令生成一个模长 2048 位,名字为 rsa_private_keypem 、 PKCS1 格式的 RSA 私钥文件
genrsa :指定生成算法使用 RSA
-out :后面参数是生成的私钥的文件名
2048 :生成私钥的模长,单位字节(bits)
根据生成的私钥 rsa_private_keypem 文件,生成公钥 rsa_public_keypem 文件
生成名字为 rsa_pkcs8_private_keypem 的私钥文件
Java 和 Android 用到的密钥:
公钥: rsa_public_keypem
私钥: rsa_pkcs8_private_keypem
终端会提示输入国家、省市、所在地、组织、组织单位、常用名称、邮箱地址等信息,按要求填写(可以随便填写), 输入完对应信息后会提示输入一个密码 :
最终会生成 rsacertcsr 文件
用最开始生成的私钥 rsa_private_keypem 和 rsacertcsr 证书请求文件生成一个数字证书 rsacertcrt
使用 x509 工具自建CA。由于 x509 无法建立证书请求文件,所以只能使用 openssl req 来生成请求文件,然后使用 x509 来自签署, 也可以用来签署他人的证书请求,即为他人颁发证书。
知识点 :
终端会提示设置密码,该密码是 p12 私钥的密码(用 private_keyp12 私钥解密时, 要用到该密码, 需要记录下 ), 会提示再次输入检验刚才输入的密码
RSA的公钥、私钥
采用单钥 密码系统 的加密方法,同一个 密钥 可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单 密钥加密 。
与对称加密 算法 不同, 非对称加密算法 需要两个 密钥 : 公开密钥 (publickey)和私有密钥(privatekey)。 公开密钥 与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的 密钥 ,所以这种算法叫作 非对称加密算法 。
一、举个例子
1、发消息
用对方的公钥给对方发消息
2、发公告
发公告的时候,用自己的私钥形成签名!
二、加密和签名
RSA的公钥、私钥是互相对应的,RSA会生成两个密钥,你可以把任何一个用于公钥,然后另一个就是你必须保护好的私钥了。
RSA的公钥、私钥都可以加密,也都可以解密。
其中:
用公钥加密需要私钥解密,称为“加密”。由于私钥是不公开的,确保了内容的保密,没有私钥无法获得内容;
用私钥加密需要公钥解密,称为“签名”。由于公钥是公开的,任何人都可以解密内容,但只能用发布者的公钥解密,验证了内容是该发布者发出的。
所以:
如果用于加密解密,那就是用公钥加密私钥解密(仅你可读但别人不可读,任何人都可写)
如果用于证书验证,那就是用私钥加密公钥解密(仅你可写但别人不可写,任何人都可读)
三、认证过程
标签: >
这么小的RSA参数,直接用PARI计算b^(-1) (mod 3599):
gp> (1/31)%3599
%1 = 1161
故私钥(n,a) = (3599, 1161)
这么小的数,分解它也很快就出来了:
gp > factor(3599)
%2 =
[59 1]
[61 1]
以上就是关于RSA怎样设置公钥和私钥全部的内容,包括:RSA怎样设置公钥和私钥、RSA PKCS#1在java中怎么实现、RSA 公钥和私钥等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)