[TOC]
对称密码的编程使用
一、对称密码概述
1.对称密码的概念
- 加密秘钥和解密秘钥相同,对大多数对称密码算法,加密解密过程互逆
- 加解密通信模型
- 特点:算法公开,计算量小,加密速度快,加密效率高
- 弱点:双方都使用相同秘钥,安全性得不到保证
- 分组密码工作模式
- ECB:电子密码本 2)CBC:密文链接
- CFB:密文反馈 4)OFC:输出反馈
- CTR:计数器
- 分组密码填充方式
1)NoPadding 2)PKCS5Padding
3)ISO10126Padding
2.对称密码的种类
- DES(Data Encryption Standard)
- 3DES(Triple DES、DESede)
- AES(Advanced Encryption Standard)
3.对称密码的作用
二、DES算法的编程使用
- DES:数据加密标准,是对称加密算法领域的典型算法
- 特点:秘钥偏短(56位),生命周期短,
- JDK实现
1. 生成秘钥
2. 加、解密
三、3DES算法的编程使用
- 3DES算法的基本概念
- 将秘钥长度增加至112位或168位,通过增加迭代次数提高安全性
- 缺点:处理速度较慢、迷失计算时间较长、加密效率不高
- jdk实现
-
3DES算法的编程使用
- 生成秘钥
2. 加密和解密
四、AES算法的编程使用
- 基本概念
- AES:高级数据加密标准,能够有效的抵御已知的针对DES算法的所有攻击
2.特点:秘钥建立时间短,灵敏性好,内存需求低,安全性高。
3.JDK实现
- AES:高级数据加密标准,能够有效的抵御已知的针对DES算法的所有攻击
+ 生成秘钥
+ 加密、解密