基于代码的密码系统的快速安全根查找
在基于代码的密码系统中,根查找算法的性能和安全性至关重要。本文将对几种不同的根查找算法进行评估,分析它们的运行时间、安全性以及性能表现。
1. 运行时间分析
在一个微控制器上,针对错误权重 ( w ) 从 20 到 40 的每个值创建了 30 个不同的综合征。循环计数反映了相应根查找算法的运行时间。对于每个 ( w ) 值,中心标记表示 30 个不同综合征集合的平均值,条形图显示该集合的最小值和最大值。
- eval - rf 算法 :如图 1(a) 所示,( w = t ) 的平均运行时间与 ( w \neq t ) 的情况大致一致。然而,从最小运行时间来看,存在 ( w = t ) 时运行时间明显低于 ( w \neq t ) 的情况。由于该算法在基于代码的密码系统中竞争力不足,未深入探究其原因和是否可用于实际攻击。
- eval - div - rf 算法 :图 1(b) 清晰显示,与 eval - rf 相比,eval - div - rf 的速度提高了一倍。但该算法存在固有的时序漏洞,当 ( w = t ) 时,除法运算的优势显著,运行时间几乎是 ( w \neq t ) 时的一半,这使其成为不安全的选择。
- BTA - rf 算法 :如图 1(c) 所示,( w = t ) 的平均运行时间低于大多数 ( w \neq t ) 集合的最小运行时间,明显存在漏洞。显然,当 ( \sigma(Y) ) 的根数量远少于 ( t ) 时,该递归算法的行为会有所不同。