The standard RSA relies on multiple big-number modular exponentiation operations and longer key-length is required for better protection. This imposes a hefty time penalty for encryption and decryption. In this study, we analyzed and developed an improved parallel algorithm (PMKRSA) based on the idea of splitting the plaintext into multiple chunks and encrypt the chunks using multiple key-pairs. The algorithm in our new scheme is so natural for parallelized implementation that we also investigated its parallelization in a GPU environment. In the following, the structure of our new scheme is outlined, and its correctness is proved mathematically. Then, with the algorithm implemented and optimized on both CPU and CPU+GPU platforms, we showed that our algorithm shortens the computational time considerably, and it has a security advantage over the standard RSA as it is invulnerable to the common attacks. Finally, we also proved the feasibility of using our algorithm to encrypt large files through simulation. The results show that over the set of file size: 1 MB, 10 MB, 25 MB, 50 MB, 100 MB, the average encryption and decryption time of the CPU version is 0.2476s and 9.4476s, and for the CPU+GPU version, it is 0.0009s and 0.0618s, respectively.
翻译:标准 RSA 依赖于多个大数模块化指数化操作, 并且需要较长的密钥长度才能得到更好的保护 。 这对加密和解密规定了巨大的时间限制 。 在此研究中, 我们分析并开发了一个改进的平行算法( PMKRSA ), 其基础是将平文本分成多个块, 并使用多个键盘对块进行加密 。 我们的新方案中的算法对于平行实施来说非常自然, 因此我们也调查了它在 GPU 环境中的平行化 。 在下文中, 我们的新方案的结构得到了概述, 其正确性得到了数学的证明 。 然后, 随着CPU 和 CPU+GPU 平台的算法得到实施和优化, 我们发现我们的算法大大缩短了计算时间, 并且它比标准 RSA 具有安全性优势, 因为它对常见攻击是不可抗拒的。 最后, 我们还证明了使用我们的算法在 GPU18 和 10 MB, 25 MB, 50 MB, 50 MB, 和 CMB 7 和 MO 平均的 CM 76 和 10 版本。