質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2338閲覧

python 3.5.1 エラーへの対処

YusukeKanai

総合スコア12

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/05/27 10:45

###前提・実現したいこと
PyCryptoのRSAを使って暗号化&復号化をしたいのですが以下のエラーの原因がわからず困っています。

###発生している問題・エラーメッセージ

AttributeError: 'bytes' object has no attribute '_randfunc'

###該当のソースコード

python

1from Crypto.Cipher import PKCS1_v1_5 2from Crypto.PublicKey import RSA 3 4def encryption(data): 5 rsa = RSA.generate(2048) 6 pub_key = rsa.publickey().exportKey() 7 cipher = PKCS1_v1_5.new(pub_key) 8 ciphertext = cipher.encrypt(data) 9 10def decryption(ciphertext): 11 rsa = RSA.generate(2048) 12 pri_key = rsa.exportKey() 13 cipher = PKCS1_v1_5.new(pri_key) 14 orig = cipher.decrypt(ciphertext) 15 16 17if __name__ == "__main__": 18 data = b'message' 19 print(encryption(data)) 20 ciphertext = encryption(data) 21 print(decryption(ciphertext)) 22

###試したこと
エラーで指定されている箇所を確認したのですが解決方法はわかりませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)
python3.5.1, pycrypto2.6.1を使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

newにはRSA key objectを入力しなければならないらしいです。

https://www.dlitz.net/software/pycrypto/api/2.6/Crypto.Cipher.PKCS1_v1_5-module.html#new

python

1from Crypto.Cipher import PKCS1_v1_5 2from Crypto.PublicKey import RSA 3 4 5def encryption(data): 6 rsa = RSA.generate(2048) 7 pub_key = rsa.publickey() # ここを変更 8 cipher = PKCS1_v1_5.new(pub_key) 9 ciphertext = cipher.encrypt(data) 10 return ciphertext 11 12 13if __name__ == "__main__": 14 data = b'message' 15 print(encryption(data))

投稿2017/05/27 11:51

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YouheiSakurai

2017/05/27 11:56

ちなみに '_randfunc'が珍しく感じたのでググったらhttps://stackoverflow.com/a/24792738を見つけてドキュメンテーションを探してこの答えにたどり着きました。
YusukeKanai

2017/05/30 09:39

回答していただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問