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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章