我们可以在DES中制作自己的S-Box,IP,IP~和其他表吗?它仍然可以使用或应该使用它们提供的内容吗?

Har*_*han 0 python encryption cryptography des

我正在尝试构建自己的DES实现!但是我没有成功实施

我使用所有的表,如Initail排列,扩展排列表,排列函数表,PC-1,PC-2和我自己的随机位位置的所有s-box.

我们应该使用DES提供的S-Box还是我们自己创建的?

Aas*_*set 5

密码学的第一条规则:永远不要自己创造任何东西!除非你拥有博士学位和多年的经验,否则最终产生巨大的安全漏洞.事实上,历史表明即使拥有博士学位和多年经验的人也经常犯安全错误.当然,你可以做到有趣和教育的经验,但请不要考虑把它的任何东西投入生产.很抱歉这样做是否定的,但这是现实(并且,对于记录,我也是一个永远不应该发明任何密码学相关的人).

当谈到实现的东西被真正的安全专家发明了(和普遍接受为安全),仍然有许多陷阱,走入,尤其是侧信道攻击.但同样,实现它的乐趣和学习当然是一件好事.

特别是在DES方面,S-box的内容是算法本身的一部分,如果不失去与所有其他DES加密数据的兼容性,也无法更改.

  • 广告"具有博士学位和多年犯错误经验的人":这就是同行评审在这一领域如此重要的原因.默认情况下,未经审核的算法/实现通常被视为已损坏. (2认同)
  • @HariHaraSudhan有完全有效的方法可以确保相同的明文不会加密到相同的密文 - IV.如果随机生成的S-Box是提高密码安全性的实用方法,那么人们就会这样做.不要以为你比受过良好教育的密码学研究人员更聪明 - 我们都不是. (2认同)