第3讲 对称密钥密码体制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
和种 子i 密钥(记作k)决定 ,即
ki ;f (加k,密i )变换
与解Eki
密变换
也Dk和i i 时刻的流密码内部状态有关。
流密码分类
❖ 用状态转移函数 f s 描述流密码加密器中存储器的状态随时间变化 的过程。 同步流密码 :如果某个流密码中的状态转移函数 f s 不依赖被 输入加密器存储器的明文,即密钥流的生成独立于明文流和密 文流的流密码称为同步流密码。使用最广泛。 自同步流密码也叫异步流密码 :状态转移函数 f s 与输入明文 有关,即其中密钥流的产生并不是独立于明文流和密文流的。 通常第i个密钥字的产生不仅与主密钥有关,而且与前面已经产 生的若干个密文字(与明文字)有关。
[解] 经加密变换得密文:ຫໍສະໝຸດ Baidu
C = Ek (m) = Ek1(m1)Ek2(m2)···= (k1+m1) (k2+m2)··· 经解密变换得:
Dk (C) = Dk ((k1+m1)(k2+m2)···) = (k1+k1+m1)(k2+k2+m2)··· 由于ki∈F2,则 ki+ki=0,i=1,2,···,故 Dk (C)= m1m2···= m 。 ❖ 密文C 可由明文m与密钥k进行模2加获得。因此要用该密码系统通信就要 求每发送一条消息都要产生一个新的密钥并在一个安全的信道上传送,习 惯上人们称这种通信系统为“一次一密系统”。
按密码出现的时间不同
古典密码 (Classical cipher) 现代密码 (Modern cipher)
一次一密:指在流密码当中使用与消息长度等长的随机密钥, 密钥本身只使用一次
回顾
❖按照对明文的处理方法进行分类
流密码(序列密码)
流密码是一种针对比特流的重要加密方法,这种密码使用非常简 单的规则,每次只对二进制串的一个比特进行编码。 流密码的原则是创建密钥流的随机比特串,并且将明文比特和密 钥流比特组合在一起,生成的比特串就是密文。
分组密码
在分组密码中,明文消息是按一定长度分组(长度较大的),每组都使用 完全相同的密钥进加密,产生相应的密文,相同的明文分组不管处在明文 序列的什么位置,总是对应相同的密文分组。
流密码的研究现状
当前对流密码的研究主要集中在以下两个方向: (1)什么样的序列可以作为安全可靠的密钥序列?即衡量密
钥流序列好坏的标准。 (2)如何构造线性复杂度高、周期大的密钥流序列?
流密码的时变性--随时间而变化
流密码采用了类似于一次一密的思想,但加密各明文字的密钥 字不是独立随机选取的,而是由一个共同的较短的主密钥按一个算 法产生的。因此,它不具有一次一密的无条件安全性,但增加了实 用性,只要算法设计得当,其安全性可以满足实际应用的需要。
密钥流中的元素的产生由 i 时刻的流密码内部状态(记作 )
第3讲 对称密钥密码体制
1
什么是流密码
按加密的方式
分组密码 (Block cipher) 流密码 (Stream cipher) 公钥密码 (Public-Key cipher)
密码学(Cryptology) 按加解密采用的密钥不同
对称密码 (Symmetric cipher) 非对称密码 (Asymmetric cipher)
密钥发生器 种子 k
明文流 m i
明文流m i 加密算法E
密钥流 k i 密钥流 发生器
密文流 c i
安全通道 密钥 k
解密算法D
密钥流 发生器
明文流m i
密钥流 k i
图1 同步流密码模型
内部状态 输出函数
内部状态 输出函数
密钥发生器 种子 k
k
密文流 c i
k
图2 自同步流密码模型
明文流 m i
流密码的原理
密钥ki
密钥ki
明文mi
加密算法E
密 文 ci=Ek(mi)
解密算法D
明 文 mi=Dk(ci)
流密码通信模式框图
例 设明文、密钥、密文都是F2上的二元数字序列,明文m=m1m2···,密钥为 k=k1k2···,若加密变换与解密变换都是F2中的模2加法,试写出加密过程与 解密过程。
同步流密码中,消息的发送者和接收者必须同步才能做到正确 地加密解密,即双方使用相同的密钥,并用其对同一位置进行 操作。一旦由于密文字符在传输过程中被插入或删除而破坏了 这种同步性,那么解密工作将失败。否则,需要在密码系统中 采用能够建立密钥流同步的辅助性方法。
分解后的同步流密码
密钥流生成器
❖ 密钥流生成器设计中,在考虑安全性要求的前提下还应考虑 以下两个因素: 密钥k易于分配、保管、更换简单; 易于实现,快速。
第二,在某些情况下(例如对某些电信上的应用),当缓冲不足或必 须对收到的字符进行逐一处理时,流密码就显得更加必要和恰当;
第三,流密码能较好地隐藏明文的统计特征等。
流密码的原理
❖ 在流密码中,明文按一定长度分组后被表示成一个序列,并 称为明文流,序列中的一项称为一个明文字。加密时,先由 主密钥产生一个密钥流序列,该序列的每一项和明文字具有 相同的比特长度,称为一个密钥字。然后依次把明文流和密 钥流中的对应项输入加密函数,产生相应的密文字,由密文 字构成密文流输出。即 设明文流为:M=m1 m2…mi… 密钥流为:K=k1 k2…ki… 则加密为:C=c1 c2…ci…=Ek1(m1)Ek2(m2)…Eki(mi)… 解密为:M=m1 m2…mi…=Dk1(c1)Dk2(c2)…Dki(ci)…
流密码的研究现状
在保密强度要求高的场合如大量军事密码系统,仍多采用 流密码,美军的核心密码仍是“一次一密”的流密码体制。鉴 于流密码的分析和设计在军事和外交保密通信中有重要价值, 流密码的设计基本上都是保密的,国内外少有专门论述流密码 学的著作,公开的文献也不多。尽管如此,由于流密码长度可 灵活变化,且具有运算速度快、密文传输中没有差错或只有有 限的错误传播等优点,目前仍是国际密码应用的主流,而基于 伪随机序列的流密码是当今最通用的密码系统。
3.1 流密码
❖ 在流密码中,将明文消息按一定长度分组(长度较小,通常按 字或字节),然后对各组用相关但不同的密钥进行加密,产生 相应的密文,相同的明文分组会因在明文序列中的位置不同而 对应于不同的密文分组。
❖ 相对分组密码而言,流密码主要有以下优点:
第一,在硬件实施上,流密码的速度一般要比分组密码快,而且不需 要有很复杂的硬件电路: