基本概念:
未加密消息在密码学中被称为明文
伪装消息以隐藏消息的过程称为加密
被加密的消息称为密文
把密文转换成明文的过程称为解密。
基本了解:对称密钥密码的加密密钥和解密密钥是相同的。
特点:
1、加密方和解密方使用同一个密钥;
2、加密解密的速度比较快,适合数据比较长时的使用;
3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;
优缺点:
优点:算法公开、计算量小、加密速度快、加密效率高。
缺点:
(1)交易双方都使用同样钥匙,安全性得不到保证。
(2)每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发
收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法在分
布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。
常见对称加密算法了解:
计算机常用的对称密钥加密为分组密码,比较常见的分组密码有DES、AES、IDEA等
DES加密算法:DES是典型的分组密码,使用56位密钥,明文为64位分组序列,共进行16轮的加密,每轮加密都会进行复杂的替换和置换操作,并且每轮加密都会使用一个由56位密钥导出的48位密钥,最终输出与明文等长的64位密文。
目前,DES已经被证实不是很安全了,屡次被破解,DES的最近一次评估是在1994年,同时决定自1998年12月以后,DES将不再作为美国联邦加密标准。
三重DES:由于DES密钥只有56位,易于遭受穷举式攻击。作为一种替代加密方案,有人提出使用两个密钥的三重DES加密方法,并在1985年成为美国的一个商用加密标准。该方法使用两个密钥,执行三次DES算法。加密的过程是加密—解密—加密,解密的过程是解密—加密—解密。
AES(advanced encryption standard)加密算法:DES逐渐不能适应现代密码安全性需求,就连三种DES也无法适应,于是一种新的密码标准应运而生。
AES加密过程涉及4种操作:字节替代、行移位、列混淆和轮密钥加。解密过程分别为对应的逆操作。
AES加密算法的特点
- 分组长度和密钥长度均可变(128/192/2561)。
- 循环次数允许在一定范围内根据安全奥球进行修正
- 汇聚了安全、效率、易用、灵活等优点
- 抗线性攻击和抗差分攻击的能力大大增强
- 如果1s暴力破解DES,则需要149万亿年破解AES
IDEA加密算法
国际数据加密算法(international data encryption algorithm)是1992年提出的非常成功的分组密码,并且广泛应用在安全电子邮件PGP中。
IDEA加密算法是一个分组长度为64位的分组密码算法,密钥长度为128位,同一个算法即可用于加密,也可用于解密。算法运用硬件与软件实现都很容易,而且比DES算法在实现上快得多。IEDA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在很多商业产品中被使用。
实际使用现状:
1、DES
已破解,不再安全,基本没有企业在用了
是对称加密算法的基石,具有学习价值
密钥长度56(JDK)、56/64(BC)
2、DESede(三重DES)
早于AES出现来替代DES
计算密钥时间太长、加密效率不高,所以也基本上不用
密钥长度112/168(JDK)、128/192(BC)
3、AES
最常用的对称加密算法
密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好)
实际使用中,使用工作模式为CTR(最好用BC去实现),此工作模式需要引入IV参数(16位的字节数组)
密钥长度128/192/256,其中192与256需要配置无政策限制权限文件(JDK6)
填充模式最常用的两种PKCS5Padding和PKCS7Padding,其中后者只有BC独有。
4、IDEA
常用的电子邮件加密算法
工作模式只有ECB
密钥长度128位
参考:计算机网络原理 2018年版本书籍