PythonでRSA秘密鍵を使用してデータを暗号化する方法は?

アブラハム

暗号化操作を行うために、Python2.7.1にpyCryptoパッケージをインストールしました

Q1:私がやりたい操作はprivate Key(の代わりにpublic Key)でいくつかのデータを暗号化することですこのライブラリではできないようです。私は正しいですか?もしそうなら、それを行うことができるライブラリはありますか?

Q2は:のドキュメントは、署名を計算するのに使用されるハッシュアルゴリズム言及されていません!signメソッドに使用されているハッシュ関数を確認するにはどうすればよいですか?

Q3:encryptメソッドに関するドキュメントの一部が表示されます

encrypt(self, plaintext, K)

RSAを使用してデータを暗号化します。

パラメーター:

プレーンテキスト(バイト文字列またはlong)-RSAで暗号化するデータ。RSAモジュール(n)よりも数値的に大きくすることはできません。

(検閲!)

上記のように、入力データはRSAモジュールよりも数値的に大きくないものに制限されます。これは、0x21が0x11より大きいため、(たとえば)0x21...(257 bytes)モジュール=のRSAキーペアで暗号化できないことを意味し0x11...(257 bytes)ますか?もしそうなら、なぜですか?毎回暗号化する前に値を比較するのは変ではないですか?!それとも、データの長さがモジュールの長さ以下でなければならないという意味ですか?

ジムフラッド

公開鍵暗号化では、秘密鍵で暗号化するのではなく、常に公開鍵を使用します。そうしないと、公開鍵が「公開」であるため、だれでも暗号文を復号化できます。

公開鍵と秘密鍵を同じ意味で使用したくなるかもしれませんが、一般に、秘密鍵があれば、多くの作業をしなくても公開鍵を理解できます。したがって、公開鍵を安全に保つことを考えて誰かに秘密鍵を渡すと、安全ではなくなります。

モジュラスより大きくないという場合は、バイト単位のサイズを意味します。実際には、モジュラスのサイズ(2048ビットのRSAキーペアの場合は256バイト)よりも小さくなります。ただし、常にデータをパディングする必要があるため、データは実際にはモジュールよりも小さくする必要があります。たとえばOAEPパディングを使用したパディングは、暗号文をランダム化します。同じ平文を暗号化するたびに、ランダムに見える異なる暗号文が得られます。そうしないと、攻撃者が秘密鍵を持っていなくても、暗号文は弱く、攻撃を受けやすいため、これは重要です。したがって、データとパディングをモジュラス(256バイトなど)に収めるためのスペースを残しておく必要があります。

通常、秘密鍵で署名します。RSAでは、これは実際には秘密鍵で「暗号化」しますが、一般的なAPIで「秘密鍵で暗号化」することはないと思います。

私はpyCryptoに精通していませんが、署名するときにお気に入りのハッシュを選択しているように見えます。私がグーグルで検索した例からわかる限り、あなたは自分自身をハッシュし、符号関数にダイジェストを与えます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PythonでRSA秘密鍵を使用して暗号化するにはどうすればよいですか?

分類Dev

scryptを使用して秘密鍵をパスワードで暗号化する方法

分類Dev

Python暗号化:PKCS1v15パディングを使用してRSA秘密鍵で署名することはできません

分類Dev

rsa秘密鍵を使用してデータに署名する

分類Dev

RSA-2048サーバー公開鍵を使用してクライアント秘密鍵を暗号化する

分類Dev

OpenSSLを使用して暗号化された秘密鍵を復号化する方法は?

分類Dev

RSA暗号化を使用してC ++で大きなデータを暗号化する方法

分類Dev

角度で公開鍵を使用してパスワードを暗号化し、C#で秘密鍵を使用してパスワードを復号化する方法

分類Dev

RSA:Javaで秘密鍵を生成してC#で使用する方法

分類Dev

AES 256暗号化:公開鍵と秘密鍵.netを生成して使用する方法

分類Dev

秘密鍵とサーバー生成ビットを使用して復号化する必要があるデータを暗号化できますか?

分類Dev

golangでパスフレーズを使用してRSA秘密鍵を作成する方法

分類Dev

公開鍵を使用してPHPで暗号化した後、秘密鍵を使用してc#のチャンクでデータを復号化するにはどうすればよいですか?

分類Dev

Pythonの暗号化モジュールを使用してRSA公開鍵をロードする方法

分類Dev

後で復号化できるようにGPG秘密鍵を使用してファイルを暗号化する方法

分類Dev

python-暗号化-新しいRSA秘密鍵を生成します

分類Dev

PHPサーバーからのHEX公開鍵を使用してAndroidでRSAで暗号化する方法

分類Dev

秘密鍵文字列を使用してSHA-256暗号化文字列を復号化する方法は?

分類Dev

キーストアに保存されたカスタム秘密鍵を使用して AES 暗号化を実行する方法は?

分類Dev

WebCrypto APIを使用するだけで、パスワードを使用して秘密鍵を暗号化する

分類Dev

JavaでRSAキーを使用して暗号化を解除する方法

分類Dev

opensslライブラリを使用して複数の公開鍵でデータを暗号化する方法

分類Dev

暗号化された秘密鍵をgolang sshで使用する方法

分類Dev

PyCryptoで暗号化されたRSA秘密鍵を使用するにはどうすればよいですか?

分類Dev

AES(openssl)を使用してデータを暗号化する方法は?

分類Dev

暗号化ライブラリを使用してPythonで楕円曲線秘密鍵を生成する

分類Dev

C#BouncyCastle-公開鍵/秘密鍵を使用したRSA暗号化

分類Dev

秘密鍵暗号化を使用してPKCS12鍵ストアを作成する方法PBEWithHmacSHA512AndAES_128

分類Dev

楕円曲線暗号を使用して、公開鍵で暗号化し、秘密鍵で復号化します

Related 関連記事

  1. 1

    PythonでRSA秘密鍵を使用して暗号化するにはどうすればよいですか?

  2. 2

    scryptを使用して秘密鍵をパスワードで暗号化する方法

  3. 3

    Python暗号化:PKCS1v15パディングを使用してRSA秘密鍵で署名することはできません

  4. 4

    rsa秘密鍵を使用してデータに署名する

  5. 5

    RSA-2048サーバー公開鍵を使用してクライアント秘密鍵を暗号化する

  6. 6

    OpenSSLを使用して暗号化された秘密鍵を復号化する方法は?

  7. 7

    RSA暗号化を使用してC ++で大きなデータを暗号化する方法

  8. 8

    角度で公開鍵を使用してパスワードを暗号化し、C#で秘密鍵を使用してパスワードを復号化する方法

  9. 9

    RSA:Javaで秘密鍵を生成してC#で使用する方法

  10. 10

    AES 256暗号化:公開鍵と秘密鍵.netを生成して使用する方法

  11. 11

    秘密鍵とサーバー生成ビットを使用して復号化する必要があるデータを暗号化できますか?

  12. 12

    golangでパスフレーズを使用してRSA秘密鍵を作成する方法

  13. 13

    公開鍵を使用してPHPで暗号化した後、秘密鍵を使用してc#のチャンクでデータを復号化するにはどうすればよいですか?

  14. 14

    Pythonの暗号化モジュールを使用してRSA公開鍵をロードする方法

  15. 15

    後で復号化できるようにGPG秘密鍵を使用してファイルを暗号化する方法

  16. 16

    python-暗号化-新しいRSA秘密鍵を生成します

  17. 17

    PHPサーバーからのHEX公開鍵を使用してAndroidでRSAで暗号化する方法

  18. 18

    秘密鍵文字列を使用してSHA-256暗号化文字列を復号化する方法は?

  19. 19

    キーストアに保存されたカスタム秘密鍵を使用して AES 暗号化を実行する方法は?

  20. 20

    WebCrypto APIを使用するだけで、パスワードを使用して秘密鍵を暗号化する

  21. 21

    JavaでRSAキーを使用して暗号化を解除する方法

  22. 22

    opensslライブラリを使用して複数の公開鍵でデータを暗号化する方法

  23. 23

    暗号化された秘密鍵をgolang sshで使用する方法

  24. 24

    PyCryptoで暗号化されたRSA秘密鍵を使用するにはどうすればよいですか?

  25. 25

    AES(openssl)を使用してデータを暗号化する方法は?

  26. 26

    暗号化ライブラリを使用してPythonで楕円曲線秘密鍵を生成する

  27. 27

    C#BouncyCastle-公開鍵/秘密鍵を使用したRSA暗号化

  28. 28

    秘密鍵暗号化を使用してPKCS12鍵ストアを作成する方法PBEWithHmacSHA512AndAES_128

  29. 29

    楕円曲線暗号を使用して、公開鍵で暗号化し、秘密鍵で復号化します

ホットタグ

アーカイブ