有遇到“未使用 mpz_powm_sec”的 paramiko 和 Crypto 导入错误吗?

5 投票
2 回答
12177 浏览
提问于 2025-04-17 12:29

操作系统:redhat 5.2 i386

Python版本:2.7

错误信息如下:

Python 2.7.2 (default, Feb  7 2012, 11:16:30) 
[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
/home/master/local/lib/python2.7/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)

这是我的libgmp版本:

 ldconfig -p |grep libgmp
        libgmpxx.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmpxx.so.3
        libgmpxx.so.3 (libc6) => /usr/lib/libgmpxx.so.3
        libgmpxx.so (libc6) => /usr/lib/libgmpxx.so
        libgmp.so.3 (libc6, hwcap: 0x0000000004000000) => /usr/lib/sse2/libgmp.so.3
        libgmp.so.3 (libc6) => /usr/lib/libgmp.so.3
        libgmp.so (libc6) => /usr/lib/libgmp.so

以上所有内容似乎都和libgmp有关,这让我很困惑。请给我一些建议,谢谢!

2 个回答

0

我也遇到过这个问题,单单重装Python(我用的是2.7)并不够。我需要在编译了更新版本的gmp之后,用pip重新安装pycrypto。其实,我也不确定重装Python是否真的有必要,但我还是按照Kimvais的回答做了。

6

这是正常的情况 - RHEL 5似乎使用的是GMP版本4.x,因此Python库是基于这个版本构建的。

如果你真的想消除这个警告,可以从官方源重新编译GMP库,然后再重新编译你的Python。

你也可以考虑升级到一个更新的操作系统 - EL5将在今年年底停止支持。或者至少把你的操作系统更新到最新的版本(5.7)。

撰写回答