Encryption 大O表示法:加密算法

Encryption 大O表示法:加密算法,encryption,cryptography,rsa,big-o,des,Encryption,Cryptography,Rsa,Big O,Des,我目前正在完成一篇关于通过各种密码算法对数据进行加密的论文 我花了很多时间阅读期刊和论文,但至今还没有找到任何关于它们的性能复杂性的记录 有人知道以下算法的大O复杂性吗 RSA DES 三重DES(我希望与DES的顺序相同) AES 河豚 先谢谢你,;如果您能提供一个链接到一个声誉良好的信息来源,我们将不胜感激。部分回答:RSA实验室提供了此分析,比较了RSA操作和DES RSA算法有多快? “RSA操作”,无论是加密、解密、签名还是加密 验证本质上是一种模幂运算。这一计算是正确的 由一系列

我目前正在完成一篇关于通过各种密码算法对数据进行加密的论文

我花了很多时间阅读期刊和论文,但至今还没有找到任何关于它们的性能复杂性的记录

有人知道以下算法的大O复杂性吗

  • RSA
  • DES
  • 三重DES(我希望与DES的顺序相同)
  • AES
  • 河豚

先谢谢你,;如果您能提供一个链接到一个声誉良好的信息来源,我们将不胜感激。

部分回答:RSA实验室提供了此分析,比较了RSA操作和DES

RSA算法有多快?

“RSA操作”,无论是加密、解密、签名还是加密 验证本质上是一种模幂运算。这一计算是正确的 由一系列模乘运算执行

在实际应用中,通常选择一个小的公共 公钥的指数。事实上,整个用户组都可以使用 相同的公共指数,每个指数具有不同的模数。(有 对公模素因子的一些限制 指数是固定的。)这使得加密比解密和 验证比签名更快。具有典型的模块化 用于实现RSA算法的求幂算法, 公钥操作采取O(k^2)步私钥操作采取O(k^3)步,密钥生成采取O(k^4)步,其中k为 模中的位数``快速乘法“ 技术,例如基于快速傅立叶变换(FFT)的方法, 需要渐进更少的步骤。但实际上,它们并非如此 由于其更高的软件复杂性和 对于典型的键大小,它们实际上可能较慢

许多商用软件的速度和效率 RSA算法的硬件实现也在增加 迅速地有关最新数据,请参阅

相比之下,DES(见第3.2节)和其他分组密码更具优势 比RSA算法更快。DES通常至少是 软件速度快,速度在1000到10000倍之间 硬件,取决于实现。RSA的实现 算法可能会在未来几年缩小差距,因为 要求很高,但分组密码也会变得更快


对称密码对于一个块的复杂度为O(1)


列表中只剩下RSA,答案非常依赖于实现,这取决于大整数乘法的实现程度、指数的选择等。

需要注意的一件事(取决于你是否为论文编写代码):大多数现实世界中的RSA实现实际上将使用RSA进行AES密钥交换。因此,分别用于加密/解密的O(k^2)和O(k^3)操作仅用于加密AES密钥。AES在软件/硬件上的速度是交换数据的100-10K倍——这样,您就可以利用PKI(通过RSA),而不必付出高昂的计算代价

你在Cross-post上可能会更走运。SE:先生,你的论文写完了吗?你介意分享你论文的链接吗?我目前正在写一篇关于RSA算法时间复杂性的论文。先谢谢你,先生。