开发者在进行程序加密的时候经常会犯一些错误,例如使用过时的加密算法,或者不能够更换新的密钥,这些错误将会导致加密工具变得毫无用处。KeyCzar的目的就是简化这些操作,让开发者不仅仅能够部署加密工具,而且还能够根据需要管理和修改密钥。
KeyCzar的密钥版本系统让开发者可以轻松更换和收回密钥,而不用担心向后兼容问题,也不用对源程序进行任何修改。不过Google警告称,人们不应该将KeyCzar看做一个完整的密码系统。它并不包含任何实际的密码库,它不能实现很多真正的密码任务操作。
Google在其Google Code服务中提供了KeyCzar第一个版本的下载。目前该工具只支持Java和Python编程语言,不过Google计划最近再发布一个C++版本。
Google还邀请第三方加入这个开源项目。开发者可以通过KeyCzar的Google Code页面加入该项目。
根据我下载的KeyCzar的JAR包源代码看,KeyCzar不是一套密码系统,而是用于方便调用常用密码系统(例如AES,RSA,DSA等加密算法),可以比较轻松的创建各个算法的密钥。以下是KeyCzar所使用的加密算法:
HMAC:默认256位SHA1散列算法。
AES:默认128位AES密钥,也支持192和256位的密钥。
DSA:默认使用DSA-SHA1签名算法,默认密钥长度1024位。
RSA加密:使用RSA-OAEP加密算法,默认密钥长度2048位,同时也支持1024,768,512位的密钥。
RSA签名:使用RSA-SHA1签名,默认密钥长度2048位,同时也支持1024,768,512位的密钥。
当然,加密算法本身的开发具有一定难度,需要很深的数学和密码学造诣,Google估计也不会费那么大功夫开发一套完整的加密算法。
(原文地址:http://www.williamlong.info/archives/1466.html)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15190102/viewspace-430132/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15190102/viewspace-430132/