(我不是母语人士,在术语方面可能不正确。对此感到抱歉。)
我正在通过无线电在 AVR 微控制器之间传输数据以供个人使用,并希望客户证明传输数据的真实性,因为它来自授权客户之一。这意味着我不需要不可否认性,并且能够预定义共享密钥。我对不同的方法进行了一些研究,发现我需要一些帮助来选择最符合我要求的方法。
请理解我不需要最大的安全性。我只是想防止潜在的脚本小孩邻居在几个小时内闯入。如果从今天开始使用普通消费者装备需要几周的时间,我会没事的。
我正在传输的消息的大小相当小(不超过 30 个字节,只有几个字节的有效负载),频率不超过 30 条消息/分钟。
一个用例是运动检测器通过空中向处理单元发送消息,然后处理单元通过空中向电灯开关发送另一条消息。请不要专注于运输。这个问题只是关于数据的真实性。
我在闪存和 RAM 非常有限的 20 MHz AVR 微控制器上运行客户端/服务器软件(C 语言)。因此,我正在寻找一种具有小代码大小和 RAM 利用率的解决方案,同时仍提供高数据速率。
我使用 MD5 实现 (C) 从 20 字节数据创建散列进行了一些性能测试,发现它可能太慢了。我知道 MD5 实现本身并不能解决这个要求。我进行测试只是为了评估散列性能。
感谢您的评论