我正在尝试构建我自己的DES实现!但我的实现并不成功
我使用所有的表,如初始排列,扩展排列表,排列函数表,PC-1,PC-2和我自己的随机比特位置的所有S盒。
我们应该使用DES提供的S-Boxes,还是我们可以自己创建?
发布于 2011-03-08 23:41:20
密码学的第一条规则:永远不要自己发明任何东西!除非你有一个PhD和多年的经验,否则你最终会创造出巨大的安全漏洞。事实上,历史表明,即使是拥有PhD和多年经验的人也经常犯安全错误。当然,你可以为了乐趣和教育经验而这样做,但请永远不要考虑将其投入生产。很抱歉这么消极,但这是现实(而且,我也是一个永远不应该发明任何与密码学相关的东西的人)。
当涉及到实现由真正的安全专家发明的东西(通常被认为是安全的)时,仍然有许多陷阱需要进入,特别是旁路攻击。但同样,为了好玩和学习而实现它当然是一件好事。
当涉及到DES时,S盒的内容是算法本身的一部分,并且不能在不失去与所有其他DES加密数据的兼容性的情况下改变。
发布于 2011-03-31 20:07:10
没有原始S盒的DES可能是不安全的。顺便说一句,美国国家安全局增强了它们,使它们更具resistant to differential cryptanalysis,这在当时对平民世界是未知的。
如果你想要用户生成的S盒,你可以使用俄罗斯密码GOST 28147-89 (应用密码学中的14.1),它使用用户提供的S盒。
https://stackoverflow.com/questions/5234639
复制相似问题