网站大量收购独家精品文档,联系QQ:2885784924

22201231210140 罗江涛 流密码.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
22201231210140 罗江涛 流密码

流密码加密实验 学号::罗江涛 :计算机科学与技术 【实验环境】 ISES客户端 Microsoft CLR Debugger 2005或其它调试器 【实验内容】 通过运算器工具实现RC4算法的加解密计算 对RC4和LSFR算法进行扩展实验 对RC4和LSFR算法的加解密进行算法跟踪 【实验原理】 流密码(stream cipher)也称为序列密码,每次加密处理数据流的一位或一个字节,加解密使用相同的密钥,是对称密码算法的一种。1949年Shannon证明只有一次一密密码体制是绝对安全的,为流密码技术的研究提供了强大的支持,一次一密的密码方案是流密码的雏形。流密码的基本思想是利用密钥K产生一个密钥流k1k2…kn对明文流M=m1m2…mn进行如下加密:C=c1c2…cn=Ek1(m1)Ek2(m2)…Ekn(mn)。若流密码所使用的是真正随机产生的、与消息流长度相同的密钥流,则此时的流密码就是一次一密的密码体制。 流密码分为同步流密码和自同步流密码两种。同步流密码的密钥流的产生独立于明文和密文;自同步流密码的密钥流的产生与密钥和已经产生的固定数量的密文字符有关,即是一种有记忆变换的序列密码。 RC4流密码算法 RC4是1987年Ron Rivest为RSA公司设计的一种流密码,是一个面向字节操作、具有密钥长度可变特性的流密码,是目前为数不多的公开的流密码算法。目前的RC4至少使用128为的密钥。RC4的算法可简单描述为:对于n位长的字,有共N=2n个可能的内部置换状态矢量S= S[0] ,S[1],…, S[N-1],这些状态是保密的。密钥流K由S中的2n个元素按一定方式选出一个元素而生成,每生成一个密钥值,S中的元素就重新置换一次,自始至终置换后的S包含从0到N-1的所有n比特数。 RC4有两个主要算法:密钥调度算法KSA和伪随机数生成算法PRGA。KSA算法的作用是将一个随机密钥变换成一个初始置换,及相当于初始化状态矢量S,然后PRGA利用KSA生成的初始置换生成一个伪随机数出序列。 密钥调度算法KSA的算法描述如下: for i=0 to N-1 do S[i]=i; j=0; for i=0 to N-1 do j=(j+S[i]+K[i mod L]) mod N; swap(S[i],S[j]); 初始化时,S中元素的值被设置为0到N-1,密钥长度为L个字节,从S[0]到S[N-1]对于每个S[i]根据有密钥K确定的方案,将S[i]置换为S中的另一个元素。 伪随机数生成算法PRGA的算法描述如下: i=0; j=0; while(true) i=(i+1) mod N; j=(j+S[i])mod N; swap(S[i],s[j]); output k=S[(S[i]+S[j])mod N]; PRGA算法主要完成密钥流的生成,从S[0]到S[N-1],对每个S[i],根据当前S的值,将S[i]与S中的另一个元素置换,,当S[N-1]完成置换后,操作再从S[0]开始重复。 加密时将K值与下一个明文字节异或;解密时将K值与下一密文字节异或。 基于LFSR的流密码 线性反馈移位寄存器(Linear Feedback Shift Register,LFSR)是产生密钥流最重要的部件。如图1.1.31所示,GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数f(a1,a2,…,an)组成;每一个二值(0,1)存储器称为反馈移位寄存器的一级,ai表示第i级存储器的内容;在某一时刻,这些级的内容构成该反馈移位寄存器的一个状态,共有2n个可能的状态,每一状态对应一个n维向量(a1,a2,…,an)。 图1.1.31 在主时钟确定的周期区间上,每一级存储器ai都就将其内容传递给下一级ai-1,并根据寄存器当前的状态计算f(a1,a2,…,an)的值作为ai下一时刻的内容,即从一个状态转移到下一状态。 若反馈移位寄存器的反馈函数f(a1,a2,…,an)=cna1cn-1a2…c1an,其中系数ci=0,1,加法为模2加,即该反馈函数是a1,a2,…,an的线性函数,则称之为线性反馈移位寄存器,用LFSR表示,如图1.1.32所示。令ai(t)便是t时刻第i级的内容,则有: 图1.1.32 基于LSFR的流密码反馈加密体制如下: 设密钥为c1,c2,…,cn,a1,a2,…,an的初始状态为s1,s2,…,sn,其中cn=1。设明文为m=m1m2…mn,密文为c=e1e2…en,则有: 对应的基于LSFR的加解密过程如图1.1.33和图1.1.34所示。 图1.1.33 图1.1.34 【实验步骤】 RC4 选择RC4标签,进入RC4算法的实验面板。 加解密计算

您可能关注的文档

文档评论(0)

aasg26 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档