- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2_对称密钥密码.ppt
2 对称密钥密码 对称密钥密码 流密码(Stream Ciphers)? 根据’一次一密‘获得 密钥相对较短 密钥被扩展为更长的密钥流(keystream) Keystream被用做一次一密的密钥 只用到了混淆 分组密码(Block cipher) ? 根据‘电码本密码’获得 分组密码密钥决定电码本 每个密钥生成一个不同的电码本 混淆和扩散都得到利用 流密码 Stream Ciphers 流密码 现在已不如分组密码流行 本节讨论一种流密码 A5/1 基于线性移位寄存器(硬件实现) 用于GSM移动通信系统 流密码原理 流密码使用n比特长的密钥K,并将其扩展为更长的密钥流。 将密钥流与明文做异或运算, 得到密文C。 密钥流的使用方法与一次一密中的密钥相同。 解密时将密文与密钥做异或运算得到明文。 函数可表示为StreamCipher(K)=S K是密钥, S是和一次一密中对等的密钥流 A5/1 原理1 A5/1 使用3个线性移位寄存器(LFSR) 寄存器X: 19 bits (x0,x1,x2, …,x18) 寄存器Y: 22 bits (y0,y1,y2, …,y21) 寄存器Z: 23 bits (z0,z1,z2, …,z22) 三个寄存器共有64 bits 密钥K采用64 bits。 初始时密钥K被载入3个寄存器 A5/1 原理2 对每一步做: m = major(x8, y10, z10) Major(多数)函数定义: major(0,1,0) = 0 and major(1,1,0) = 1 如果 x8 = m 那么 X寄存器 进行移位运算 t = x13 ? x16 ? x17 ? x18 xi = xi?1 for i = 18,17,…,1 and x0 = t 如果 y10 = m 那么 Y寄存器进行移位运算 t = y20 ? y21 yi = yi?1 for i = 21,20,…,1 and y0 = t 如果 z10 = m 那么 Z寄存器进行移位运算 t = z7 ? z20 ? z21 ? z22 zi = zi?1 for i = 22,21,…,1 and z0 = t 密钥流比特最后由 x18 ? y21 ? z22 产生 A5/1原理3 每次运算获得一个比特 密钥用于初始化三个寄存器 每个寄存器是否进行移位操作由M(x8, y10, z10)决定 密钥流比特由三个最右端比特进行XOR运算获得 A5/1实例 在这种情况下, m = maj(x8, y10, z10) = maj(1,0,1) = 1 寄存器 X 进行移位, Y不进行移位, Z进行移位 密钥流比特由最右端比特进行XOR操作而得 此例, 密钥流比特是 0 ? 1 ? 0 = 1 最后用密钥流和明文做XOR运算进行加密和解密 流密码总结 密钥流的产生看似很复杂,但用硬件实现很简单 产生速度与计算机时钟速度相当(可与语音同步) 从一个64位密钥可产生无穷多密钥流 最终会产生密钥流循环! 流密码总结 因为过去基于软件的密码系统不能产生高速比特流,流密码曾十分辉煌,当今,基于软件的密码系统的出现,使分组密码成为主流 密码流的未来? 密码学家Shamir: “密码流已步入死亡-the death of stream ciphers”-2004 或许太夸张…但分组密码是现今主流 分组密码 Block Ciphers (Iterated) 分组密码(迭代) 密文和明文均是固定长度的分组(block) 通过若干轮使用轮函数(round function)迭代产生密文 轮函数的输入由前一轮的输出和密钥组成 分别设计一个安全的分组密码或者一个高速的算法不难,但既安全又高效的算法则非常困难 通常用软件实现 Feistel 密码(Cipher) Feistel 密码 是分组密码的一种(分组)原则,不是一种特殊的密码 将明文分解成右半部分和左半部分: 明文 = (L0, R0) 对于每一轮 i=1, 2,...,n, 计算: Li= Ri?1 Ri= Li?1 ? F(Ri?1,Ki) 此处 F 是 轮函数, Ki是第i轮的 子密钥(subkey) 密文 = (Ln, Rn) Feistel 密码解密 解密: 密文 = (Ln, Rn) 对每轮 i=n,n?1,…,1, 计算 Ri?1 = Li Li?1 = Ri ? F(Ri?1,Ki) 此处 F 是 轮函数, Ki是第i轮的 子密钥 subkey 明文 = (L0,R0) 此算法对所有函数F都适用 但只对特定函数来说是安全的 优点在于所有安全性问题可以转化为轮函数F的问题 DES密码 20世纪70年代提出DES(Data Encryption Standar
您可能关注的文档
最近下载
- CYX-QEHP-39新改扩建项目环境影响控制程序B0(工厂体系文件模板).doc VIP
- 03~04_项目融资模式之BOT项目.ppt VIP
- 团章考试题及答案.doc VIP
- 2025年中考真题作文解读:此刻,你不一样(威海)(写作指导+例文展示+名师点评).docx
- 小学一年级学习计划..doc VIP
- 包头市户外广告和牌匾设置技术标准标准DB 1502T006—2020.pdf
- 网络直播带货主播能力模型构建研究.docx VIP
- 淮阴工学院班主任工作手册.doc VIP
- 2024年新改版教科版一年级上册科学全册教案教学设计(新教材专用).docx
- 2025道德与法治二年级上册全册核心素养教案教学设计.docx
文档评论(0)