摘要

GPU拥有高度并行性和可编码的特点,在大规模数据并行计算方面得到广泛应用。NTRU算法是一种安全性高,易于并行化的公钥密码算法。研究了NTRU算法基于CUDA的并行化实现技术,将计算中最耗时的卷积运算分解到多个线程并行计算,引入大量的独立并发的加解密线程块来完成整个加解密过程,并给出了具体的数据编码及存储结构、线程组织以及基于合并访问和共享内存的性能优化技术。实验结果表明,基于CUDA的NTRU加解密算法实现了硬件加速,相对于NTRU算法在CPU的实现,CUDA实现能够达到12.38MB/s的吞吐量,可获得最大为95倍的加速比。