Big-O用于公钥加密

时间:2011-10-03 20:45:52

标签: cryptography big-o public-key-encryption

我现在已经搜索了几天,但是我找不到一个用于加密,解密或试图破解使用公钥加密的加密文件(暴力)的大O表示法算法。我试图确定我开发的大量使用公钥加密的想法的大O符号。

与公钥加密相关的这些Big-O算法是什么:

A)使用L长度密钥加密由N个字符组成的文件

B)解密同一个文件

C)一种典型的强力算法,用于打破N个字符且最大密钥长度为L的加密文件

任何包含更高效算法的Big-O表示法都可以用来破解加密。此外,还可以参考可以找到此材料的任何地方。

很抱歉提出一个我自己应该能够找到的问题,但我没有设法找到我要找的东西。

1 个答案:

答案 0 :(得分:5)

标准的公钥/私钥算法几乎从不用于大型输入,因为这些算法的安全属性通常不适合批量加密。最常见的配置是使用公钥/私钥算法加密一个小的(恒定大小,通常是128 - 256位)密钥,然后使用该密钥进行对称加密算法。

话虽这么说,我将使用RSA作为其余问题的测试用例:

A / B)放弃密钥生成,RSA在O(n)中加密和解密消息的大小。 (请注意,所有消息必须是密钥的大小,因此填充较小的消息并且必须分解较大的消息。)加密/解密的确切速度取决于RSA实现使用的算法,但它是密钥大小的多项式:

  

http://www.javamex.com/tutorials/cryptography/rsa_key_length.shtml

C)给定公钥,可以通过对公钥进行因式分解来破解RSA,目前最好使用GNFSO(exp((7.1 b)^1/3 (log b)^1/3)))来完成。我不相信基于加密数据破解RSA的工作很多,因为公钥是一个更有用的目标。