As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




已关闭8年。




以前我曾经使用过一个不错的公共(public)域C++ DES implementation,但是现在我需要一些简单,基本,快速的嵌入式系统加密技术。

它并不需要牢不可破,但确实需要阻止偶然的黑客(例如,没有任何东西可以用于金钱或身份盗用,但是存储卡上传输的其他个人信息可能会丢失或落入错误的人手中) )。

由于该处理器上的内存有限,我希望可以以离散块(小于或等于512字节)进行编码的东西。

该项目不是开源的,也不会使用库,我知道这会进一步限制选项-公共(public)领域是最好的,但是BSD/apache/etc可能是可以接受的...

我犹豫要自己动手(每个人都应该这样做)。

-亚当

最佳答案

如果您只是在寻找混淆,带有 secret 常量的XOR就是您所发现的那样小的实现。打破它也是微不足道的,因为它很容易通过频率分析来寻找最常见的英文字母。

如果您需要更强大的算法,我建议您看一下河豚鱼,这种河豚往往又小又快。它仍然确实需要用于表的内存,但是希望它将对您的应用程序有效。

布鲁斯·施耐尔(Bruce Schneier)明确地将Blowfish算法置于公共(public)领域,而无视专利。您可以从his site获得他在C中的实现(以及其他实现)。该来源不附带版权声明。我怀疑源代码也属于公共(public)领域,但是可能需要进行更多检查。

关于encryption - 用C进行简单的加密实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47526/

10-10 21:32
查看更多