添加和解密算法在有限的计算能力的嵌入式系统中不仅需要难以破解的秘密文本,而且对计算速度和代码长度也有严格的要求。对称加密算法相对简单,易于实现,速度快。在智能远程抄表系统中,我们采用对称加密TEA算法保护传输数据,取得了理想的效果。
介绍TEA算法。
TEA算法是剑桥大学计算机实验室设计的,意为微加密算法。其目的是设计一种可靠的加密算法,可以通过各种语言实现,并且可以在大多数机器上运行。该算法使用128bits密钥对64bits的明文数据块进行加密,以获得64bits密文数据块。
Tea采用Feistel结构,类似于DES算法,对每个回收加法和位移操作进行迭代,传播和混淆明文和密钥,实现明文的非线性转换。Tea的钥匙长度和迭代次数是DES的两倍,反对试错法的攻击强度不低于DES算法。该算法以32个字符作为运算单位,而不是逐位运算,消耗计算能力。该算法不使用像DES这样的转换矩阵。它安全、高效,占用的存储空间较少。它非常适用于嵌入式系统。
TEA算法的C语言描述如下:
设计者认为DELTA在算法中的价值对算法没有影响,只是为了避免不良的取值,建议DELTA的价值应为黄金分割(5√-2)/2和232的乘积,取整后的16进制值应为0x99e3779B9。TEA算法的迭代次数可以改变,明文或密钥的1bit信息扩散到32bits最多需要6次迭代,因此16轮迭代可能就足够了,而算法设计师推荐的迭代次数是32轮。