分组密码の一些相关概述|密码学

分组密码の一些相关概述|密码学

分组密码概述

原理&特点

原理

将明文划分成长为m(如64或128)的分组P=(p0,p1,p2,…,pm-1), 各明文分组分别在长为t的秘钥K=(k0,k1,k2,…,kt-1)的控制下变成长为n(一般n=m)的密文分组C=(c0,c1,c2,…,cn-1)。

image-20221104162019143

image-20221104181710512

特点

速度快, 安全性较高, 易于标准化, 便于软硬件实现

是网络安全中实现数据保密性的核心机制, 可用于构造伪随机数生成器、序列密码、消息认证码、Hash哈希函数

分组密码的一些概念

分组密码设计要求:

  1. 分组长度要足够大

    保证对长度为n的分组而言,2^n足够大防止明文穷举攻击

  2. 密钥量足够大

    防止密钥穷举攻击

  3. 密码变换足够复杂

    避免被找到简化数学方法从而被攻击

  4. 加解密运算简单(可选)

  5. 无数据拓展和压缩(可选)

密码系统的3个基本原则:扩散混淆乘积密码(抗击密码系统的统计分析)

  1. 扩散

    密钥或明文的每一比特变化都会影响许多比特的变化,以便隐蔽明文的统计特性(雪崩效应)

    image-20221104163712070

  2. 混淆原则(混乱原则)

    明文和密文之间的依赖关系尽可能复杂化,防止通过统计分析方法破译(如非线性代换)

    混乱必须是可逆的

  3. 乘积密码

    设密码体制R=(P,C,K1,E1,D1)和R2=(P,C,K2,E2D2)是两个具有相同明文空间和密文空间的密码体制, R1和R2的乘积密码体制R1*R2定义为(P,C,K1*K2,E,D)。R* R2中的加密变换和解密变换如下:对任意明文x ∈P和密钥k=(k1,k2),加密变换为:

    image-20221104164223270

    对任意密文y ∈C和密钥k=(k1,k2),解密变换为:

    image-20221104164247981

    简单来说就是, 支持套娃的操作

Feistel网络

分组密码中主要使用两种迭代网络结构: Feistel网络, SP网络

Feistel网络有点在于加解密相似性, 只需要一个逆转的秘钥编排算法, 其加解密过程几乎相同。

F表示轮函数(不一定可逆), K0,K1,…,Kn表示进行第n+1轮加密的子秘钥

加解密过程如下:

image-20221104175122514

image-20221104175340032

Feistel网络的雪崩效应

假设轮函数的输入最右边发生1比特变化, 至少影响轮函数输出2比特的变化

SP网络

SP网络是由多重S变换P变换组成的变换网络

基本操作都是S变换(代换)P变换(置换,分组重排), 前者成为S盒, 后者成为P盒

  • 代换的S盒子起混乱(混淆)作用
  • 置换的P盒子起扩散作用

image-20221104180427657

SP网络的雪崩效应

输入的明文或密文即使变化很小也会导致输出发生很大变化, 每次经过代换的S盒都会让影响加倍

image-20221104181602072

轮函数设计标准

  • 非线性(主要依赖S盒子)
  • 可逆性(同时能够满足加解密要求)
  • 雪崩效应
  • 位独立(要求输入中某一位的变化, 引起输出中的其他位变化是彼此无关的)

主要性能指标: 安全性、速度、灵活性

子秘钥生成方法

子秘钥生成算法是从初始(种子)秘钥产生迭代的各轮要使用的子秘钥的算法, 轮函数F的功能在自秘钥的参与下完成。

迭代次数

一般来说迭代次数越多密码分析越困难, 但是次数过多会是输入和输入出的关系复杂化, 而安全性并没有明显的增强。

决定迭代次数的准则: 使密码分析难度大于简单穷举搜索攻击的难度

分组密码迭代次数一般采用8, 10, 12, 16, 20居多

分组密码算法介绍

DES比较简单直接放一个流图, 这几个加密算法等强网拟态结束了再继续复习开个新的文章吧~

  • 数据加密标准DES

    image-20221104225952364

  • 高级加密标准AES

  • 国际数据加密算法IDEA

  • SM4密码算法

2022_11_04 第11周星期五 17:00

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇