dream_653
作者dream_653·2021-01-14 11:00
系统应用运维·*****

信息安全工程师----第三章 3.3序列密码

字数 1238阅读 547评论 0赞 0

第三章 3.3序列密码

序列密码

现代密码可以分为两类:基于数学的密码和基于非数学的密码

计算理论包括可计算性理论和计算复杂性理论等

可计算理论是研究计算的一般性质的数学理论。它通过建立计算的数学模型,精确却分那些问题是可计算的,那些问题是不可计算的

计算复杂性理论是研究现实的可计算性,如研究计算一个问题类需要多少时间,多少存储空间

密码破译本质上是求解一个数学难题,如果这个难题是理论不可计算的,则这个密码就是理论上安全的

如果这个难题是理论可计算的,但是计算复杂性太大而实际上不可计算,则这个密码是实际安全的,或计算上安全的

设计一个密码就是设计一个数学函数,而破译一个密码就是求解一个数学难题

一次一密密码是理论上安全的密码,其余的密码都只能是计算上安全的密码

周期:序列就有一定的循环周期,如果周期足够长,就会有较好的保密性。一般而言,很少采用周期小于1010的序列;周期为1050的序列也是很常见的

伪随机数生成器:真正的随机数是随机产生的,其结果是不可预测的。而计算机的随机函数是按照一定算法模拟产生的,其结构是确定的,所以是伪随机数。

序列密码又称流密码,原理是明文流与密钥流按顺序逐比特进行异或运算,从而产生密文流。序列密码属于对合运算序列密码的加密和解密运算只是简单的模二加运算,所以序列密码的强度依靠密钥序列的随机性和不可预测性。序列密码中的关键是要保持通信双方的精确同步。

序列密码的加密和解密运算也属于对合运算

RC4

RC4是Ron Rivest在1987年为RSA数据安全公司设计的一种同步流密码

RC4不是基于移位寄存器的流密码,而是一种基于非线性数据表变换的流密码

它以一个足够大的数据表为基础,对表进行非线性变换,产生非线性密钥流序列
RC4 是一个可变密钥长度,面向字节操作的流密码

该字节的大小n可以根据用户需要来定义,一般应用中n取8位

流密钥的生成需要两个处理过程:

  • 密钥调度算法(KSA)
  • 伪随机产生算法(PRGA)
    密钥调度算法用来设置数据表S的初始排列

伪随机产生算法用来选取随机元素并修改S的原始排列顺序

密钥流产生过程是用1到256个字节的可变长度的密钥初始化一个256个字节的数据表S,可能的排列情况有256!=2^1600种,所以穷举法破解RC4几乎是不可能的,美国政府限制出口超过40位密钥的RC4算法加密和解密用的每一个密钥K(i)是由S中的元素按照一定的方式选出一个元素而生成

每生成一个K(i)值,S中的元素就被重新置换一次

ZUC

祖冲之算法(ZUC)是由我国自主设计的加密的完整性算法,已经被国际组织3GPP推荐为无线通信LTE的第三套加密标准的核心算法。

ZUC是一个同步流产生算法。

该算法由比特重组、非线性函数F、线性反馈移位寄存器(LFSR)组成。

该算法输出序列随机性好,周期足够大;可以抵抗已知的序列密码分析方法;可抵抗弱密分析
转载:https://blog.csdn.net/qq_43799246/article/details/111052362

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

X社区推广