没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
2007 Microchip Technology Inc. DS01044_CN 第 1 页
AN1044
简介
目前,联邦信息处理标准(FIPS)中批准使用了三种数
据加密标准。本应用笔记对其中两种标准基于 PIC24 和
dsPIC30/33 器件的实现进行了讨论:三重数据加密标准
(TDES)和高级加密标准 (AES)。
TDES 加密
背景知识
最初的数据加密标准(DES)为 64 位块加密,由 IBM
®
在二十世纪 70 年代发明。 DES 使用 64 位加密密钥:
其中 56 位用于编码和解码,其余位用于奇偶校验。美
国政府在 1977 采用该标准用于敏感数据的加密。至二
十世纪 90 年代中期,一些公共组织宣称他们能够在几
天之内破解 DES 密码。
三重 DES (TDES)由 DES 衍生而来,且采用 FIPS
46-2 和 46-3 进行记述。根据不同的工作模式,TDES 使
用三重 DES 将密钥从 56 位扩展为 112 或 168 位。由于
DES 算法存在已知的缺陷,据信两种不同方法实际用于
安全作用的密码长度分别大约为 80 和 112 位。美国政
府在 1999 年建议在所有系统中启用 TDES,不过在一
些老旧的系统中还是只能使用 DES。
TDES 具有几种不同的模式。最常见的模式使用两种不
同的密钥。用第一种密钥对数据进行加密。随后采用第
二种密钥对加密结果进行解密。最后,再一次使用第一
种密钥对数据进行加密。其他工作模式使用三种不同的
密钥,每个阶段使用一种密钥,且在所有轮中进行加密
而不是只在第二轮中进行解密。对于大多数新的应用,
TDES 已被高级加密标准(AES)所取代。AES 是一种
比 TDES 具有更高一些安全性能的加密方法,且其速度
比 TDES 更快、实现更为精简。
图 1 给出了最初的 DES 算法流程图。在加密文本生效
之前,该过程执行 32 次。
图 1:最初的 DES 算法
作者:
David Flowers
Howard Henry Schlunder
Microchip Technology Inc.
右半区
左半区
E 排列
子密钥发生器
明文文本 密钥
S
8
S
1
S
2
S
3
S
4
S
5
S
6
S
7
P 排列
前一左半区
IP
-1
排列
加密文本
IP 排列
适用于 PIC24 和 dsPIC
®
器件的数据加密子程序
AN1044
DS01044_CN 第 2 页 2007 Microchip Technology Inc.
在最初的 DES 标准中,明文文本按照初始排列矩阵 IP
(图 2)的规则进行排列。随后将其分为左半区和右半
区。右半区按照 E (图 3)的规则进行排列,与每轮对
应的子密钥进行异或运算并为 S-Box 的值所替换
(图 6),按 照 P(图 4)的规则进行排列并与上一轮得
出的左半区数据进行异或。左半区的数据由上一轮计算
出的右半区数据替换,而右半区的数据则由新的计算值
替换。这一过程将被重复 32 次,其结果按照逆排列矩
阵IP
-1
(图 5)的规则进行排列以获得最终的加密文本。
图 2: 初始排列矩阵 (IP)
图 3: 扩展排列矩阵 (E)
图 4: 箱式排列矩阵 (P)
图 5: 逆排列矩阵 (IP
-1
)
图 7中显示的可选实现可减少每一次加密所需的执行时
间。由于 S-Box 替换和 P 排列都是线性操作,因此可将
它们组合成一个操作,而非两个独立的操作,这样就产
生了 PS 表。展开 DES 循环可避免一些临时变量的使用
并降低数据排序的开销。然而,这将导致代码长度的增
加。
有关排列和替换操作的具体介绍可参阅 Microchip 应用
笔记 AN583
,“
Implementation of the Data Encryption
Standard Using PIC17C42
”
(DS00583)。
图 6: S-BOX 矩阵 (S
n
)
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
321234545
6789891011
12 13 12 13 14 15 16 17
16 17 18 19 20 21 20 21
22 23 24 25 24 25 26 27
28 29 28 29 30 31 32 1
16 7 202129122817
1 152326 5 183110
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25
408481656246432
397471555236331
386461454226230
375451353216129
364441452206028
353431351195927
342421250185826
331411149175725
S
2
151 8146113 4 97213120510
3134 7152 81412011069115
014711104131 58126 93215
138101 3154 211671205149
=
S
3
100 91463155 113127114 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
136 4 98153 0111 212510147
11013069 8 7 415143115 212
=
S
4
7131430 6 91012851112415
13 8 115 6 15 0 3 4 7212 1 1014 9
10 6 9 01211 7 13151314 5 2 8 4
31506101138 94511127 214
=
S
4
21241 710116 85315130149
14112124 7131 501510398 6
106901211713151314528 4
31506101138 94511127214
=
S
6
1211015926801334147511
10154 27129 5 6 113140113 8
91415528123 7 0 410113116
4 3 2 129 5 15101114 1 7 6 0 8 13
=
S
7
41121415081331297 51061
130117 4911014351221586
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
611138 14107 9 5015142312
=
S
8
132 84615111109 3145 0127
115138103 7 4125 6110149 2
71141912142 0 61013153 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
=
S
1
144131215118 3106125 907
0157414213110612119 538
4 1 14813 6 2 111512 9 7 3 1050
1512824 9 1 7 51131410063
=
2007 Microchip Technology Inc. DS01044_CN 第 3 页
AN1044
图 7: 速度优化后的 DES 算法
IP 排列
明文文本
E 排列
密钥
PS
8
PS
1
PS
2
PS
3
PS
4
PS
5
PS
6
PS
7
右半区左半区
E 排列
PS
8
PS
1
PS
2
PS
3
PS
4
PS
5
PS
6
PS
7
加密文本
子密钥发生器
IP
-1
排列
剩余17页未读,继续阅读
资源评论
- guowei978912014-06-22暂时用处还不大,以后可用。
zsfdltt
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功