私のPythonチャットがソケットについて学ぶために働いていて、今日私は暗号化チャットを行うためにCryptoモジュールを実装し始めました。しかし、私は公開鍵と秘密鍵を使いこなしていると思う。暗号モジュールとのPythonチャットの復号化がありません
クライアントがサーバーに接続すると、公開鍵を交換するためにハンドシェイクが行われます。そのため、クライアントには、自分の公開鍵を復号化して公開メッセージを暗号化するための鍵があります。そしてサーバー側:各クライアントはスレッドであり、ハンドシェイク後には、送信メッセージを暗号化するための独自の公開鍵と復号化するサーバーキーが格納されます。
ワークフローは(私のPOVから):送信者クライアントはメッセージを暗号化し、サーバーに送信し、サーバーは自身の秘密キーで復号化し、サーバーは自分のpubkeyを持つ他のすべてのクライアントにメッセージを暗号化します。最後に、受信者クライアントはserver pubkeyを使用してメッセージを復号化します。
send_all
とsend_all_no_room
の方法を使用して、すべてにメッセージを送信するときに直面する問題です。メッセージが正しく復号化されることもありますが、ほとんどの場合、正しく復号化されません。
正しいキーを紛失していますか?
はここ
は、私は、暗号化し、送信、受信のカスタム実装を考慮してくださいsend_all
とsend_all_no_room
機能にメソッドを解読server、client、およびcomms(受信、送信方法)があります。たとえば、send_private_msg
は機能しません。
は非常に多くの編集後に来ていることがわかりませんでした...ありがとう:) – Pere