我正在阅读名为RC4的加密函数。
显然,它的方法从 1987 年到 1994 年一直保密,尽管它可以向公众提供许可和使用。
怎么保密了这么久?这不是一个非常复杂的算法。有人不能对代码进行逆向工程并获取源代码吗?
有什么我不知道的原因吗?
我正在阅读名为RC4的加密函数。
显然,它的方法从 1987 年到 1994 年一直保密,尽管它可以向公众提供许可和使用。
怎么保密了这么久?这不是一个非常复杂的算法。有人不能对代码进行逆向工程并获取源代码吗?
有什么我不知道的原因吗?
有人不能对代码进行逆向工程并获取源代码吗?
是的。这正是 1994 年发生的事情:
从维基百科条目:
RC4 最初是商业机密,但在 1994 年 9 月,对它的描述被匿名发布到 Cypherpunks 邮件列表中。它很快被发布在 sci.crypt 新闻组上,并从那里发布到 Internet 上的许多站点。泄露的代码被证实是真实的,因为它的输出被发现与使用许可 RC4 的专有软件的输出相匹配。因为算法是已知的,它不再是商业秘密。RC4这个名字是商标,所以RC4通常被称为ARCFOUR或ARC4(意思是所谓的RC4)以避免商标问题。RSA Security 从未正式发布过该算法;然而,Rivest 在 2008 年自己的课程笔记中链接到关于 RC4 的英文维基百科文章,并在他 2014 年的一篇论文中证实了 RC4 的历史及其代码。
您可以通过不同程度的成功使其变得更加困难,例如,混淆代码、加密代码、将代码存储在被篡改时自毁的 HSM 中、要求限制性合同、威胁采取法律行动等。 ..但归根结底,没有人身安全就没有安全。一旦你让代码脱离你的物理控制,它就有可能被暴露。
至于为什么以前没有人这样做,我怀疑这是缺乏兴趣和法律问题。