2012-02-01 51 views
10

我目前正在使用python來實現兩臺(或多臺)計算機之間的p2p通信。雖然我很擅長python,但我絕不是專家;編程和加密決不是我的專業,只是一種愛好。但是,在開展這個項目時,我一直試圖更多地瞭解加密和網絡編程。在Python中實現完整的RSA

截至目前爲止,我已經寫了一個功能非常強大的類,它可以很好地通過網絡進行通信,我正在嘗試通過實現RSA來加密網絡上對等點之間的連接來改進它;這是我遇到一些困難的地方。

我以前使用pycrypto在python中做了一些基本的加密/解密操作,因此我相當滿意所有涉及的工具 - 包括必要的公鑰密碼。此外,我也意識到pycrypto有一些缺點,因爲它只實現了實現RSA所需的基本骨幹,低級加密/解密算法,並沒有實現用於公鑰加密的完整協議。我也知道,pycrypto包含一些其他有用的工具,如AllOrNothing變換,可用於填充通信,等等。但是,我的問題是:任何人都可以推薦任何在線文章,書籍,博客文章,項目等幫助我實現有效的RSA協議?

最後,我知道這是一個帶密碼學家的敏感話題,業餘實施的協議通常意味着程序中安全性較低。正如我上面提到的,這個項目只是一個學習經驗,如果我專業地完成這個項目,我肯定會使用M2Crypto或其他專業實施的安全協議 - 即SSL/TLS。唉,我只是試圖通過實施我自己的經過驗證的協議模型來創建兩個對等體之間的安全連接,從而更多地瞭解加密。

感謝, 凱文

+1

[PKCS#1](http://www.rfc-editor.org/rfc/rfc3447.txt) – 2012-02-02 01:33:08

回答

8

看看雷蒙德赫廷傑配方:Public Key Encryption (RSA)

+0

啊,這太好了,謝謝你的幫助。我將開始研究並適應我的需求! – 2012-02-01 17:07:56

+0

似乎在python2和python3中都有無限循環。 – ninjagecko 2012-06-02 21:32:39

+0

這是一個非常好的答案。 – Glycerine 2013-01-09 01:26:59

4

爲什麼不來看看我的純Python RSA庫?這可能正是你所需要的:http://stuvel.eu/rsa

0

pycrypto有一些缺點,事實上,它只是實現了裸機,實現RSA需要低級別的加密/解密算法和未實現一個完整的協議公鑰加密。

當前版本PyCrypto(2.6)確實支持所有主要的RSA協議簽名和加密,即那些在PKCS#1規定(V1.5,PSS,OAEP)。