Encryption 如何加密非常小的数据块(2-4字节)?

Encryption 如何加密非常小的数据块(2-4字节)?,encryption,cryptography,bluetooth-lowenergy,beacon,Encryption,Cryptography,Bluetooth Lowenergy,Beacon,我正在开发一种医疗设备,它可以在极低的功率限制下运行,并通过BLE传输数据,在BLE中,每一个不必要的毫秒的空气时间都很重要。我正在开发一个信标广告协议,其中传感器数据直接编码到广告包中。我需要传输的数据非常简单和小,总共只占用2到4个字节。我想在将这2-4个字节添加到广告包之前对其进行加密,在从广告包中取出后由接收智能手机解密。我希望使加密数据尽可能小,而我知道许多算法都会创建设置长度的字符串(20+字节) 我目前正在将这些2-4字节作为十六进制值传输,接收智能手机应用程序将其解释为整数值。我

我正在开发一种医疗设备,它可以在极低的功率限制下运行,并通过BLE传输数据,在BLE中,每一个不必要的毫秒的空气时间都很重要。我正在开发一个信标广告协议,其中传感器数据直接编码到广告包中。我需要传输的数据非常简单和小,总共只占用2到4个字节。我想在将这2-4个字节添加到广告包之前对其进行加密,在从广告包中取出后由接收智能手机解密。我希望使加密数据尽可能小,而我知道许多算法都会创建设置长度的字符串(20+字节)


我目前正在将这些2-4字节作为十六进制值传输,接收智能手机应用程序将其解释为整数值。我对加密或加密方法没有太多的经验,但我知道大多数算法都是在较大的数据块上运行的。是否有任何算法或协议适用于这些小块数据?由于这可能是一种特殊情况,我是否应该“滚动我自己的”加密协议?

这可能更适合。这是一个模糊的问题。很多情况可能取决于数据的私密性/敏感性、您是否可以依赖之前接收到的传输(例如,保持多个数据包之间加密的状态)、是否需要协商(例如,对称与非对称),等等,考虑使用一个简单的替换密码,使用已知的字节值表。如果您愿意,您甚至可以在同一传输中为连续字节使用不同的种子到表中。最后,只有你知道你的需求。这不是一个真正的C问题,而是一个加密问题,因此Ken White链接的网站应该能更好地帮助你。也就是说,加密不足以保护敏感数据。这是一个大型解决方案的一部分,可确保您与目标方进行通信。我不确定你是否提供了足够的数据来回答这个问题。当你在那里提问时,用一个可靠的现代密码加密两个字节不是问题。例如,如果要加密这两个字节的流,可以在CFB或OFB中使用密码生成与数据异或的流,而不是在CBC模式下使用密码(需要完整的块才能开始加密)。不要推出你的协议。确切的解决方案取决于帕迪提到的许多因素。老实说,我认为你需要的是咨询而不是算法。否则,您的问题可能不会包含足够的信息,无法在一开始就回答(只是来自国防部的友好提示)。