非对称加密相关基础

最近的项目中要用到数字证书进行加密,所以对此进行一些学习了解。公钥和私钥都是固定长度的二进制比特串(如目前常用的RSA公私钥长度为1024比特),从性质上来讲,他们都可以加解密,只是人们根据使用的方式不同,将他们进行了区分,有些称为私钥,有些称为公钥。

另外,根据公私钥使用方式的不同,它们在数据加密和签名时的管理方式也不一样。

(1)数字签名
一个用户拥有一个数字证书(签名证书),里面包括一对密钥(公钥和私钥),私钥用于签名,公钥用于验证签名。如果私钥被攻击者知道,就可以用你的私钥伪造你的签名,所以私钥的安全性要求较高,不允许进行备份(包括CA中心),私钥丢失时,只能重新生成密钥对,旧的签名可以用备份的公钥进行验证。另外,用户可以自己生成密钥对,在证书注册时提交给CA中心即可。

(2)加解密
一个用户也拥有一个数字证书(加密证书),里面也包括一对密钥(公钥和私钥),私钥用于解密信息,公钥用于加密信息。当用户A给用户B传送数据时,用户A以外带的方式(如从CA中心)获取用户B的公钥,并用其加密,加密后的数据传送给用户B,用户B收到后用私钥解密。加解密私钥要进行备份,否则,当私钥丢失时,以前加密的数据将无法解密。另外,密钥对只能在注册时由CA中心产生,这个是国家安全政策的原因,国家必须能解密每个用户加密的所有信息。

注:加解密证书和签名证书虽然在本质上一样(密钥对的产生方式及结果一样,即从数学算法的角度考虑一样),但因其用途的不同导致其安全策略的不同,所以不能混用。

posted @ 2007-08-31 22:46  Allen Zhang  阅读(450)  评论(1编辑  收藏  举报