- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR单片机的RC5和RC6算法比较与改进rc5及rc6是两种新型的分组密码。avr高速嵌入式单片机功能强大,在无线数据传输应用方面很有优势。本文基于atmega128高速嵌入式单片机,实现rc5和rc6加密及解密算法,并对算法进行汇编语言的优化及改进。根据实验结果。对两种算法的优热点进行比较和分析。
atmega128 rc5 rc6 分组密码 混合密钥 flash
引言
在无线局域网中,传输的介质主要是无线电波和红外线,任何具有接收能力的窍听者都有可能拦截无线信道中的数据,掌握传输的内容,造成数据泄密。因此,对于无线局域网来说,数据的加密是关键技术之一。
avr高速嵌入式单片机是8位risc mcu,执行大多数指令只需一个时钟周期,速度快(8mhz avr的运行速度约等于200mhz c51的运行速度);32个通用寄存器直接与alu相连,消除和运算瓶颈。内嵌可串行下载或自我编程的flash和epprom,功能繁多,具有多种运行模式。
依照ieee1999年发布的802.11无线局域网协议标准,采用atmel公司的atmega128高速嵌入式单片机,开发无线数据传输装置。为了实现无线数据传输时的安全性,同时尽可能节省成本,采用软件进行加密、解密。这就对算法的简法性、高速性及适应性提出了很高的要求。rc5和rc6两种新型的分组加密算法能够比较好地满足上述的要求。
1 rc5及rc6算法
1.1 rc5及rc6的参数
rc5及rc6是参数变量的分组算法,实际上是由三个参数确定的一个加密算法族。一个特定的rc5或者rc6可以表示为rc5-w/r/b或者rc6-w/r/b。其中这三个参数w、f和b分别按照表1所列定义。表1 rc5及rc6算法参数定义
参 数定 义常 用w以比特表示的字的尺寸16,32,64r加密轮数0~255b密钥的字节长度0~255
1.2 rc5及rc6字运算部件
rc5及rc6均由三部分组成,分别为混合密钥生成过程、加密过程和解密过程。在这两种算法中,共使用了六种基本运算:
模2w加法运算,表示为“ ”;
模2w减法运算,表示为“-”;
逐位异或运算,表示为 ;
循环左移,字a循环左移b比特表示为“ab”;
循环右移,字a循环右移b比特表示为“ab”;
模2w乘法,表示为“×”。
rc5算法运用了上述的~运算部分,rc6算法使用了上述所有的运算部件。
1.3 rc5算法
(1)rc5算法混合密钥生成过程的伪代码表示
s[0]=pw
for?i=1 to t-1 do
s[i]=s[i-1] qw
输入比特数大小为8,密钥长度为b的用户密钥k[0]至k[b-1]
转换k[0]至k[b-1]为数组长度为c,比特数为w的l[]数组
i=j=0 x=y=0
do 3×max(t,c)times:
s[i]=(s[i] x y)3;x=s[i];i=(i 1)mod t
l[j]=(l[j] x y)(x,y);x=l[j];j=(j 1)modc
其中c=[b×8/w]方括号表示上取整运算,t=2r 2,当w分别为16、32、64时,常数pw、qw分别如表2所列。表2 常数pw、qw取值表
w163264pw0xb7e10xb7e151630xb7e151628aed2a6bqw0x9e370x9e3779b90x9e3770b97f4a7c15
(2)rc5加密算法过程的伪代码表示
input(a,b)
a=a s(0)b=b s[1]
for?i=1 to r do
a=((a b)b) s[2i]
b=((b a)a) s[2i 1]
output(a,b)
其中初始的a、b分别为要加密的两个比特数为w的数据,最终的a、b分别为加密好的两个比特数为w的数据。
(3)rc5解密算法过程的伪代码表示
input(a,b)
for?i=r down to 1 do
b=((b-s[2i 1])a) a
a=((a-s[2i])b) b
a=a-s[0] b=b-s[1]
output (a,b)
其中初始a、b中的数据就是已经加密了的比特数为w的数据,最终的a、b中的数据为解密后的比特数为w的数据。
1.4 rc6算法
(1)rc6算法混合密钥生成过程伪代码表示
rc6混合密钥生成过程与rc5相同,只是t的取值为2r 4。
(2)rc6加密算法过程伪代码表示
input(a,b,c,d)
b=b s[0]d=d s[1]
for?i=1 to r do
t=(b×(2b 1))log2w
u=(d×(2d 1))1og2w
a=((a t)t) s[2i]
c=((c u)u) s[2i 1]
(a,b,c,d)=(b,c,d,a)
a=a s[2i 2]c=c s[2i 3]
output(a,b,c,
您可能关注的文档
- 课程设计任务书计算机0905班.doc
- 利用子网划分减少IP地址使用的分析.doc
- 联合体(共同体).ppt
- 链表中为何加头结点(实例).ppt
- 模电实验2.ppt
- 农民问题.doc
- 浅谈使用MD5算法加密数据(完整版).doc
- 人教版八年级数学第二十章讲学稿.doc
- 软件工程考点整理.doc
- 三招助你做好Oracle数据库备份测试.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)