对称加密基本知识

要做一个加密的功能,基本要求是服务A对过期时间等信息加密传给服务B,而服务B解析信息。

首先是2种基本加密算法的选择,对称加密和非对称加密。
对称加密,消息的发送者和接受者用同样的秘钥对消息进行加密和解密。
缺点是当参与的成员变多时每个成员都需要保存一个日趋庞大的秘钥列表。而且一但其中某个成员泄露秘钥,那么所有数据都会被破解。
优点是速度快。

非对称加密,任何一个成员都拥有两个秘钥,公钥和私钥,公钥加密私钥解密,私钥加密公钥解密。
优缺点与上面的对称加密刚好相反。

由于应用范围仅仅局限于这两个服务,而且对速度要求较高,因此选择对称加密算法。

对称加密算法中最经典的算法是DES,但是由于算法复杂,随后根据 AES标准对算法进行了征集,其中的胜出者即为Rijndael算法。

Rijndael算法秘钥的长度和明文的长度无关,只和算法块的长度有关,例如我们可以把秘钥指定为32B, 而块指定为16B的。

加密算法根据模式又可划分为多种模式,wiki上图文并茂讲的很清楚:
http://zh.wikipedia.org/wiki/%E5%9D%97%E5%AF%86%E7%A0%81%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F

其中最重要的一点区别其实在于ECB和CBC模式的区别,其中后者引入了VI这个概念,使得相同的明文加密结果不同。相应的代价是每次传输都需要生成,传输VI。否则算法即退化为ECB模式。
至于文中提到的加密不能并行计算这种“缺点”,在并发网络应用环境中其实根本算不得缺点。

至于iv的产生,可以用 PBKDF2算法的 Rfc2898DeriveBytes类产生伪随机字节数组。只要保证其中的salt是一个变化数即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26899445/viewspace-757305/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26899445/viewspace-757305/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值