改进的Tonelli-Shanks算法在素数检测中的高效应用

1 下载量 134 浏览量 更新于2024-09-09 收藏 458KB PDF 举报
"Tonelli-Shank's 算法的改进及其在素数检测方面的应用" 本文主要探讨了Tonelli-Shank's算法的改进,并将其应用于素数检测领域。Tonelli-Shank's算法是一种在数论中用于求解模n平方根的问题的算法,尤其在n是奇素数的情况下。通常,这个算法可以解决Cipolla问题,即找到一个整数a的平方模等一个给定的整数b除以n的解。在原始算法的基础上,作者提出了改进版本,提高了算法的效率。 在素数检测方面,作者在之前的论文中已经提出了一种简单快速的方法。现在,他们发现Tonelli-Shank's算法经过改进后,也能有效地用于素数检测。改进后的算法时间复杂性为O((log^(3+ε)N)),其中0<ε≤1,当N ≡ 3 (mod 4)时,时间复杂性降低到O(log^(2+ε)N)。这个时间复杂性与ZYTT算法相当,两者都是目前在多项式时间复杂度内最快的素数检测算法。 素数检测在密码学、编码理论和计算机科学中具有重要应用,因为素数是构建许多加密系统的基础。例如,RSA公钥加密算法就依赖于大素数的难以因式分解。因此,快速有效的素数检测算法对于提高计算效率和增强安全性至关重要。 ZYPP素数检测法,即作者命名的新算法,结合了Tonelli-Shank's算法的改进,为素数检测提供了一个高效的选择。空间复杂性为O(logN),这意味着该算法在内存使用上相对较小,适合处理大数问题。 文章中,作者余未和周从尧分别来自宁波大学理学院数学系和湖南大学信息科学与工程学院,他们在数论和计算数论领域有深入研究。文章的发表表明,这一领域的研究仍在不断推进,尤其是在算法优化和实际应用方面。 这篇论文贡献了一种新的素数检测策略,它基于Tonelli-Shank's算法的改进,提升了算法的运行速度,这对于需要大量素数检测的计算任务来说是一大进步。通过这种优化,计算数论领域的理论研究和实际应用都可能得到显著的提升。