paulwong

公钥 私钥 加密 认证

基于公开密钥的加密过程

     比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:
         Bob将他的公开密钥传送给Alice。
         Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
         Bob用他的私人密钥解密Alice的消息。
       Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

基于公开密钥的认证过程

   身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。

   还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件签名发送给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身份认证的过程如下:
        Alice用她的私人密钥对文件加密,从而对文件签名。
        Alice将签名的文件传送给Bob。
        Bob用Alice的公钥解密文件,从而验证签名。
         Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。
 
根证书
 
       根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。
 
总结 

      根据非对称密码学的原理,每个证书持有人都有一对公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由证书持人自己持有,并且必 须妥善保管和注意保密。 

      数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机 构的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,任何人都可以查询和下载,因此数字证书和公钥一样是 公开的。   

      可以这样说,数字证书就是经过CA认证过的公钥,而私钥一般情况都是由证书持有者在自己本地生成的,由证书持有者自己负责保管。具体使用时,签名操作是发 送方用私钥进行签名,接受方用发送方证书来验证签名;加密操作则是用接受方的证书进行加密,接受方用自己的私钥进行解密。

posted on 2012-07-11 20:38 paulwong 阅读(409) 评论(0)  编辑  收藏 所属分类: J2EE


只有注册用户登录后才能发表评论。


网站导航: