信息安全学习总结(2):加密算法

随着社会对信息安全必要性的认识,密码学应运而生;最初密码学仅应用于信息的机密性,但是随着社会的发展和进步,特别是网络的发展,密码学的应用范畴逐步扩展到信息安全各个领域,已经能够解决包括机密性、完整性、防抵赖等众多信息安全问题。

加密算法是密码学的核心内容,按照应用的领域可以划分为应用于机密性的加密算法:DES、3DES、AES等;信息的完整性主要通过散列函数单向映射这一特点来解决,主要的算法有SHA、SHA1、MD5等;鉴别和防抵赖主要通过基于公开密钥机密算法的数字签名机制实现,公开密钥的加密算法有RSA、DH等;下面对各加密算法作简单的介绍:

  • DES

DES主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。

  • 3DES

3DES是DES算法的改进,它在DES的基础上改为使用3个不同的密钥对数据块进行(两次或)三次加密,该方法比进行普通加密的三次快,其强度大约和112比特的密钥强度相当。

  • AES

AES算法基于排列和置换运算。使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥加密使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。

  • SHA 

 SHA-1是一种数据加密算法,该算法的思想是接受一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列及散列值(也称为信息摘要或信息认证代码)的过程。该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。输入是按照512位的分组进行处理的。

  • MD5

 md5512位分组来处理输入的信息,且每一分组又被划分为1632位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。



你可能感兴趣的:(数据结构,算法,网络应用)