問題タブ [encryption-asymmetric]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
18215 参照

c++ - 公開鍵による C/C++ 暗号化/復号化

これらに概念的に類似した2つの関数を探しています:

どこstringで a char*、 astd::stringまたはこれらの 2 つに簡単に変換できるものである可能性があります。そして、 wherepublic_keyと基本的には、一部のコマンド (gpg/ssl など) で生成されたキーから、他の単純なprivate_key関数で生成されたキーまで、何でもかまいません。

私はいくつかの暗号化ライブラリ (libgcrypt、libgpgme、openssl ...) を調べましたが、これらのライブラリでそのような機能を実装するのは簡単ではないようです。コードの。

とにかく、このタスクは珍しいことではないようです。上記の2つの機能を実装するにはどうすればよいですか?

0 投票する
1 に答える
259 参照

encryption - RSA-ブラインドメッセージスキームはまだ脆弱ですか?

これは多かれ少なかれアルゴリズムや設計の問題であり、プログラミングはそれほど多くないことは知っていますが、大丈夫だと思います。

ブラインドメッセージを使用していて、Cによって署名されています。署名後、ブラインドを削除し、他のユーザーAとBがメッセージを共有できるようにします。これは安全ですか、それとも署名者が公開鍵と秘密鍵を持っている場合でもこれらのメッセージを読むことができますか?機密性を確保するために、ブラインドを解除した後、さらに手順を実行する必要がありますか?

私はこれがどのように機能するかを説明するさまざまな数式を読みましたが、私は数学者というよりはプログラマーです。機密性を確保したいのですが、機能しているかどうかわかりません。

0 投票する
2 に答える
1758 参照

ruby - Rubyを使用した非対称確定的暗号化(RSA)

非対称暗号化アルゴリズムを使用してRubyで値を決定論的に暗号化する方法を誰かが知っているかどうか疑問に思いました。

ほとんどのユースケースでは、「A」を暗号化すると、復号化すると「A」が返されることだけが気になります。つまり、暗号化された値自体は気になりません。あなたは完全な往復だけを気にします。

ただし、私が開発しているアプリケーションの場合、出力を決定論的にする必要があります。つまり、変数のパディングなしでRSAを使用して何かを暗号化する必要があります。

OpenSSL::PKey::RSA::NO_PADDINGエラーのある値を暗号化しようとすると、次のように返されます。

RSAを使用して決定論的な暗号化された値を取得する方法について誰かが考えていますか?

よろしくお願いします、

DBA

0 投票する
3 に答える
3601 参照

security - elgamal のジェネレータを見つける

エルガマル署名スキームのジェネレーターはどのように見つけられますか? 優れたジェネレーターであるほとんどのプログラムで使用される値はありますか? または、素数のジェネレーターを見つける方法はありますか? もしそうなら、どのように?素数には少なくとも 1 つの生成元があると言うのは本当でしょうか?

0 投票する
3 に答える
13281 参照

php - 秘密鍵と PKCS1 を使用した PHP RSA 暗号化

RSA、PKCS1、秘密鍵、および PHP を使用して文字列を暗号化する必要があります。exec() で使用できる端末コマンドすら見つかりませんでした。誰もそれを行う方法を知っていますか?

ありがとう!

0 投票する
3 に答える
11973 参照

mysql - Postfix + MySQL ENCRYPT()、ランダム化ソルトでパスワードをどのように検証しますか?

ここで説明するように、メールサーバーを実装しました。

それは完全にうまく機能します。私の興味は、ユーザーをデータベースに入力して認証することです。

ランニング:

複数回、ランダムなソルトを利用するため、暗号化されたパスワードに異なるハッシュが与えられます。つまり、同じパスワードでsales@example.comを3回入力すると、各ハッシュは異なります...

これに対する私の質問は、ユーザーがメールクライアントを介してログインしたときにPostfixサーバーが実際にパスワードを認証できるのはどうしてですか?

暗号化されたパスワードを適切に認証するために舞台裏で何が起こっているのかを完全に理解できるように、好奇心を満たすためだけにうまく機能するので、言うまでもなく問題はありません。

0 投票する
1 に答える
2886 参照

c# - このオールインワンXML暗号化/復号化MSDNサンプルの何が間違っていますか?

MSDNのXML暗号化復号化を以下の同じプロジェクトにマージしましたが、エラーが発生します

「復号化キーを取得できません」。 代替テキスト

奇妙なことに、例外の前後に秘密鍵を書き込むことができるので、問題が何であるかわかりません。マージされたコードは以下のとおりです。

完全な例外(e)

System.Security.Cryptography.CryptographicException:復号化キーを取得できません。System.Security.Cryptography.Xml.EncryptedXml.DecryptDocument()at RemoteKey.Decrypt(XmlDocument Doc、RSA Alg、String KeyName)in C:\ Users \ me \ ClientAgent \ Program.cs:line 185 at RemoteKey.Main(String [] args)in C:\ Users \ Me \ ClientAgent \ Program.cs:line 286

0 投票する
2 に答える
6103 参照

java - Java での RSA 暗号化: クロス プラットフォームの問題?

状況

Java で RSA 暗号化を使用しています。Cyanogenmod の Android 2.2 を搭載した HTC Saphire (32B) 開発者向け携帯電話でデータを暗号化し、Mandriva Linux 2010 を実行している 64 ビット サーバーでそのデータを復号化しようとしています。両方のマシンで同じ公開鍵と秘密鍵のペアを使用しています。 、Androidフォンでデータを正しく暗号化/復号化でき、Linuxサーバーでデータを正しく暗号化/復号化できますが、電話でデータを暗号化してからサーバーで復号化できません. パディングの例外が発生します。データが電話から正しく送信され、サーバーによって正しく解析されていることを確認しました。そのため、復号化が失敗する理由がわかりません。誰でもこれで私を助けることができますか?おそらく、Java の RSA アルゴリズムには、単語のサイズに関するいくつかの基本的な仮定がありますか?

さらに詳しい情報:

  • 私の暗号化/復号化ライブラリは、こちらのガイドに基づいています。
  • 私の暗号化キーの長さは 2048 ビットですが、異なるキー サイズでも同様の動作が見られます。
  • RSA 暗号化/復号化コードを jar ファイルにパッケージ化しました。これは、サーバーのマシンで Eclipse を介してコンパイルされました。
  • Android フォンの暗号化ライブラリを使用するプログラムは、上記のライブラリを使用します。これも Eclipse を使用してビルドされました。
  • サーバー プログラムは、Netbeans を使用して作成されました (当時は Netbeans の方が簡単だったからです)。

その他の質問

  • Java で利用できる他の無料の公開鍵暗号化アルゴリズム/ライブラリはありますか? それらはクロスプラットフォームで動作しますか? それらにどのようなパフォーマンスが期待できますか? などなど。私はこれを調べましたが、あまり見つかりませんでした。おそらく私は間違ったキーワードで探しています。

ふぅ!それだけだと思います。事前にご協力いただきありがとうございます。

0 投票する
3 に答える
189 参照

python - Actionscript 3 つの非対称暗号化

Pythonベースのサーバーアプリケーションとクライアントの間でオープンデータチャネルを介してデータを保護するための信頼できる非対称暗号化ソリューションが見つからないようです。
クライアントがオープン データ チャネルを介した中間者攻撃を防ぐ方法が必要です。現在の交換では、クライアントがサーバー アプリケーションと通信していることを確認するために使用するトークンを、私のサイトのphpスクリプト。これは理想とはほど遠いものであり、トークンが送信されるのを待って別のユーザーに渡してしまうと、簡単に危険にさらされる可能性があります。
as3crypto の rsa 暗号化を試してみましたが、多くのライブラリでサポートされておらず、既知の脆弱性がある古い実装です。
このようなことが起こらないように、公開鍵/秘密鍵をクライアントとサーバーの両方にハードコーディングできるソリューションが本当に欲しいです。

0 投票する
2 に答える
2391 参照

encryption - 公開鍵暗号化はどのように機能しますか?

秘密鍵と公開/公開鍵を使用して復号化/暗号化する場合、公開鍵暗号化はどのように機能しますか?キーが256ビットであるとはどういう意味ですか?どのように復号化されますか?暗号化プログラムを作成するための言語はありますか、それともどの言語でも問題ありませんか?