栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2022-3-7~11 UOOC深大 现代密码学 流密码(基本思想、模型、RC4等算法简介)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022-3-7~11 UOOC深大 现代密码学 流密码(基本思想、模型、RC4等算法简介)

由于在修习信息安全基础的同时还修习了现代密码学这门Mooc,因此也和大家分享一下我学习的随想。

1、流密码基本思想

流密码本质上是种序列密码,属于对称密码(对称加密),加密和解密双方使用相同伪随机加密数据流(pseudo-random stream)作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个bit并用xor操作加密。是不是很熟悉?看看上一篇文章吧。

流密码是建立在香农的“一次一密”(cryptographic one-time pad)安全理论上的,香农同时证明了一个无法被破译的密码系统的密钥必须有以下特征:完全随机;不能重复使用;保密;和明文一样长。因此,具有均匀分布的离散无记忆随机数列作为密文理论上是不可破译的。这保证了流密码的安全性。

基本术语:

密钥:k

产生一个密钥流:z=z0 z1…;

明文串:x=x0 x1 x2…;

加密: y=y0 y1 y2 … =Ez0(x0)Ez1(x1)Ez2(x2)…;

2、流密码的两大模型

流密码与分组密码最大的差距其一是对于明文的处理方式不同,其二是流密码的加密器中含有记忆元件,而分组密码不存在,也正是由于这个记忆元件,我们可以进一步将流密码分为同步流密码和自同步流密码。

流密码原理入上图所示

我们可以看到,流密码的特点之一就是加解密双方同用一个密钥。密钥k是整个流密码加解密的核心,是唯一不能泄漏的信息,如密文、加密方式等等都可以在公共信道上传播,但是k只能在确保安全的私人信道传输。

其中密钥流生成器需要解释一下工作原理。其一我们需要厘清的概念是,密钥k和密钥流z是不同的,完全不是一个事物。在明确这个前提后,我们来用一条表达式解释密钥流生成器。

密钥流发生器        f:zi=f(k,σi);    

其中σi是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥k和σi产生的函数。

利用不断变化的加密变换对明文消息进行 逐bit的加密。流密码的滚动密钥 z0 = f ( k,σ 0 ) 由函数 f、密钥 k 和指定的初态σ 0 完全确定。此后, 由于输入加密器的明文可能影响加密器中内部记忆元件的存储状态, 因而σ i ( i > 0)可能依赖于 k,σ 0 , x0 , x1 , ⋯, xi - 1 等参数。

设计密码体制的关键问题是设计产生密钥序列的方式,但是因为真正的具有均匀分布的随机序列是不可能重复产生的. 密钥序列长(至少与明文序列一样长), 其管理(存储、分配)难.

为此,我们研究了两种流密码模型,包括:SSC同步流密码以及SSSC自同步流密码,SSC的特点是,产生密钥序列的算法与密文明文无关,而SSSC产生密钥序列的算法却与以前的密文有关。

对于同步流密码而言,只要有同样的种子序列与相同的初始状态就可以产生相同的密钥序列,这就要求着使用同步流密码进行加密的信息收发双方要保持精确的同步才能正确的加解密信息。

 同步流密码容易检测插入、删除、重播等主动攻击,没有差错传播。

而自同步流密码(SSSC) 密钥流生成器是一种有记忆变换器,密钥流与明文符号有关:i 时刻的密文不仅取决于i 时刻的明文,而且与i 时刻之前的l个明文符号有关; 具有有限的差错传播; 具有自同步能力; 把明文每个字符扩散在密文多个字符中,强化了抗统计分析的能力。

除了SSC与SSSC之外,我们还介绍一个模型:异或流密码。

所谓异或流密码,即是加密解密主要使用异或的运算。

即:对于明文序列:m=m1,m2,m3......;密钥序列:z=z1,z2,z3......;密文序列c=c1,c2,c3......存在这样的关系:

存在对称性。 我想起了DES,这个我们下次再聊。

s

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777202.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号