当你发明新密码时,如何避免差分密码分析攻击?
假设您有一个在差异密码分析攻击中易受攻击的16-round 128-bit密码。现在假设您将在每一轮之间添加:
现在看来,攻击者必须首先猜测多个变量(我们通过密钥来定义它),才能进行差分密码分析攻击。因为他可以很容易地做到这一点,没有阻碍两轮之间的步骤。如果我想在差分密码分析中使密码具有抵抗力,那么使用它好吗?
发布于 2020-09-29 00:13:12
你的密码看起来很容易受到你描述的侧通道的影响。另外,差分密码分析主要依赖于一个安全的S盒。你描述的步骤是肤浅的,因为它们不能有效地破坏模式。
假设您使用的是SP网络,通常是16轮分组密码,那么让我们看看执行加密的步骤是什么:
每一轮,你
你的阻碍步骤是:
按位不破坏任何模式,不提供非线性,随机决定是否执行此操作只增加1位每轮,并使边通道的可能性大得多。这一步骤在增加错误实现的可能性时几乎毫无用处。
不管怎样,你应该把圆键混在一起。我看不出这和普通的圆形密码有什么不同。
这一轮可以增加7位安全.也许吧?但如果不允许侧通道攻击,几乎是不可能实现的。依赖于数据的内存访问是一个非常糟糕的想法(我假设您移动数据的数量将取决于键、明文或基于这两者的一些奇怪的逻辑;这将立即允许侧通道)。
但是,如果您想以某种预定义的数量移动比特,那么祝贺您!你实现了一个P盒.考虑到你在制作SP网络,你应该使用它。
简而言之,
如果您想要抵抗差分密码分析,真正的解决方案是设计非线性分量(S-box),使之不容易受到差分密码分析的影响。也许你可以从AES那里偷S盒子,因为它已经被很好的理解了?
附录:确保防御滑梯攻击!您的关键周期也应该进行适当的设计,侧通道攻击在您的实现中非常容易意外地被允许。
https://crypto.stackexchange.com/questions/84221
复制相似问题