原创 【博客大赛】ARM开发板实现DES加解密

2013-3-1 17:10 352 0 分类: MCU/ 嵌入式

这是一个简单的课程设计,尚未完成对文件的处理,只是简单的处理数组(图片是从ppt中截取的)。。。。。

 一:DES加解密简介

•DES( Data Encryption Standard)算法,是一种用56位密钥来加密64位数据的方法

1977年得到美国政府的正式许可,然后得到推广;

是使用比较广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DES用于嵌入式硬件中。

二:DES加解密原理

DES加密算法过程

20130301170645269001.jpg

*       64位明文:将用户要加密的内容以8Bytes为单位进行处理

*       初始变换:采用特定的初始换位表进行换位(例如输入的第58,在输出的时候被置换到第1;输入的是第7,在输出时被置换到第64

*       加密变换16轮:初始换位的64位的输出作为下一次的输入,64位分为左、右两个32,分别记为L0R0,L0R0L16R16,共进行16轮加密变换

*       逆初始变换:进行16轮的加密变换之后,L16R16合成64位的数据,再按照逆初始变换表 进行换位

*       生成16个子密钥:将64位密钥通过压缩换位去掉每个字节的第8,用作奇偶校验,因此,密钥去掉第81624……64位减至56,所以实际密钥长度为56,而每轮要生成48位的子密钥。

DES解密算法过程

20130301170845617001.jpg

w  64位密文:将加密后内容以8Bytes为单位进行处理

w  反(逆初始变换):将逆初始换位表顺序反过来进行换位(例如输入的第58,在输出的时候被置换到第1;输入的是第7,在输出时被置换到第64

w  解密变换16轮:初始换位的64位的输出作为下一次的输入,64位分为左、右两个32,分别记为L0R0,L0R0L16R16,共进行16轮解密变换

w  此处的16key与加密过程中的顺序正好相反

w  反初始变换:进行16轮的解密变换之后,L16R16合成64位的数据,再按照反初始变换表(将初始变换表顺序倒过来)进行换位

w  生成16个子密钥:将64位密钥通过压缩换位去掉每个字节的第8,用作奇偶校验,因此,密钥去掉第81624……64位减至56,所以实际密钥长度为56,而每轮要生成48位的子密钥。

三:ARM开发板实现

DES加解密实现流程

20130301170709922005.jpg

演示:

20130301170715586006.jpg

20130301170721457007.jpg

20130301170726456008.jpg

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
sunyzz 2017-08-19 10:38
【博客大赛】AVALON总线介绍
1、AVALON总线简介Avalon总线是一种协议较为简单的片内总线,是ALTERA公司定义的片上互联总线,该总线可以将诸如NIOS II的CPU与其他外设连接起来,进而进行数据交换。AVALON总线...
sunyzz 2017-08-17 21:36
【博客大赛】不要轻易做职场滥好人
小A毕业于国内普通高校,但是他聪明,勤奋,能干,动手能力强,可是即便有这些优点也不能让小A轻轻松松找到一份好工作。这不,去年9月份小A好不容易找到一份工作,然后立马就入职了C公司,生怕C公司过两天不要...
sunyzz 2017-08-16 21:15
【博客大赛】IC设计低功耗技术四
五:工艺层面的降低功耗前面几节都是在讨论设计人员如何在前期阶段,中期阶段降低功耗,涉及到软件层面的,硬件层面的,这些技巧基本都是前辈总结出来的,或者根据理论推论出来的。但是到了后期,想降低功耗基本就要...
sunyzz 2017-08-14 22:35
【博客大赛】IC设计之低功耗技术三
四:RTL(寄存器传输)级的低功耗设计4.1 状态机的设计状态机编码中一般有两种方式,普通的二进制编码,特殊的格雷码,格雷码的特点是两个数据之间的跳变时只会有一个bit在toggle,显然比起多bit...
sunyzz 2017-08-12 16:51
【博客大赛】IC设计之低功耗技术二
三、架构层面的降低功耗系统的实现有很多的方式,每种方式对功耗的影响都不相同,本节主要介绍架构对功耗的影响。3.1 高级门口电路 在同步电路系统中,时钟占据了大部分的动态功耗,因而在一些情况下,如果有些...
sunyzz 2017-08-12 10:37
【博客大赛】IC 设计之低功耗技术一
一、前言随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。节能是全球化的热潮,如计算机里的许多芯片过去用5V供电,现在用3.3V,1.8V,甚至更低的电压。目前的低功耗设计主要从芯片...
广告
我要评论
0
0
广告
关闭 热点推荐上一条 /2 下一条