-
题名基于CUDA并行的线性复杂度快速检测方法
- 1
-
-
作者
付一方
范丽敏
陈华
陈东昱
-
机构
中国科学院软件研究所可信计算与信息保障实验室
中国科学院大学
-
出处
《密码学报(中英文)》
北大核心
2025年第4期752-765,共14页
-
基金
国家重点研发计划(2020YFA0309704)
国家密码科学基金(2025NCSF02057)。
-
文摘
线性复杂度检测是一种重要的二元序列随机性检测方法,亦为判断随机数发生器输出质量的有效指标之一.该检测方法使用的Berlekamp-Massey算法计算复杂度较高,导致该检测相较于其他检测方法效率较低,特别是随着样本长度的增加,检测效率逐渐成为其适用性的瓶颈问题.本文着眼于解决二元序列线性复杂度测试的低效率问题,提出了一种基于GPU/NVIDIA CUDA技术的并行优化方法,实现了线性复杂度的快速检测.本文在改进的Berlekamp-Massey算法基础上,增加了快速移位方法,结合NVIDIA CUDA模型提出了针对二元序列线性复杂度的并行检测策略,通过对Berlekamp-Massey算法进行的并行化处理,在实现线程块间并行的同时也实现了多线程同步合作的深层并行Berlekamp-Massey算法.除此之外,通过调整线程配置参数以及引入CUDA协作组与warp shuffle机制对检测流程进行进一步优化.实验结果表明,本文提出的优化算法速度提升明显,相对于NIST-STS版本的线性复杂度检测,最高实现了约20000倍的加速;对比目前最快的线性复杂度并行检测方法,最高实现了约3–3.5倍的稳定加速.
-
关键词
随机性检测
线性复杂度检测
BERLEKAMP-MASSEY算法
NVIDIA
CUDA
GPU并行
-
Keywords
randomness
linear complexity test
Berlekamp-Massey algorithm
NVIDIA CUDA
GPU parallelization
-
分类号
TP309.7
[自动化与计算机技术—计算机系统结构]
-