我需要一个适用于PIC单片机的良好加密算法。经过一些谷歌搜索后,似乎XXTEA是唯一的选择,"XXTEA is vulnerable to a chosen-plaintext attack requiring 2^59 queries and negligible work"。
我不擅长密码学,所以我想问:上述陈述有多准确?我可以在商业安全应用程序中使用XXTEA吗?如果不是,我的嵌入式系统可以使用任何可用的算法吗?
答案 0 :(得分:11)
您无法知道加密算法的安全性。 没有人知道什么使加密算法安全。我们所拥有的最好的算法是“多年来一直受到数百名密码学家严格审查的算法,并且仍然相对没有受到损害”。 AES就是这种情况,而不是XXTEA。我们可能会注意到,对XXTEA的攻击仍然非常昂贵,在可行的边缘并且可能不适用于大多数“商业”情况,但是,这种算法仍然表现得很脆弱。因此,如果您重视您的安全性,请不要因为您的加密而具有创造性;使用经过严格审查的标准。
为什么你想使用XXTEA?它对你有什么影响,AES没有?您可能需要查看this question,了解某些PIC微控制器的AES实现指南。
(TEA及其衍生产品如XXTEA的主要设计标准是拥有紧凑的源代码,因此可以通过心脏学习并在计算机上再次输入。这不会立即转换为编译代码的紧凑性。(X *)TEA算法往往很慢并且依赖于32位操作,这些操作不适合小型微控制器。)
答案 1 :(得分:0)
如果他们希望块大小小于128位,则会寻找其他加密方法,例如XXTEA。因为您可能拥有带宽很低的通信介质,例如在嘈杂的环境中的电力线通信。只有很少的字节(例如有效载荷的4或5字节)才有用的数据传输。在这种情况下,如果使用AES,则块大小将变为16个字节,并在可用带宽上产生大量开销。 如果是XXTEA,则块大小仅为64位(8字节),因此产生的开销较小。