当前位置: 首页 > article >正文

【密码学引论】分组密码

第三章 分组密码

DES、IDEA、AES、SM4
1、分组密码定义(按照五个组成部分答)

  • 密钥空间:属于对称加密算法ke=kd
  • 明密文空间:将明文划分为m比特的组,每一块依次进行加密
  • 加解密算法:由key决定一个明文到密文的可逆映射

2、发展历史:DES(Feistel)->IDEA(SP)->AES(Rijndael)

3、DES

  1. 定义
    明密文空间、密钥空间:分组密码,明文、密文、密钥都是64位(密钥长度:64bit(56+8),56bit有效位、8bit奇偶校验位)
    面向二进制
    对合运算,加解密共用同一算法
    Feistel网格结构
  2. S盒是DES保密性的关键所在,是一种非线性变换
  3. 安全性:密钥较短,经不求穷举攻击;因结构问题存在弱密钥;

4、3DES
密钥长度可为112(两密钥)和168(三密钥),可抵抗穷举攻击

5、IDEA

  1. 定义
    分组密码,明密文64位,密钥128位
    对合运算,加解密同一算法
    群上无法构成环和域
  2. 安全性采用混淆、扩散和乘积密码技术构成良好非线性轮函数
  3. 安全核心:乘加单元 MA结构
    在这里插入图片描述

6、AES

  1. 定义
    分组密码,明密文128位,密钥长度可变(128、192、256)
    不是对合运算
    面向二进制
    综合运用多种密码技术
    SP结构
  2. 数据处理方式:按字节/字/状态处理

7、SM4

  1. 定义
    分组密码,明密文、密钥128位
    数据处理单元:字节/字
    对合运算,非对称的Feistel结构

8、分组密码短块加密

  • 填充法
  • 序列密码加密法
  • 密文挪用技术

http://www.kler.cn/a/147454.html

相关文章:

  • 动态规划-完全背包问题——518.零钱兑换II
  • 常见的测试方法
  • 【机器学习导引】ch6-支持向量机
  • 第三百二十三节 Java线程教程 - Java同步器
  • 新手教学系列——善用 VSCode 工作区,让开发更高效
  • daos集群部署(单机)
  • css之选择第一个或最后一个元素、第n个标签、选择偶数或奇数标签、选择最后n个标签、等差数列标签的选择、first、last、nth、child
  • 学习Qt的网站
  • git突然失效:无法提交的问题 无法推送到远程仓库
  • 为什么API管理工具对开发人员有益?
  • Vue中的深度监听Deep Watch
  • 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息
  • Node.js下载安装及配置镜像源
  • element plus中表格的合计属性和例子
  • 0001Java程序设计-springboot基于微信小程序批发零售业商品管理系统
  • Git的原理与使用(一):Git的基本操作(包含:版本回退)
  • 深度学习18
  • 【数据结构】树与二叉树(廿二):树和森林的遍历——后根遍历(递归算法PostOrder、非递归算法NPO)
  • [ CSS ] 内容超出容器后 以...省略
  • SpringCloud-高级篇(五)
  • 【开发实践】网页预览excel表格原版样式
  • win10安装pytorch(py39)
  • 前端工程、静态代码、Html页面 打包成nginx 的 docker镜像
  • Android 相机库CameraView源码解析 (一) : 预览
  • 正点原子linux应用编程——入门篇2
  • mysql使用--存储程序