2017-05-28 17 views
0

Python 3で、好ましくは組み込みモジュールでRSAまたは同様の公開鍵 - 秘密鍵の暗号化を使用するにはどうすればよいですか?私が今までに見つけたすべてのリソースはPython 2.7のためのものですPython 3でRSAまたは同様の暗号化を使用するには?

+0

Python 2.7がPython 3に使用するために見つかったことを試しましたか?両方のライブラリに多くのライブラリをインストールできます。 –

答えて

1

Python 3は暗号化を扱う標準ライブラリをあまり持っていません。代わりに、あなたはRSAを使用してデータを暗号化する場合は、あなたがする必要がありますあなたは、セキュアハッシュまたはメッセージダイジェストアルゴリズムが必要な場合は、Pythonの標準ライブラリには、あなたが hashlibモジュールに

をカバーしているライブラリ をハッシュ取得します公開鍵/秘密RSA鍵ペアにアクセスするか、独自の鍵ペアを生成する必要があります。この例では、独自のものを生成します。それを行うために非常に簡単ですので、私たちはPythonのインタプリタでそれを行います: あなたが最初のpython 3

>>> from Crypto.PublicKey import RSA 

>>> code = 'nooneknows' 

>>> key = RSA.generate(2048) 

>>> encrypted_key = key.exportKey(passphrase=code, pkcs=8, 

protection="scryptAndAES128-CBC") 

>>> with open('/path_to_private_key/my_private_rsa_key.bin', 'wb') as f: 

f.write(encrypted_key) 

>>> with open('/path_to_public_key/my_rsa_public.pem', 'wb') as f: 

f.write(key.publickey().exportKey()) 

まずためPyCryptoパッケージをインストールする必要があり、我々はCrypto.PublicKeyからRSAをインポートします。次に、愚かなパスコードを作成します。次に、2048ビットのRSA鍵を生成する。今、私たちは良いものに行きます。非公開鍵を生成するには、RSA鍵インスタンスのexportKeyメソッドを呼び出し、使用するPKCS標準と秘密鍵を保護するために使用する暗号化方式をパスコードで指定する必要があります。次に、ファイルをディスクに書き出します。

次に、RSA鍵インスタンスのpublickeyメソッドを使用して公開鍵を作成します。このコードのショートカットは、エクスポートキーをpublickeyメソッド呼び出しで連鎖するだけで、ディスクにも書き込むことができます。

関連する問題