密码学算法小结

上周基本上全部时间都用在了密码学算法的学习和研究上,在算法的基础上,分析了当前大量使用的安全机制:加密,认证,签名。“书到用时方恨少”,这是我上周最深切的感

受了:密码学很大程度上是近世代数(Abstract algebra)延伸。对于大多数算法,要想理解,要想分析,没有近世代数的基础是不可能的。个人觉得本科,研究生阶段相关课程

是学的比较扎实的,但是都忘得差不多了。经过痛苦的过程,还算有点结果,这周工作重心又发生了变化,在不总结一下我就全忘了。

目前用于计算机安全的密码学算法可以分为三类:Hash算法,对称密钥算法,非对称密钥(公钥)算法。

Hash函数作用于输入,产生定长输出(hash值)。根据输入计算输出通常是比较容易的,而更具输出hash值计算输入,则几乎不可能。hash函数本身是不保密的,他通常用于生成

数字摘要(digital digest, digital fingerprint),与其他保密算法配合,完成数字签名和认证;另外,根据hash函数不可逆的特性,也广泛应用于单向加密,如Unix的用户登

录系统--用户密码的hash值存于系统中,用户登录时,通过配配输入密码的hash值与系统存储值,判断用户。目前广泛使用的hash算法有MD5(message digest)和SHA-X(security

hash algorithm),他们都面临被破解的威胁,前者甚至已经被中国山东大学的教授找到强碰撞,但是,在合理的安全机制配合下,他们仍被广泛使用,也是安全的。

对称密钥算法又称秘密密钥算法,加密解密采用同样的密钥,其加密和解密过程分别可以表示为:
     C = Ek(M);   M = Dk(C);
其中M为消息明文,C为消息明文。对称密钥算法广泛应用于信息传输,它面临的主要问题是密钥管理、分发。而它的优点是速度快,技术成熟。目前广泛使用的对称秘要算法有des

,三重des,aes,rf5(此算法与其它几个不同,它不是块秘密算法,即不是对输入按块加密,而是按位流加密)。

非对称加密算法是指加密过程与解密过程采用不同秘码的加密算法。密码对中,一个为私钥,为个人所有,另一个可以公布给所人。当其他人想要发送消息时,采用公钥加密,并

发送密文;接受者收到消息后,采用私钥解密即可得到明文。同样的算法,如果发送者用私钥加密,即可实现签名。

你可能感兴趣的:(Algorithm,算法,加密,unix,解密,Security)