您可以使用多种加密方法来保护流量,每种加密方法的电源使用情况都略有不同,因此,我将选择几种流行的选择。我用来评估每种方法的方法应适用于您发现并希望进行比较的任何其他密码。
AES
AES是最流行的对称密钥加密算法之一(这意味着您使用相同的密钥进行加密和解密)。在安全性方面,AES是一个安全的选择:
最佳公开密码分析
尽管在2013年之前还没有一种算术可行的,但已公布的算术比全蛮力攻击要快。
- 维基百科
完整AES的Biclique密码分析文章描述了AES-128需要2 126.1个操作,AES-192需要2 189.7个操作,而AES-256需要2 254.4个操作才能中断。在2.9 GHz处理器上,假设每个“操作”为1个CPU周期(可能不正确),则破坏AES-128将花费很长时间。如果其中有10000个运行,它将仍然需要几乎永远的时间。因此,在这里安全性不是问题。让我们考虑一下电源方面。
本文显示(第15页),使用AES加密的块使用351 pJ。在讨论其他一些常用算法之后,我将对此进行比较。
西蒙
我之前曾问过一个有关SIMON和SPECK的问题,值得一读。SIMON擅长的地方是需要经常加密一点数据的情况。我之前链接的论文指出,SIMON 64/96对于64位使用213 pJ,当您只需要发送32位有效负载时,这非常实用。
不过,SIMON 64/96 比AES 容易破解。我链接的论文建议执行2 63.9次操作,因此我们的1万个CPU设置仅在数年内即可破解加密,而不是数百万年。
真的有关系吗?
按照您计划传输的速度,答案几乎肯定是“ 否”;加密的能耗将完全可以忽略。对于AES,您每天将使用50544 pJ,因此,便宜的,能量为2340 J的碳锌AA电池的使用寿命将远远超出设备的使用寿命。如果使用SIMON重新评估计算,您会发现它的使用寿命也很长
简而言之,除非您非常频繁地发送信号,否则收音机将不再是电源问题。维基语录用电量0.01和W.如果您发送0.5 在为0.01W1秒,您已经使用了更多的权力比AES整天做了。
但是,对于BLE,仅依靠默认安全性就可以了。BLE默认使用AES-CCM来实现链路层安全性:
低功耗蓝牙中的加密使用AES-CCM加密技术。像BR / EDR一样,LE控制器将执行加密功能。此功能使用FIPS-1971中定义的AES-128位块密码,从128位密钥和128位明文数据生成128位加密数据。
有一些担心,有与BLE的实现链路层的安全性,虽然的安全漏洞; 这不是AES的缺陷;蓝牙SIG决定在4.0和4.1中推出自己的密钥交换机制。该问题现已在4.2中解决,因为现在支持椭圆曲线Hellman-Diffie。