标签:无法找到 必须 实现 bubuko 就是 保护 tor 延迟 分析
密码体制的分类
随机性
任何人考虑用数学的方法产生随机数肯定是不合理的
计算机本身只能产生伪随机序列
随机序列类型
如何得到真随机序列
使用一种专门的设备(真随机数发生器),输入是各种无法预测的信号:周围空气状况、电流的变化率…
输入是不断变化的,输出也就不可重复。
有人能预测产生的下一个数吗? 他必须重构输入信号,这没人能做到
一次一密
证明:
密钥流是随机的,则每个密钥比特的概率满足: Pr[k=0]=1/2, Pr[k=1]=1/2
假设明文流某个比特的概率满足: Pr[m=0]=p, Pr[m=1]=1-p
对应的密文比特的概率:
Pr[c=0] = Pr[k=0]Pr[m=0]+Pr[k=1]Pr[m=1]=1/2
Pr[c=1] = Pr[k=0]Pr[m=1]+Pr[k=1]Pr[m=0]=1/2
流密码
基本思想
用一个较短的密钥生成密钥流,在攻击者(计算能力是有限的)看来是随机的(伪随机的)。不是无条件安全的,仅是计算上安全的
同步流密码
密钥流只根据密钥产生与明文流无关
自同步流密码
密钥流不仅与密钥有关还与明文流有关
驱动部分
为非线性组合部分提供统计特性“好”的序列 (一般伪随机序列)
非线性组合部分
将提供的输入序列组合成密码学特性“好”的序列 (密码学意义上安全的伪随机序列)
FSR的功能
分组密码
实质
实质是设计一种算法,能在密钥控制下,把 n比特明文分组 简单而迅速地置换成 唯一的 n比特的密文分组,并且这种变换是可逆的(解密)所以,它必须是一个 双射函数 (因为明文分组空间等于密文分组空间)
混乱
使明文和密文之间、密钥和密文之间的相关统计特性极小化,从而使攻击者无法找到密钥(常用方法代换)
扩散
将明文及密钥的影响尽可能迅速地散布到较多个密文比特中(常用方法置换)
混乱和扩散的思想由香农提出,目的:抵抗攻击者对密码系统的统计分析
什么叫 代换?
加密时,明文的每个分组都应产生唯一的密文分组 (具有可逆性,为了解密),称这种明文分组到密文分组的可逆变换为代换如果明文分组为n比特,则明文分组有多少个可能的取值?
2^n
不同可逆变换有多少个?
2^n!
实际中,常将明文分组再分成较小的“段”,对每个“段”用不同的代换结构(子代换)进行变换,称每个子代换为代换盒,简称为 S盒
数据加密标准(DES)
流密码与分组密码的比较
通常,明文长度是不固定的,按固定长度分组时,往往最后一个分组长度不足,如何解决?
填充(Padding)分组密码的工作模式
为什么需要工作模式?
分组密码的输入是一个明文分组,是定长的。
要加密的明文是变长的,长度往往大于一个明文分组。
即使有了安全的分组密码体制,也需要采用适当的工作模式来隐蔽明文的统计特性,以提高整体的安全性。
模式名称 | 缩写 | 英文全称 |
---|---|---|
电子密码本 | ECB | Electronic CodeBook |
密码分组链 | CBC | Cipher Block Chaining |
密码反馈 | CFB | Cipher FeedBack |
输出反馈 | OFB | Output FeedBack |
计数器 | CTR | Counter |
ECB
CBC
CFB
OFB
CTR
标签:无法找到 必须 实现 bubuko 就是 保护 tor 延迟 分析
原文地址:https://www.cnblogs.com/FZfangzheng/p/9206446.html