- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3DES算法原理与设计
摘要:该文详细介绍了3DES算法原理,嵌入式开发平台的搭建设,并此平台上实现了3DES算法功能设计。
关键词:3DES;嵌入式;移植
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)20-4817-02
3DES Algorithm Theory and Design
DENG Yue-heng
(Hebei Far East Commuication System Engineering Co.,Ltd., Shijiazhuang 050200, China)
Abstract: This paper describes the principles of the 3DES algorithm, embedded development platform, take the building, and the platform for a 3DES algorithm functional design.
Key words: 3DES; embedded; portable
随着信息化和数字化社会的发展,信息交互日益频繁,人们对信息安全和保密的重要性认识不断提高。信息安全的重要性毋庸置疑,数据加密技术作为信息安全技术的重要手段得到了广泛的应用。因此许多优秀、成熟的加密算法应运而生,如DES、3DES、RSA、MD5等加密算法。其中3DES算法以其占用资源少,安全性高的特点,在信息安全系统设计上广泛的应用。当今社会嵌入式产品随处可见,其信息安全性突出重要,因此设计基于嵌入式微处理器3DES算法系统是非常有实用意义的。
本文详细介绍了DES和3DES加密算法,并结合嵌入式系统开发知识,在以三星公司3C6410嵌入式微处理器为核心的嵌入式系统平台上,移植操作系统,并实现3DES加密算法。
1 DES和3DES加密算法简介
DES算法是一种分组对称加解密算法,明文按64位进行分组, 密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
DES算法的入口参数有三个,即Key,Data,Mode。Key为64bit密钥,Data为64bit数据,Mode为加密或解密模式。它把64位的明文输入块变为64位的密文输出块,他所使用的密钥也是64位,其算法主要分为两部分。首先进行初始置换,对64 位数据块按位重新组合,并把输出分成左半部分L0和右半部分R0,每部分各32位 长。其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位。然后进行逆运算,经过16轮运算后左、右部分在一起经过一个置换(初始置换的逆置换),由此即得到密文输出。其具体流程如图1所示。
3DES是DES加密算法的一种模式,它使用3条64位的密钥对数据进行三次加密。它以DES为基本模块,通过组合分组方法设计出分组加密算法,设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密表,这样,3DES加密过程为:C=Ek3(Dk2(Ek1(P))) ;3DES解密过程为:P=Dk1((EK2(Dk3(C))) 。其中K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3。在这种情况下,密钥的有效长度为112位。
2 系统实现
嵌入式系统采用三星S3C6410处理器作为系统的核心,并移植嵌入式WinCE6.0操作系统。配置1G Bytes NAND FLASH(型号为K9G8G08U0A)存贮加密/解密的数据。使用128M Bytes Mobile DDR存储器(两片Samsung K4X51163PC),使得数据传输总线频率可达266MHz,,提高的数据处理速度。集成了LCD液晶屏和触摸屏接口,方便人机交互。下面详细介绍系统系统实现方法。
2.1 硬件系统设计
硬件平台选用飞凌公司的OK6410开发板,其核心为Samsung S3C6410,它基于ARM11内核(ARM176JZF-S),采用了64/32位内部总线架构。该64/32位内部总线结构由AXI、AHB和APB总线组成。它还包括许多强大的硬件加速器,例如视频处理,音频处理,二维图形,显示操作和缩放。一个集成的多格式编编解码器(MF
文档评论(0)