3个著名的加密算法:
md5(message-digest algorithm 5):将任意长度的字符串变换成128bit的大整数,并且这个变换是不可逆的字符串变换算法。
典型应用:对一段信息产生指纹,可以防止被篡改。数字签名应用。
md5被广泛应用在加密和解密上,在很多系统中,用户的密码以md5值的方式保存,当用户登录系统时,将用户输入的密码按照md5加密后的值跟系统中保存的密码进行比较,来确定密码是否输入正确,而系统并不知道用户密码是什么。
RSA:以发明者的名字命名:Ron rivest,adi shamir和Leonard adlemen。RSA是第一个既可以用于数据加密也能用于数字签名的算法。但是一直未得到理论上的证明。
des(data encryption standard):1977年1月,美国政府颁布:采纳IBM公司的dea作为非机密数据的正式数据加密标准。目前国内,des算法被广泛用在pos、atm、ic卡、加油站、高速公路收费站等领域,如信用卡持有人的pin的加密传输,ic卡和pos机的双向认证,金融交易数据包的mac校验等。
des算法原理:
des算法入口参数有3个:key,data,mode。其中key为8个字节共64位,是des算法工作的密钥,data也是8个字节64位,是要加密或解密的数据,mode为des的工作方式:加密或解密。
在通信双方约定同样的key值,就可以安全、可靠的传输了。定期更改key值提高安全性。
除了用穷尽搜索法对des算法进行攻击外,没有更有效的方法。
原文地址:http://2898036.blog.51cto.com/2888036/1576201