初级:对称密码的编程使用

[TOC]

对称密码的编程使用

一、对称密码概述

1.对称密码的概念

  • 加密秘钥和解密秘钥相同,对大多数对称密码算法,加密解密过程互逆
  • 加解密通信模型
加密解密模型
  • 特点:算法公开,计算量小,加密速度快,加密效率高
  • 弱点:双方都使用相同秘钥,安全性得不到保证
  • 分组密码工作模式
    1. ECB:电子密码本 2)CBC:密文链接
    2. CFB:密文反馈 4)OFC:输出反馈
    3. 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张图片
JDK实现

1. 生成秘钥

初级:对称密码的编程使用_第2张图片
Paste_Image.png

2. 加、解密

初级:对称密码的编程使用_第3张图片
Paste_Image.png

三、3DES算法的编程使用

  • 3DES算法的基本概念
    • 将秘钥长度增加至112位或168位,通过增加迭代次数提高安全性
    • 缺点:处理速度较慢、迷失计算时间较长、加密效率不高
    • jdk实现
初级:对称密码的编程使用_第4张图片
Paste_Image.png
  • 3DES算法的编程使用

    1. 生成秘钥
初级:对称密码的编程使用_第5张图片
Paste_Image.png

2. 加密和解密

初级:对称密码的编程使用_第6张图片
Paste_Image.png

四、AES算法的编程使用

  • 基本概念
    1. AES:高级数据加密标准,能够有效的抵御已知的针对DES算法的所有攻击
      2.特点:秘钥建立时间短,灵敏性好,内存需求低,安全性高。
      3.JDK实现
初级:对称密码的编程使用_第7张图片
Paste_Image.png

+ 生成秘钥

初级:对称密码的编程使用_第8张图片
Paste_Image.png

+ 加密、解密

初级:对称密码的编程使用_第9张图片
Paste_Image.png

你可能感兴趣的:(初级:对称密码的编程使用)