流密码的设计与分析-回顾、现状与展望-

密码学报 ISSN 2095-7025 CN 10-1195/TN E-mail: jcr@https://www.360docs.net/doc/ac11381669.html,

Journal of Cryptologic Research,2016,3(6):527–545 https://www.360docs.net/doc/ac11381669.html,

+86-10-82789618 ?《密码学报》编辑部版权所有. Tel/Fax:

流密码的设计与分析: 回顾、现状与展望*

张斌, 徐超, 冯登国

中国科学院软件研究所计算机科学国家重点实验室, 可信计算与信息保障实验室, 北京 100190

通讯作者: 张斌, E-mail: zhangbin@https://www.360docs.net/doc/ac11381669.html,

摘 要: 流密码的设计与分析一直都是密码学中的核心问题之一. 上世纪40年代, Shannon证明了一次一

密体制在唯密文攻击下在理论上的完善保密性, 激发了流密码研究的热潮, 自此流密码的设计都是围绕着

如何产生接近完全随机的密钥流序列来进行, 发展出了基于线性反馈移位寄存器(LFSR)的若干设计范例,

许多基于此而设计的流密码纷纷被提出, 比如用于GSM通信安全的A5/1和蓝牙加密算法E0等, 同时也

出现了像RC4等基于随机洗牌的设计范式. 在欧洲NESSIE和eSTREAM计划之后, 流密码的设计日趋多

样化, 大量基于非线性反馈移位寄存器(NFSR)和基于分组密码扩散与混淆模块而设计的算法相继被提出,

以抵抗基于LFSR线性性质而发展的(快速)相关攻击与(快速)代数攻击等. 本文将首先回顾流密码设计与

分析的发展历程, 系统地综述流密码设计与分析中的若干关键技术与方法, 同时介绍了目前最新的研究成

果, 以及这个方向上目前需要解决的一些关键问题, 最后试着展望了一下未来流密码的发展方向.

关键词: 流密码; 流密码分析; 流密码设计

中图法分类号: TP309.7文献标识码: A DOI: 10.13868/https://www.360docs.net/doc/ac11381669.html,ki.jcr.000149

中文引用格式: 张斌, 徐超, 冯登国. 流密码的设计与分析: 回顾、现状与展望[J]. 密码学报, 2016, 3(6):

527–545.

英文引用格式: ZHANG B, XU C, FENG D G. Design and analysis of stream ciphers:past, present and future

directions[J]. Journal of Cryptologic Research, 2016, 3(6): 527–545.

Design and Analysis of Stream Ciphers: Past, Present and Future Directions

ZHANG Bin, XU Chao, FENG Deng-Guo

TCA Lab, SKLCS, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China

Corresponding author: ZHANG Bin, E-mail: zhangbin@https://www.360docs.net/doc/ac11381669.html,

Abstract: As one of the most important problems in cryptography, the design and analysis of stream ciphers has

always been a hot and central research topic. In the 40's of last century, Shannon proved in theory that the

one-time pad cipher is secure in the ciphertext-only scenario, and triggered the fervor in stream ciphers. Since

then, how to generate the keystreams which look like the purely random sequences as close as possible becomes

the key point. As a result, many stream ciphers based on linear feedback shift registers (LFSR) are proposed, e.g.,

GSM A5/1 and Bluetooth encryption algorithm E0. At the same time, the design paradigm like RC4 based on

random shuffles has also appeared. After the European NESSIE and eSTREAM projects, the design of stream

ciphers gets more and more diversified. Many algorithms based on nonlinear feedback shift register (NFSR) and

the confusion and diffusion principle in block ciphers have been proposed, which have good resistance against

(fast) correlation and (fast) algebraic attacks. This paper first reviews the development history of the design and

* 基金项目: 国家自然科学基金项目(61572482); 国家重点基础研究发展项目(973计划)(2013CB338002)

收稿日期: 2016-10-20 定稿日期: 2016-11-24

万方数据

序列密码

旺旺:旺我旺:能我过能软过软考考

主要内容
?序列密码的基本概念 ?序列密码的分类 ?线性移位寄存器序列 ?线性移位寄存器的输出序列求解
旺旺:我能过软考

序列密码的基本概念
版权所有:我能过软考
香农证明了“一次一密”不可破解。
用序列密码模仿“一次一密”密码。
为了安全,序列密码应使用尽可能长的密钥,但是,长密钥的存储、分配存在困难。
设计一个好的密钥序列产生算法,利用较短的种子密钥,产生长的密钥序列。 作为核心密码的主流密码
3 旺旺:我能过软考

序列密码的分类 同步序列密码
自同步序列密码 1)同步序列密码 ? 密钥序列产生算法与明密文无关 ? 产生的密钥序列和明密文无关
? 在通信中,通信双方必须保持精确的同步 ? 不存在错误传播
版权所有:我能过软考
输出反馈模式OFB
4 旺旺:我能过软考

同步序列密码的失步分析
版权所有:我能过软考


c=c1, c2, c4, c5…., cn-1, cn

⊕ k=k1, k2, k3, k4…., cn-1, cn
失 步
m=m1,m2, X,X…., X, X
? 可以检测插入、删除、重播等主动攻击
(c3 丢失) (密钥正确)
5 旺旺:我能过软考

同步序列密码错误传播分析
版权所有:我能过软考
c=c1, c2, c3, c4…., cn-1, cn ⊕ k=k1, k2, k3,k4…., cn-1, cn
m=m1,m2,X,m4 …,mn-1 ,mn-1 ? 不存在错误传播
(c3 错误) (密钥正确)
6 旺旺:我能过软考

分组密码与流密码的分析设计与比较

分组密码与流密码的分析设计与比较 1引言 随着科技的发展,信息安全在现代电子通信等方面发挥着越来越重要的作用密码编码学是应对各种信息安全威胁的最有效的方法。所谓密码编码学,是指生成高强度、有效的加密或认证算法。欲传送的原始信息叫做明文,对其进行可逆的数字变换后的信息称为密文。发送者通过加密算法对明文进行加密,得到密文,这个过程称为加密。接收者收到经过处理的密文后,通过解密算法,还原成明文,这一过程称为解密。 密码系统所采取的基本工作模式叫做密码体制,主要分为两大类:对称密钥密码体制与非对称密钥密码体制。对称密钥密码体制中的加密密钥与解密密钥相同,需要安全可靠的密钥传递信道,通信双方需保管好密钥。非对称密钥密码体制中加密与解密分别有一个对应的密钥,发送者查询接收者公开的公钥对明文进行加密,接收者收到密文后再利用只有自己知道的私钥进行解密。 对称密钥密码体制又分为两大类,分别是分组密码与流密码。所谓分组密码,就是按照算法设计者预先设定的长度把明文分割成块,再对每一分组进行加密解密的算法。而对

比特进行运算、采用"一次一密"的算法,则称为流密码。 2分组密码 2.1 概论 所谓分组密码,其明文分为若干个数据块,加密后得到的密文仅与给定的密钥算法和密钥有关,与被处理的明文数据块在整个明文中所处的位置无关。较典型的分组密码算法有DES算法、IDEA算法、AES算法等。 算法设计者事先设定好分块的长度,算法将明文按照该长度进行分组,再在这些定长的分组上进行运算。在分组密码的设计中,加密与解密的处理是建立在块的基础上。算法把明文分成设定的大小,通常为64 bit或128 bit,再对每个块单独编码。 2.2 设计原则 创立了经典信息论的数学家C.E.Shannon在1949年时发表了一篇名为"《保密系统的通信理论》的论文。在这篇论文中,Shannon提出了如何设计分组加密的组合密码系统。其中,设计分组密码需要依据两个一般原则,分别是混淆原则和扩散原则。 实现混淆原则,实际上就是复杂化密文的统计特性与和密钥的依赖关系。扩散原则,即所设计的密码应使得密钥的每一位数字影响密文的许多位数字以防止对密钥进行逐段破译,且明文的每一位数字也影响密文的许多位数字以隐蔽

分析比较分组密码AES-CFB或OFB与流密码RC4的特点

作业二、分析比较分组密码AES-CFB 或 OFB与流密码RC4的特点 一、RC4算法介绍 RC4是一种对称密码算法,它属于对称密码算法中的序列密码(streamcipher,也称为流密码),它是可变密钥长度,面向字节操作的流密码。 RC4是流密码streamcipher中的一种,为序列密码。RC4加密算法是Ron Rivest在1987年设计出的密钥长度可变的加密算法簇。起初该算法是商业机密,直到1994年,它才公诸于众。由于RC4具有算法简单,运算速度快,软硬件实现都十分容易等优点,使其在一些协议和标准里得到了广泛应用。 流密码也属于对称密码,但与分组加密算法不同的是,流密码不对明文数据进行分组,而是用密钥生成与明文一样长短的密码流对明文进行加密,加解密使用相同的密钥。 RC4算法特点: (1)、算法简洁易于软件实现,加密速度快,安全性比较高; (2)、密钥长度可变,一般用256个字节。 对称密码的工作方式有四种:电子密码本(ECB, electronic codebook)方式、密码分组链接(CBC, cipherblock chaining)方

式、密文反馈(CFB, cipher-feedback)方式、输出反馈(OFB, output-feedback)方式。 RC4算法采用的是输出反馈工作方式,所以可以用一个短的密钥产生一个相对较长的密钥序列。 OFB方式的最大的优点是消息如果发生错误(这里指的是消息的某一位发生了改变,而不是消息的某一位丢失),错误不会传递到产生的密钥序列上;缺点是对插入攻击很敏感,并且对同步的要求比较高。 RC4的执行速度相当快,它大约是分块密码算法DES的5倍,是3DES的15倍,且比高级加密算法AES也快很多。RC4算法简单,实现容易。RC4的安全保证主要在于输入密钥的产生途径,只要在这方面不出现漏洞,采用128bit的密钥是非常安全的。 RC4算法加密流程:包括密钥调度算法KSA和伪随机子密码生成算法PRGA两大部分(以密钥长度为256个字节为例)。 密钥调度算法:首先初始化状态矢量S,矢量S中元素的值被按升序从0到255排列,即S[0]=00, S[1]=1, …, S[255]=255.同时建立一个临时矢量T,如果密钥K的长度为256字节,则将K赋给T。否则,若密钥长度为keylen字节,则将K的值赋给T的前

相关文档
最新文档