信息安全的四类特性:
1、机密性:为了防止信息被窃听,对应的密码技术有对称密码和公钥密码。
2、完整性:为了防止信息被篡改,对应的密码技术有消息认证码和数字签名。
3、认证:为了防止攻击者伪装成真正的发送者,对应的密码技术有消息认证码和数字签名。
4、不可否认性:为了防止发送者事后否认自己没有做过,对应的密码技术为数字签名。
一、对称加密
顾名思义,加密密码和解密密码相同
1)DES加密
DES(Data Encryption Standard)是一种将64比特的明文加密成64比特的密文的对称密码算法,它的密钥长度是56比特,即7个字节。DES的结构采用的是一种16轮循环的Feistel网络。
2)三重DES加密
三重DES只是将DES重复3次,为了增加DES强度。
明文经过三次DES处理才能变成最后的密文,而由于DES的密钥长度为56比特,因此三重DES的密钥长度则为56*3=128比特。三重DES并不是进行3次DES加密,而是加密->解密->加密的过程。这是为了向下兼容,即使用DES加密的密文,也可以通过三重DES进行解密。
三重DES的解密过程和加密相反,是以密钥3、密钥2、密钥1的顺序执行解密->加密->解密的操作。
3)AES加密
AES(Advanced Encryption Standard)是取代其前任标准(DES)而成为新标准的一种对称密码算法。
三种对称密码算法目前的使用状况:
1、DES因为已经很容易被暴力破解,因此不建议再使用;
2、三重DES目前还被银行等机构使用,但其处理速度不高,而且在安全性方面也逐渐显现出了一些问题;
3、AES作为最新标准,安全、快速,而且可以在各种平台上工作,可以算是目前最佳的选择;
4)分组模式
DES加密、三重DES加密、AES加密都属于分组加密,将需要加密的数据按长度分成多个组分别进行加密。
共有四种加密模式,分别是ECB(电子密码本模式)、CBC(密码分组链接模式)、CFB、OFB,我们一般使用的是CBC模式。四种模式中除了ECB相对不安全之外,其它三种模式的区别并没有那么大
ECB模式加密后的结果有序,就是说更改某一部分原始数据后,加密数据在对应位置发生变化,其他位置的加密后数据不变,如此可能产生安全隐患;其他模式加密后的结果无序,就是说更改某一部分原始数据后,整个加密后的结果发生天翻地覆的变化,毫无规律,相比之下更安全
二、非对称加密
顾名思义,加密密码和解密密码不同,加密密码也叫公钥,公开所有人可见;解密密码也叫私钥。用公钥进行加密私钥进行解密。
非对称加密使用RSA加密实现
非对称加密优势:对称加密涉及到密钥配送问题,无法能够保证安全的将密钥配送给对方,可能会泄露密钥;而非对称加密的公钥是公开的,可以大模大样的给对方,让对方通过公钥进行加密发送信息,而私钥只有自己有,可以通过私钥进行解密,以此来解决密钥配送问题
非对称密码劣势:速度相对较慢
三、混合加密
若消息内容很长,需要使用分组进行加密,而非对称加密速度较慢,所以使用混合加密
1)发送者使用伪随机数生成器生成会话密钥,用会话密钥对称加密消息,用公钥密码加密会话密钥
2)发送加密后的消息和加密后的会话密钥
3)接收者使用私钥解密加密后的会话密钥获取会话密钥,再用会话密钥对称解密消息
如此,兼顾速度和安全性
四、认证技术
1)单向散列函数
单向散列函数用来检查消息的完整性
单向散列函数有很多种,MD4、MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA-3等等。
消息认证码、数字签名和伪随机数生成器都基于单向散列函数实现
2)消息认证码
消息认证码(message authentication code)是一种确认完整性并进行认证的技术,简称为 MAC码
使用消息认证码可以对消息进行认证并确认完整性,即能够识别出消息的篡改和伪装。但却解决不了“对第三方证明”和“防止否认”。
3)数字签名
数字签名就是将公钥加密反过来用实现的。公钥加密就是用公钥加密消息,用私钥解密密文。而数字签名是用私钥对消息(摘要)生成签名,传输数字签名的密文,最后用公钥解密验证签名。从而验证发信者的身份和信息的完整性。
五、认证机构
认证机构就是能够认定“公钥确实属于此人”并能够生成数字签名的个人或组织。
更多密码学技术文章参考https://blog.csdn.net/weixin_39190897/article/details/82229887
更多密码学技术书籍参考《图解密码技术》-----结城浩著