布尔函数在现代密码学中的应用本科学位论文.doc
《布尔函数在现代密码学中的应用本科学位论文.doc》由会员分享,可在线阅读,更多相关《布尔函数在现代密码学中的应用本科学位论文.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、布尔函数在现代密码学中的应用THE APPLICATION OF THE BOOLEAN FUNCTION IN MODERN CRYPTOGRAPHY 指 导 教 师:申请学位级别:学士论文提交日期:2014年6月9日摘 要在密码学中扮演着重要角色的布尔函数被广泛用于流密码和分组密码的分析和设计中。最主要的原因是布尔函数的密码学性质在某种程度上直接决定系统的安全性。本文是一篇关于布尔函数的密码学性质及其应用的文章。文中首先介绍了布尔函数的研究背景、重要性及国内外研究现状,并概述了密码学相关的基础知识,给出了布尔函数的定义,对其各种表示方法和研究方法进行介绍,主要介绍了真值表,小项表示等。其次
2、讨论了布尔函数的几个密码学性质和定理,重点介绍了作为布尔函数研究的一个重要工具Walsh谱,并介绍了布尔函数的密码学性质,主要包括非线性、平衡性、相关免疫和严格雪崩等。最后重点研究了布尔函数在流密码和分组密码中的应用。序列密码体制的安全性取决于密钥流,而密钥流序列由密钥流生成器产生,在密钥流生成器中,布尔函数起着极其关键的作用。分组密码体制的算法中最具有代表性之一的是DES算法,其设计的关键是盒,而多输出布尔函数可以很好地用来描述盒。关键词:序列密码; 分组密码; 密钥流生成器; DES算法; 盒; 布尔函数; Walsh谱ABSTRACTThe Boolean function playin
3、g an important role in cryptology is widely used in the analyses and designs of stream cipher or block cipher.The main reason is that at some degree the cryptographic properties of Boolean function directly decide the security of system.This dissertation is devoted to the cryptographic properties an
4、d applications of the Boolean functions in modern cryptography.Firstly the research background and significance of Boolean function, and the status-quo of this research both at home and abroad are introduced.And the basic knowledge of cryptography are summarized,and the Boolean function is definited
5、 , furthermore the denotation methods and the research methods of the properties of Boolean function,mainly including the truth table and polynomial denotation, etc are summarized .Secondly several cryptographic properties and theorem about the Boolean function are discussed , Walsh spectrum which i
6、s thought as an important tool of studying the Boolean function are introduced, and the cryptographic properties of the Boolean function, mainly including nonlinear, balance, related immune and strict avalanche,etc are introduced. Finally we focuse on the applications of the Boolean function in stre
7、am cipher and block cipher. The security of stream cipher depends on the key stream furthermore the key stream sequences are generated by the key stream generators where the Boolean function plays an important role.One of the most representative block cipher algorithm is DES algorithms, which the ke
8、y on designing is S-box,which can be described by multiple output Boolean function. Key word:Stream cipher ; block cipher; key stream generators; S-box; Boolean function; Walsh spectrum目 录1 前言11.1 背景和意义11.2 国内外研究现状综述11.3 本文研究的主要内容22 基本理论知识32.1 密码学基本概念32.2 布尔函数的基本知识52.3 布尔函数的研究方法83 布尔函数的密码学性质103.1 布尔
9、函数的Walsh变换及其性质103.2 布尔函数的线性性113.3 布尔函数的非线性性123.4 相关免疫性133.5 布尔函数的平衡性133.6 布尔函数的对称性143.7 严格雪崩准则143.8 扩散准则144 序列密码与布尔函数154.1 序列密码概述154.2 密钥流生成器164.3 位移寄存器164.4 序列密码中布尔函数的设计准则195 分组密码与布尔函数215.1 分组密码概述215.2 DES算法235.3 分组密码中布尔函数的设计准则306 结论31参考文献36致 谢37天津科技大学2014届本科生毕业论文1 前言1.1 背景和意义在信息技术飞速发展的今天,网络数据的传输和共
10、享越来越复杂,信息传递过程中的安全性越来越被人们所重视,这在某种程度上推动了人们对现代密码学的研究。从第二次世界大战以来,密码学理论和技术的应用已经不在局限于某个领域,不仅涵盖了军事、国防和金融,而且包含了政府、文教和商业的各个领域1。而现在,现代密码理论及其技术已与个人信息保密与否密切相关,这也就为密码学理论及其技术的应用和研究提供了极为广阔的前景。当消息通过开放的网络发布时,可能没有任何保密的必要,但用户可能需要确保收到的消息在传输过程中尚未改变。此外,他们还需要确保他们知道发送者的身份。所以,如何保证通过互联网传来的信息来源的可靠性、完整性和安全性就显得极为重要,密码学正是能在这一问题上
11、提供保障的重要手段之一,由于布尔函数在流密码和分组密码的加密系统中起着重要作用,而这些系统的安全性主要由布尔函数的密码学性质决定2。自1977年开始,美利坚合众国发行了第一数据加密标准,各国对密码技术的研究都是非常重视的,特别是从单钥密码到双钥密码这一突破性的进展和DES到AES的过程,更使密码算法的研究风潮一直不退。无论是单输出布尔函数还是多输出布尔函数,都在密码算法的设计与分析中起有很大的作用,如序列密码中常用的密钥流生成器,既有非线性组合生成器也有非线性滤波生成器,显然对这些生成器的分析也可归结到对布尔函数的分析。而对现代分组密码体制中的起决定作用的S盒的研究亦可归为多输出布尔函数的研究
12、,而且现在已经将S盒的应用推广到了序列密码体制中,由此可见对密码体制某种程度归结为布尔函数的研究3。所以,为保障信息来源的完整性可靠性,必须有效地构造具有良好的加密特性的布尔函数。人们已经对布尔函数的研究比较多的有高非线性,平衡性,对称性,扩散性,相关免疫性和严格雪崩等特性,并且硕果累累,但要达到人们对信息保密程度的要求仍还有很多工作要做。总之,布尔函数在密码学中的研究不仅具有理论价值,而且具有使用价值。1.2 国内外研究现状综述人们从几千年前就开始运用密码技术了,而当Shannon在1949年发表“保密通讯信息理论”一文之后,密码学才算成为一门科学。但是1949年到1975年这段时间密码学的
13、研究发展比较缓慢。但自1976年,赫尔曼和狄菲在其发表的“密码学的新方向”一文中提出了双钥体制,这一密码体制的提出打破了沿用已久的单钥体制,使得收发双方在建立保密通信前不再需要事先交换密钥1。在1976年,Rothaus证明了元布尔函数的非线性度是,这里是偶数2。这就是bent函数,具有高非线性,这对于抵抗线性攻击和最佳放射攻击具有很好的作用。相关免疫性作为布尔函数的一种统计性质,在布尔函数的研究中有着重要意义,它首先由Tsiegenthaler于1984年在研究流密码系统安全性时提出。我国密码学研究的代表人物肖教授发现了bent函数具有一个非常重要的性质:函数的相关免疫阶与非线性次数之间此消
14、彼长,相互矛盾。通过降低对相关免疫性的要求,可以在非线性次数跟相关免疫阶之间找到某个平衡点,由此提出了广义相关免疫函数。严格雪崩准则首先是由Webster和Tavares在1986年提出的,这一准则对S盒的研究有重要意义。在2003年,Courtois4和Armknecht5提出的强大代数攻击使用了一个新的设计准则,即代数免疫。代数攻击的主要思想是通过求解多元代数方程组来恢复密钥。如XL算法等有效算法的出现,解决了被过度定义的多元代数方程的系统,代数攻击成功地破译出如Toyocrypt和LILI-128等比较有名的序列密码6。在此背景下,Meier, Pasalic 和Carlet 对代数免疫
15、提出了一种新概念7:具有代数免疫性的布尔函数对抵制代数攻击具有较高的免疫性。1.3 本文研究的主要内容本文着重讨论布尔函数的密码学性质及其在密码学中应用,主要内容安排如下: 主要介绍布尔函数的研究背景和意义,以及国内外的研究现状。 主要介绍与密码学相关的概念以及密码体制和布尔函数的表示方法和研究方法。 主要介绍布尔函数的密码学性质,主要有非线性、相关免疫性和严格雪崩等 主要介绍布尔函数在序列密码中的应用,如密钥流生成器中的位移寄存器序列。 主要介绍布尔函数在分组密码中的应用,如DES算法和S盒。12 基本理论知识2.1 密码学基本概念2.1.1 密码学基本原理密码学是一门研究通信安全或密码系统
16、的学科,现代密码学(Cryptology)由密码分析学(crypto-analytics)和密码编码学(cryptography)组成2。密码技术通过对信息进行编码来保护或隐蔽某些需保密的信息,从而防止信息在存储或传输时被未授权者删除、增添、识别、伪造或修改,从而达到实现消息保密性、可认证性的和完整性目的2。密码系统的思想是以某种方式伪装机密信息,而该方式的含义对于那些未经授权的人来说是难以理解的8。待隐藏的信息被称为明文(或只是消息),此隐藏过程被称为编码或加密的操作。经过加密的消息称为密文,加密该消息的编码工具被称为编码器,而他们发送密码电文的对象被称为接收器。使用该编码器来加密明文的一组
17、规则称为加密算法。通常,该算法的操作将依赖于一个加密密钥,其中该编码器将加密密钥连同消息一起输入到算法中。为了使收件人可以从密文得到消息,必须有一个算法,该算法中,解密密钥将密文再现为明文,如图2-1: 加密密钥解密密钥图1密码电文信息信息 加密算法 解密算法 图2-1 算法原理即使未授权者知道解密算法,未授权者也不知道解密密钥,正是缺乏解密密钥防止他们知道明文的信息,所以密码编码学是设计密码系统和密码分析的科学,而密码分析学是从不知道密钥的密文推断明文的过程的一个名称,密码学是密码编码学和密码分析学的总称。在实践中,大多数密码攻击都与试图确定解密密钥的行为有关,因为,如果成功,攻击者就会有相
18、同的信息成为预期收件人,并且攻击者就能够解密所有其他通信,直到密钥改变。但是,有时候攻击者唯一目的是读取某一个特定的消息。通过以上介绍可以得出:从密文获得消息时,加密密钥是不重要的。这个简单的事实已经对现代密码学产生了巨大影响,并导致其被自然划分成两种类型的密码系统公钥系统和私钥系统,这也是我们下一节将要介绍的内容。2.1.2 密码体制的分类根据不同的标准,密码体制有不同的分类。2.1.2.1 私钥密码体制和公钥密码体制1根据密码系统密钥的特点,密码体制可以分为私钥密码体制和公钥密码体制,而私钥密码体制又称对称密码体制或单钥密码体制,公钥密码体制则又称为非对称密码体制或双钥密码体制。2.1.2
19、.1.1 私钥密码体制对于私钥密码体制主要研究的问题是怎么生成满足要求的密钥流。目前主要有以下两种方法:一是把具有良好随机性统计特征的伪随机序列作为密钥序列,二是分组加密算法。在私钥密码体制中,由于加密密钥和解密密钥相互对应,因而私钥密码体制的安全性取决于密钥的安全性。而且在进行通信前,通信的双方必须通过安全信道传送所使用的密钥,因而增加了用户的使用成本。2.1.2.1.2 公钥密码体制1976年,赫尔曼(Hellman)和狄菲(Diffie)在其发表的“密码学的新方向”中提出了公钥密码体制的概念。因为它有两个不同的密钥(公开的密钥和秘密的密钥),彼此之间很难推出对方,而且加密变换和解密变换之
20、间可以相互交换,所以我们也称公钥密码体制为双钥密码体制。因为双钥密码体制的特点是将加解密的密钥分开,同时也就将加解密能力分开了,因此它既可用于在公共网络中实现保密通信,也可以用于认证系统中进行发送者的身份确认。公钥密码体制相对于私钥体制对通讯环境的安全性要求较弱,因而其应用领域较广,但是其运行速度较慢8。而私钥密码体制正好相反,机构简单,速度快,其运行速度是公钥密码体制的成百上千倍。其缺点就是保密程度相对较差,而现实中我们就要在他们之间找到一个平衡点,既保证一定的速度,又保证信息尽可能不泄露,所以,现实中通常是两种体制交叉并相互运用,即使用公钥密码体制来生成和交换密钥,而使用私钥密码体制来传输
21、大量数据。使用公钥密码体制的系统成为公钥系统,它趋向于使用非常大的数字运算处理,公钥系统的两个主要用途是提供数字签名和作为加密密钥为对称密钥系统分发密钥。在每一种情况下,攻击者有两种不同的方法攻击系统。一个是在取得相关的密钥。这个可能是由通过从公钥计算密钥或通过取得其存储和/或使用该密钥的设备来实现的(该计算攻击可以通过使用合适的密钥,或者指望攻击者完成必要的计算后觉得不可行而主动放弃。涉及设备滥用的攻击必须通过良好的管理或使用适当的防篡改设备进行防御。)。另一个是对方攻击打算替换公钥。如果公钥系统被用于对称密钥加密,那么,由于攻击者的密钥已经被用于加密,公钥系统将成为攻击者,而不是获得的对称
22、密钥的预期收件人。如果公钥系统被用来提供数字签名,那么,很明显攻击者可以伪造签名者真正的签名。要解决这一系列问题,就必须了解密码体制实现的具体方式。2.1.2.2 序列密码和分组密码根据明文消息加密方式和实现形式的不同,我们将密码体制分为流密码和分组密码。2.1.2.2.1 分组密码分组密码则是将明文消息序列分成等长的消息组(),在密钥控制下按固定的算法一组组进行加密。加密后输出的等长密文组2.1.2.2.2 序列密码序列密码也称为流密码(Stream Cipher)9,具有实现简单、加解密速度快、几乎没用错误传播的特点,所以其在专用或机密机构中有很大的优势,其应用领域主要包括无线通信、外交通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 布尔 函数 现代 密码学 中的 应用 本科 学位 论文
限制150内