Cryptography 用于公钥加密的Big-O

Cryptography 用于公钥加密的Big-O,cryptography,big-o,public-key-encryption,Cryptography,Big O,Public Key Encryption,我已经搜索了几天了,但是我找不到一个用于加密、解密或试图利用公钥加密破坏加密文件(暴力破解)的大O表示法算法。我正在尝试确定我开发的大量使用公钥加密的想法的big-O符号 与公钥加密相关的这些大O算法是什么: A) 使用L长度密钥加密由N个字符组成的文件 B) 解密同一个文件 C) 一种典型的暴力破解算法,用于破解具有N个字符且最大密钥长度为L的加密文件 如能提供更有效的破解加密算法的Big-O符号,将不胜感激。此外,请参考任何可以找到此材料的地方 很抱歉问一个我自己应该能找到的问题,但我还没有

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

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

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

B) 解密同一个文件

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

如能提供更有效的破解加密算法的Big-O符号,将不胜感激。此外,请参考任何可以找到此材料的地方


很抱歉问一个我自己应该能找到的问题,但我还没有找到我想要的。标准的公钥/私钥算法几乎从未用于大输入,因为这些算法的安全属性通常不适合批量加密。最常见的配置是使用公钥/私钥算法加密小的(恒定大小,通常为128-256位)密钥,然后将该密钥用于对称加密算法

话虽如此,我将使用RSA作为其余问题的测试用例:

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


C) 给定一个公钥,可以通过分解公钥来破解RSA,目前最好使用(即
O(exp((7.1 b)^1/3(log b)^1/3))
)来实现这一点。我不相信有多少工作可以破解基于加密数据的RSA,因为公钥是一个更有用的目标。

我非常确定所有操作都是O(N)。在A)和B)的情况下,N表示作用于其上的数据的长度。在C的情况下,N代表长度为L的键的排列。如果可能的话,我希望能参考一些文档或其他东西。还有一个真实的答案,这样我就可以接受了此外,如果加密/解密仅为顺序N,我会感到惊讶。我对一般安全加密的理解(这并不广泛;我可能错了)是,每个加密字符都依赖于原始文件中的多个字符(不是字符到字符的转换或简单的ASCII操作)。这难道不意味着至少有一个N阶对数(N)算法吗?如果RSA的密钥大小是指数级的,那么它的速度就太慢了(而且不会比暴力强制慢很多)。链接页面上突出显示的句子看起来更像是二次型(这将是因子4)和三次型(因子8)。Daskwuf 19:07 2011年10月4日“GNFS[is]O(exp((7.1b)^1/3(logb)^1/3)))如果迟钝,表示歉意,但什么是‘b’?例如,公钥的值,或公钥的长度(以位为单位)(上面的问题用“L”表示),或完全不同的东西?从wikipedia页面上可以确定
b
是密钥的长度(以位为单位)。它与L-n变量匹配得相当好。但我也想确认一下@托姆罗什