密码学复习——第二章(流密码)

简介: 密码学复习——第二章(流密码)

第二章:流密码

2.1 流密码的基本概念

流密码是将明文划分成字符(如单个字母),或其编码的基本单元(如0,1数字),每一字符分别与密钥流对应字符作用,从而进行加密,解密时以同步产生的同样的密钥流实现。

  • 流密码的强度完全依赖于密钥流产生器所生成序列的随机性和不可预测性。
  • 因此核心问题是密钥流生成器的设计。
  • 保持收发两端密钥流的精确同步是实现可靠解密的关键。

二元加法流密码

image.png

加法流密码体制模型

image.png

流密码的分类

  • 同步流密码:如果密钥流产生的算法和产生的密钥序列都与明文或密文无关,我们称这类流密码为同步流密码。
  • 自同步流密码:密钥流产生的算法与明文相关,则所产生的密钥序列也与明文相关,称这类流密码为自同步流密码。

2.2 线性反馈移位寄存器

移位寄存器是流密码产生密钥流的一个主要组成部分,GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数组成。

  • 4位反馈移位寄存器图示

image.png

在任一时刻,这些级的内容构成该反馈移位寄存器的状态,每一状态对应于GF(2)上的一个n维向量,共有2^n种可能的状态。

image.png

经典例题

image.png

这里的输出序列指的是a1切记!

线性反馈移位寄存器:实现简单、速度快、有较为成熟的理论,是构造密钥流生成器的最重要的部件之一。

image.png

LFSR的性质

  • 输出序列的性质:完全由其反馈函数决定。
  • n级LFSR状态数:最多有2^n个
  • 输出序列的周期 = 状态周期 <= 2^n - 1
  • 选择合适的反馈函数可使序列的周期达到最大值2^n - 1,周期达到最大值的序列成为m序列

image.png

image.png

2.4 m序列的伪随机性

提到这里,我们要再次强调以下什么是m序列,m序列指的是能够使的输出序列的周期达到最大值2^n - 1的序列

  • 伪随机序列的定义

如果密钥流是随机的,要完全做到随机性是困难的,严格的说这样的序列不可能做到随机,只能要求截获比周期短的一段时不会泄露更多信息,这样的序列称为伪随机序列

  • 什么是游程?

image.png

image.png

相关文章
|
存储 Rust 并行计算
【密码学】一文读懂XTS模式
这篇文章的灵感来源于我偶然翻到的一个某U盘有关磁盘加密的一个介绍(这一篇不是广告蛤), 然后发现这个模式我之前还真没遇到过,因此呢,就学习了一下,就出来了这一篇文章。
6755 0
【密码学】一文读懂XTS模式
|
数据安全/隐私保护
公钥和私钥的作用和区别
公钥和私钥的作用和区别
813 0
|
安全 数据安全/隐私保护
【密码学】一文读懂线性反馈移位寄存器
在正式介绍线性反馈移位寄存器(LFSR)之前,先来看一个小故事,相传在遥远的古代,住着4个奇怪的人。
1887 0
【密码学】一文读懂线性反馈移位寄存器
|
存储
Typora上传图片后提示 “image load failed“ 无法加载出图片
Typora上传图片后提示 “image load failed“ 无法加载出图片
2725 1
Typora上传图片后提示 “image load failed“ 无法加载出图片
|
PyTorch Go 算法框架/工具
YOLOv8代码上线,官方宣布将发布论文,附精度速度初探和对比总结
【YOLOv8 注意事项】 1. YOLOv8 的官方仓库和代码已上线,文档教程网址也刚刚更新。 2. YOLOv8 代码集成在 ultralytics 项目中,目前看不会再单独创建叫做 YOLOv8 的项目。 3. YOLOv8 即将有论文了!要知道 YOLOv5 自从 2020 年发布以来,一直是没有论文的。而 YOLOv8(YOLOv5团队)这次首次承认将先发布 arXiv 版本的论文(目前还在火速撰写中)。
2153 0
YOLOv8代码上线,官方宣布将发布论文,附精度速度初探和对比总结
|
安全 Shell 网络安全
【服务器】Xshell与Xftp软件的使用指南
【服务器】Xshell与Xftp软件的使用指南
1218 0
|
Kubernetes 网络协议 API
node节点加入k8s集群时报错:no such host
node节点加入k8s集群时报错:no such host
575 0
|
10月前
|
存储 C语言
C语言如何使用结构体和指针来操作动态分配的内存
在C语言中,通过定义结构体并使用指向该结构体的指针,可以对动态分配的内存进行操作。首先利用 `malloc` 或 `calloc` 分配内存,然后通过指针访问和修改结构体成员,最后用 `free` 释放内存,实现资源的有效管理。
789 13
|
运维 监控 安全