- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
密码算法安全测试方法
9 线性复杂度(Linear Complexity)测试 线性复杂度测试是检测算法f作为线性反馈移位寄存器(LFSR)的长度,其测试方法如下。 ①把待测序列ε分成N =「n / M」组,忽略多余的位数。 ②采用Berlekamp-Massey算法确定每个分组的线性复杂度Li(i = 1,…,N)。 ③计算理论平均值 。 ④对每个分组,计算 。 ⑤统计Ti的分布个数Vj:V0 = V{Ti ≤-2.5}, V1 = V{-2.5 Ti ≤-1.5},V2 = V{-1.5 Ti ≤-0.5}, V3 = V{-0.5 Ti ≤0.5},V4 = V{0.5 Ti ≤1.5}, V5 = V{1.5 Ti ≤2.5};V6 = V{Ti 2.5}。 ⑥计算统计量S,其中π0 = 1/96,π1 = 0.03125, π2 =0.125,π3 = 0.5,π4 = 0.25,π5 = 0.0625, π6 = 1/48。一般要求S χ2a(6 ) = 16.812。 ⑦计算接受水平Pv =χ2 (6,S )。 * 10 系列(Serial)测试 系列测试是同时检测算法f的输出中3种长度(m,m-1,m-2)的重叠字出现的频率,相当于重叠字频率测试,有两个统计量S和S*,其测试方法如下。 ①把前m-1比特追加到待测序列ε后面。 ②统计每种m-bit字的个数Vim(i = 0,…,2m-1),每种m-1比特字的个数V i,m-1(i = 0,…,2m-1-1),每种m-2比特字的个数V i,m-2(i = 0,…,2 m – 2 -1)。统计方法为:各计数n次,每次移动1-bit进行计数,即重叠计数。 ③计算 ④计算统计量S =Ψm-Ψm-1,S*=Ψm-2Ψm-1+Ψm-2,要求S χ2a(2 m - 1),S*χ2a(2 m – 2)。 ⑤计算接受水平Pv =χ2 (2 m - 1 ,S ),计算接受水平P2 =χ2 (2 m – 2 ,S*)。 * 11 近似熵(Approximate Entropy)测试 近似熵测试是比较算法f的输出中两个相邻长度(m,m+1)的重叠字出现的频率,其测试方法如下。 ①把前m-bit追加到待测序列ε后面。 ②统计每种m-bit字的个数Vim(i = 0,…,2m-1),每种m+1比特字的个数V i,m+1(i = 0,…,2m+1-1)。统计方法为:各计数n次,每次移动1-bit进行计数,即重叠计数。 ③对每种字,计算πim = Vim / n次,π i,m+1 = V i,m+1 / n。 ④计算 ⑤计算统计量S = 2n(ln2 -Ψm+Ψm+1) , 一般要求S χ2a (2 m )。 ⑥计算接受水平Pv =χ2 (2m,S )。 * 12 累积和(Cumulative Sums)测试 累积和测试是检测算法f的输出中累积和随机步的最大游程,需要计算模式0(正向)和模式1(反向)的累积和,其测试方法如下: ①令序列X = x1,…,xn,其中x i = 2εi –1; ②计算各个连续子序列的累积和 (正向), (反向); ③计算两个统计量S = max{σk },其中1≤k≤n;④计算K =「(n/S-1)/4」; ⑤计算两个接受水平 * 13随机游程(Random Excursions)测试 随机游程测试是检测算法f的累积和随机步中特定状态在各轮中出现的次数,其测试方法如下。 ①令序列X = x1,…,xn,其中x i = 2εi –1 。 ②计算各个连续子序列的累积和 其中1≤k≤n;令σ0 =σn+1 = 0。 ③统计σk(1≤k≤n+1)中0的个数J,以σk = 0(1≤k≤n)为分界点把σk 分为J轮。 ④对8种非0状态x=±1~±4,统计它们在各轮中出现的次数。 ⑤对8种状态,统计它们在各轮中出现次数为k的个数Vkx,其中k≥5的个数归入V5x中。 ⑥对8种状态,分别计算统计量 要求S χ2a(5) = 15.086。其中π0x = 1-1/|2x|;πkx = (1-1/|2x|)k –1/(4x2 ),1≤k≤4;π5x = (1-1/|2x|)4 /|2x|。 ⑦计算接受水平Pv =χ2 (5,S )。 * 14 随机游程变量(Random Excursions Variant)测试 随机游程变量测试是检测算法f的累积和随机步中特定状态出现的次数,其测试方法如下。 ①令序列X = x1,…,xn,其中x i = 2εi –1 。 ②计算各个连
原创力文档


文档评论(0)