python libnum库使用方法-RSA

转载自:https://www.cnblogs.com/pcat/p/7225782.html

libnum库是一个关于各种数学运算的函数库,它包含common maths、modular、modular squre roots、primes、factorization、ECC、converting、stuff等方面的函数,个人觉得结合gmpy2库,PyCrypto库一起来使用会使计算变得非常简便。


0x1 安装

git clone https://github.com/hellman/libnum
cd libnum
python setup.py install

目前libnum暂时只支持python2,若是用python3安装会因为没有reduce、xrange而报错。

0x2 常用的Converting

数字型(不论是十六进制还是十进制)与字符串之间的转换:

//字符串转整型
import libnum
s="flag{pcat}"
print libnum.s2n(s)
//整型转字符串
import libnum
n=0x666c61677b706361747d
print libnum.n2s(n)
#这个转换不用在意十六进制的位数是否为偶数

二进制与字符串之间的转换:

//二进制转字符串
import libnum
b='01110000011000110110000101110100'
print libnum.b2s(b)
二进制的位数最好是8的倍数
//字符串转二进制
import libnum
s='pcat'
print libnum.s2b(s)

0x3 质数&因数分解

生成质数:

print libnum.generate_prime(1024)

因数分解:

print libnum.factorize(1024)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章