库存索引:

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
0
1
2
3
4
5
6
7
8
9

硬件电路对应的子程序加密与解密过程中直接使用混合密钥

为了实现定时报警中断输出的功能,还将SD2001E INT1端与单片机的INT0外中断端相连,具体的硬件连接电路。网络补充版给出与上述硬件电路对应的子程序,包括SD2001E初始化子程序,实时时钟数据读、写子程序与INT1中断输出子程序。程序采用模拟I2C总线软件包编制。

由于SD2001E高精度时钟日历芯片将可充电池、晶振充电电路及256Kb的NVRAM集成在了一起,又采用了简单的I2C总线接口,因而该器件无需扩展任何外围元件就可构成一个功能完善的时钟日历电路,同时又可为系统提供一个容量为32KB的高性能非易失性数据存储单元,故该器件是嵌入式系统时钟电路的良好选择。

每当用户输入的用户密钥发生改变时,必须重新执行混合密钥生成过程,并且重新给Flash装载重新生成后的混合密钥表。在本程序中,RC5混合密钥表共占据52个8位寄存单元,RC6混合密钥表共占据56个8位存储单元。

在本程序中运用加法运算以及移位运算实现了16位二进制数乘以16位二进制数的无符号运算。

RC5及RC6算法实验的混合密钥过程、加密过程、解密过程和总体过程的效果比较

RC6算法和RC5算法在混合密钥生成时程序的大小相同,但量RC6算法却比RC5算法省时。这是因为根据混合密钥生在方法在执行循环,最终生成混合密钥时要执行比较操作。

在执行算法中的模2w加法运算、模2w减法运算、模2w乘法运算时,由于2w的取值为65536,而2个8位寄存器(0~15位)最高可以表示数据的值为65535.

数据再大就要向高位进位,所以在本程序执行上述的算法只需要考虑到2个8位寄存器所表达的值就得到了上述运算的最终结果,而不用再进行模2w运算。

⑤为了提高数据加密及解密的速率,可以把混合密钥生成过程提前执行,以使之生成一张混合密钥表。把这个表装入发送数据端Atmega128高速嵌入式单片机和接收数据端Atmega128高速嵌入式单片机的Flash中,从而在以后的加密与解密过程中直接使用混合密钥。

上海德懿电子科技有限公司  www.deyie.com

来源:21ic.如涉版权请联系删除。图片供参考