- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[其它]第3章对称密码体制
第三章 对称密码体制 本章先介绍对称分组密码的一般原理,然后介绍典型分组密码DES和AES,最后简要介绍流密码 。 3.1 分组密码原理 对称密码体制根据对明文的加密方式的不同而分为分组密码和流密码。 分组密码先按一定长度(如64字节、128字节等)对明文进行分组,以组为单位加/解密; 流密码则不进行分组,而是按位加密。 分组密码系统对不同的组采用同样的密钥来进行加/解密。 设密文组 明文组 加密可得到 流密码的基本思想是利用密钥产生一个密钥流 明文串 密文 密钥流由密钥流发生器f产生: 分组密码与流密码的区别就在于记忆性 分组密码的设计思想 扩散(diffusion) 将明文及密钥的影响尽可能迅速地散布到较多个输出的密文中。产生扩散的最简单方法是通过“置换(Permutation)”(比如:重新排列字符)。 混淆(confusion) 其目的在于使作用于明文的密钥和密文之间的关系复杂化,是明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效。通常的方法是“代换(Substitution)”(回忆恺撒密码)。 Feistel网络结构 Feistel网络是由Horst Feistel在设计Lucifer分组密码时发明的,并因被DES采用而流行。 Feistel网络的安全性和软、硬件实现速度取决于下列参数: 分组长度:分组长度越大则安全性越高。 密钥长度:密钥长度越大则安全性越高。 循环次数:循环次数越多则安全性越高,通常选择16次。 子密钥算法:子密钥算法越复杂则安全性越高。 轮函数:轮函数越复杂则安全性越高。 快速的软件实现:有时候客观条件不允许用硬件实现,算法被镶嵌在应用程序中。此时算法的执行速度是关键。 算法简洁:算法简洁容易通过分析算法而知道算法抗各种攻击的能力,也有助于设计高强度的算法。 在Feistel网络中,如果Li和Ri的长度不相等,则称为非平衡Feistel网络。 如果每一轮中的函数F也是变化的,则称为非齐次非平衡Feistel网络。 SP网络结构 SP网络是分组密码的另一种重要结构,SAFER、SHARK、AES等著名的密码算法都采用此结构。 在这种密码中,每一轮的输入首先被一个由子密钥控制的可逆函数 S 作用,然后再对所得结果用置换(或可逆线性变换)P作用。 3.2 数据加密标准 美国国家标准局NBS于1973年5月发出通告,公开征求一种标准算法用于对计算机数据在传输和存储期间实现加密保护的密码算法。 1975 年美国国家标准局接受了美国国际商业机器公司IBM 推荐的一种密码算法并向全国公布,征求对采用该算法作为美国信息加密标准的意见。 经过两年的激烈争论,美国国家标准局于1977年7月正式采用该算法作为美国数据加密标准。1980年12月美国国家标准协会正式采用这个算法作为美国的商用加密算法。 DES的实质 DES是一种对称密码体制,它所使用的加密和解密密钥是相同的,是一种典型的按分组方式工作的密码。 其基本思想是将二进制序列的明文分成每64bit一组,用长为64bit(56bit)的密钥对其进行16轮代换和置换加密,最后形成密文。 DES的基本加密流程 加密前,先将明文分成64bit的分组,然后将64bit二进制码输入到密码器中,密码器对输入的64位码首先进行初始置换,然后在64bit主密钥产生的16个子密钥控制下进行16 轮乘积变换,接着再进行末置换就得到64位已加密的密文。 DES 算法的一般描述 0.子密钥产生器 置换选择1 移位次数表 置换选择2 置换选择PC-2将C中第9 18 22 25位和 D 中第7 9 15 26位删去,并将其余数字置换位置后送出48bit数字作为第i次迭代时所用的子密钥ki 1.初始置换 将64个明文比特的位置进行置换,得到一个乱序的64bit明文组,然后分成左右两段,每段为32bit 以L和R表示。 2.乘积变换 选择扩展运算E 对原第 32 1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 各位重复一次得到数据扩展 选择压缩运算S 将前面送来的48bit 数据自左至右分成8组,每组6bit。然后并行送入8个S盒,每个S盒为一非线性代换网络,有4个输出 S盒的内部结构 S盒的内部计算 若输入为b1b2b3b4b5b6其中b1b6两位二进制数表达了0至3之间的数。b2b3b4b5为四位二进制数,表
文档评论(0)