编辑推荐:
为解决 RSA 加密在数字签名签署过程中因大私钥导致计算时间长的问题,研究人员开展基于 RSA 加密改进签署和验证过程的研究。结果显示新方法可减少约 30% 签署时间,整体降低计算资源消耗,对提升数字签名效率意义重大。
在当今数字化时代,信息安全至关重要,就像虚拟世界的坚固盾牌。而密码学(Cryptography)作为保护信息安全的核心技术,发挥着关键作用。互联网的广泛使用虽然带来了便捷,但也伴随着安全风险,数据在网络传输过程中极易被窃取。为了保障敏感信息的安全,人们采用加密和解密技术,将原始数据转化为密文(Ciphertext)进行传输,接收者再将其解密还原为明文(Plaintext)。
在众多加密技术中,RSA 加密算法是不对称密钥加密(Asymmetric key cryptography)领域的重要成员,也被称为公钥加密(Public key cryptography)。它可以用于数据安全保护和数字签名生成,其安全性依赖于对大整数 n(由两个大素数 p 和 q 相乘得到)进行因式分解的难度。然而,RSA 在实际应用中存在一些问题。在数字签名生成过程中,为了抵御攻击者,需要生成大的私钥(Private key),这导致签署过程计算时间延长,消耗大量计算资源。此外,随着高性能量子计算机的发展,Shor 算法等量子算法有可能打破 RSA 的安全性,使得传统数字签名技术面临巨大挑战。
为了解决这些问题,乌隆他尼皇家大学(Udon Thani Rajabhat University)的研究人员 Kritsanapong Somsuk 开展了一项关于改进 RSA 加密用于数字签名签署和验证过程的研究。该研究成果发表在《Heliyon》杂志上。
研究人员用到的主要关键技术方法包括:一是基于数论的相关算法,如利用欧拉函数(Φ(n))、最大公约数(gcd)等概念来生成密钥相关参数;二是采用特殊的算法来优化计算过程,如提出新的密钥生成算法(Algorithm 3.1 和 Algorithm 3.2),并结合中国剩余定理(Chinese Remainder Theorem,CRT)和平方乘算法(Square and Multiple Algorithm)来加速数字签名的生成和验证过程。
研究结果如下:
- 提出新的签名和验证方程:研究人员提出了改进的方程,通过引入新的整数 b 作为指数代替私钥 d 进行签名过程,即 j=mb mod n;验证过程则使用 m=jemx+1 mod n 。经证明,这种方法能够有效签署和验证数字签名,且 b 总是小于 d,使得签名过程所需计算资源减少。例如,在示例中计算不同参数下的签名过程,新方法相比原 RSA 方法在模乘(Modular Multiplication)和模平方(Modular Square)操作上所需计算量更少。
- 设计新的密钥生成算法:设计了两种新的密钥生成算法 Algorithm 3.1 和 Algorithm 3.2。Algorithm 3.1 通过设置阈值来控制 x 的大小,以随机搜索的方式找到满足条件的 b 和 x;Algorithm 3.2 则利用因式分解技术,选择合适的 x(优先选择正偶数)来简化因式分解过程,从而确定 b 和 e 等参数。实验表明,Algorithm 3.1 所需处理时间比 Algorithm 3.2 少,但 Algorithm 3.2 能更好地选择 x。
- 实验对比结果:通过对不同长度 n(256 位、512 位和 1024 位)的实验,对比了新方法与原 RSA 方法在签名和验证过程中的性能。结果显示,新方法在签名过程中平均时间减少约 30%;验证过程虽然因增加了 mx+1 mod n 的计算而使时间略有增加,但由于 x 较小,增加幅度不大。综合来看,对于 1024 位长度的 n,新方法每个加密 - 解密周期所需时间为 3.64 ms,而 RSA 为 4.73 ms,新方法整体提高了计算效率。
研究结论和讨论部分指出,新方法在计算资源利用上具有优势,虽然验证过程相对原方程需要更多资源,但整体计算开销降低。在安全性方面,新方法与 RSA 相当,因为恶意实体在不知道 Φ(n) 的情况下无法确定 b 。此外,现有的针对 RSA 的攻击方法,如 Wiener 攻击和基于连分数的改进算法,无法直接用于攻击该新方法,因为这些算法只能计算 d,而不能基于现有参数计算 b 。不过,未来仍需探索新的算法来评估该方法在面对潜在攻击时的安全性。
这项研究的重要意义在于,为数字签名技术提供了一种更高效的解决方案,在不降低安全性的前提下,显著减少了计算资源的消耗,提高了数字签名的生成和验证效率,对推动信息安全领域的发展具有积极作用,为未来数字签名技术的进一步优化奠定了基础。