欢迎来到天天文库
浏览记录
ID:37551917
大小:346.92 KB
页数:18页
时间:2019-05-25
《General Purpose - All》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AN1044适用于PIC24和dsPIC®器件的数据加密子程序三重DES(TDES)由DES衍生而来,且采用FIPS作者:DavidFlowers46-2和46-3进行记述。根据不同的工作模式,TDES使HowardHenrySchlunder用三重DES将密钥从56位扩展为112或168位。由于MicrochipTechnologyInc.DES算法存在已知的缺陷,据信两种不同方法实际用于安全作用的密码长度分别大约为80和112位。美国政简介府在1999年建议在所有系统中启用TDES,不过在一些老旧的系统中还是只能使用DES。目前,联邦信息处理标准(FIPS)中批
2、准使用了三种数TDES具有几种不同的模式。最常见的模式使用两种不据加密标准。本应用笔记对其中两种标准基于PIC24和同的密钥。用第一种密钥对数据进行加密。随后采用第dsPIC30/33器件的实现进行了讨论:三重数据加密标准二种密钥对加密结果进行解密。最后,再一次使用第一(TDES)和高级加密标准(AES)。种密钥对数据进行加密。其他工作模式使用三种不同的密钥,每个阶段使用一种密钥,且在所有轮中进行加密TDES加密而不是只在第二轮中进行解密。对于大多数新的应用,TDES已被高级加密标准(AES)所取代。AES是一种背景知识比TDES具有更高一些安全性能的加密方法,且其
3、速度比TDES更快、实现更为精简。最初的数据加密标准(DES)为64位块加密,由IBM®图1给出了最初的DES算法流程图。在加密文本生效在二十世纪70年代发明。DES使用64位加密密钥:之前,该过程执行32次。其中56位用于编码和解码,其余位用于奇偶校验。美国政府在1977采用该标准用于敏感数据的加密。至二十世纪90年代中期,一些公共组织宣称他们能够在几天之内破解DES密码。图1:最初的DES算法明文文本密钥IP排列左半区右半区E排列子密钥发生器IP-1排列S1S2S3S4S5S6S7S8加密文本前一左半区P排列2007MicrochipTechnologyInc
4、.DS01044_CN第1页AN1044在最初的DES标准中,明文文本按照初始排列矩阵IP图4:箱式排列矩阵(P)(图2)的规则进行排列。随后将其分为左半区和右半区。右半区按照E(图3)的规则进行排列,与每轮对应的子密钥进行异或运算并为S-Box的值所替换(图6),按照P(图4)的规则进行排列并与上一轮得167202129122817出的左半区数据进行异或。左半区的数据由上一轮计算11523265183110出的右半区数据替换,而右半区的数据则由新的计算值282414322739替换。这一过程将被重复32次,其结果按照逆排列矩-119133062211425阵IP(
5、图5)的规则进行排列以获得最终的加密文本。图2:初始排列矩阵(IP)585042342618102605244362820124图5:逆排列矩阵(IP-1)62544638302214664564840322416840848165624643257494133251791397471555236331595143352719113386461454226230615345372921135375451353216129635547393123157364441452206028353431351195927342421250185826图3:扩展排列矩阵(E)33
6、14111491757253212345456789891011图7中显示的可选实现可减少每一次加密所需的执行时1213121314151617间。由于S-Box替换和P排列都是线性操作,因此可将1617181920212021它们组合成一个操作,而非两个独立的操作,这样就产2223242524252627生了PS表。展开DES循环可避免一些临时变量的使用282928293031321并降低数据排序的开销。然而,这将导致代码长度的增加。有关排列和替换操作的具体介绍可参阅Microchip应用笔记AN583,“ImplementationoftheDataEncryp
7、tionStandardUsingPIC17C42”(DS00583)。图6:S-BOX矩阵(Sn)1441312151183106125907212417101168531513014901574142131106121195381411212471315015103986S=S=1441148136211151297310501069012117131513145284151282491751131410063315061011389451112721415181461134972131205101211015926801334147511313471528
此文档下载收益归作者所有