RSA 是非对称加密算法,对称的加密算法,加密和解密都是使用的一套密钥,而非对称使用的是两套密钥。
例如我要传的是18,然后我加密的时候是3*6,然后能我解密的时候,可能是(3*3)*(6/3)=9*2=18 来得到这个18。我加密的时候是一种密钥,解密的时候又是一种密钥。
加密的密钥与解密的密钥不相同:使用私钥加密的内容,只能通过公钥来解密;使用公钥加密的内容,只能通过私钥来解密。
公钥,可以对外给任何人的加密和解密密码,公开的,可以任何人访问。
私钥,私钥是一定要严格保护的,通过私钥可以生成公钥,但是从公钥可以认为是永远无法推导出私钥的。
-------------------------------------------------------------------------------------------------------------------------
1: 基于公开密钥的加密过程
-------------------------------------------------------------------------------------------------------------------------
比如有两个用户CEO和财务,CEO想把一段明文通过双钥加密的技术发送给财务,财务有一对公钥和私钥,那么加密解密的过程如下:
财务将他的公开密钥传送给Alice。(或者CEO从公司的服务器获取公开密钥),
CEO用财务的公开密钥加密她的消息,然后传送给财务,
财务用他的私人密钥解密CEO的消息。
-------------------------------------------------------------------------------------------------------------------------
2:基于公开密钥的认证过程
-------------------------------------------------------------------------------------------------------------------------
身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。
还是CEO和财务这两个用户,CEO想让财务知道自己是真实的CEO,而不是假冒的,因此CEO只要使用私钥公钥密码对文件签名发送 给财务,财务使用CEO的公钥对文件进行解密,如果可以解密成功,则证明财务的私钥是正确的,因而就完成了对财务的身份鉴别。整个身份认证的过程如下:
CEO用她的私人密钥对文件加密,从而对文件签名,
CEO将签名的文件传送给财务,
财务用CEO的公钥解密文件,从而验证签名。
原文链接:http://blog.csdn.net/rodulf/article/details/50689079