問題タブ [diffie-hellman]

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 投票する
1 に答える
1412 参照

java - Bouncy Castle による ECDHE セキュリティ

私は楕円曲線暗号の分野ではまったくの初心者であり、経験もありません。調査の結果、従来の DHE とは異なり、ECDHE パラメータは生成されるべきではなく、事前定義された曲線のリストから選択されるべきであると判断しました (例には、「P-521」、「prime192v3」が含まれます)。

ネットワークベースのセキュリティに敏感なアプリケーションを作成している間、単一のハードコードされた曲線を使用するよりも、実行時にランダムに異なる曲線を選択する方が良い (または論理的でさえある) でしょうか?

また、選択できるすべての曲線の中で、強い曲線と弱い曲線という概念はありますか?

これまでのところ、これは ECDH 交換を開始するための私のコードです。

これまでのところ、このコードに問題はありますか?

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

java - java.security.NoSuchProviderException: JCE はサーブレットでプロバイダ BC を認証できません

弾む城を使用して楕円曲線 Diffie Hellman を実装しています。を使用してbcprov-jdk15on-149.jarいます。しかし

java.security.NoSuchProviderException: JCE はプロバイダー BC を認証できません

例外がスローされます。次の行で発生しますKeyAgreement.getInstance("ECDHC", "BC");

例外は

java.security.NoSuchProviderException: JCE は javax.crypto.JceSecurity.getInstance(JceSecurity.java:101) で javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:223) でプロバイダ BC を認証できません

JRE の java.security ファイルに Bouncy Castle プロバイダーを追加しました。しかし、それは役に立ちませんでした。この状況の解決策を知りたいです。
また、この問題はサーブレットでのみ発生します。J2SE プロジェクトでテストしたところ、コードは正常に動作しました。これをサーブレットに入れた場合にのみ例外がスローされます。

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

c# - C# AES 鍵交換シナリオ: これは安全ですか?

私は鍵交換に関する小さなレポートを作成していて、このシナリオが安全かどうかを尋ねたいと思っています。

まず、簡単なサーバーとクライアント ベースのインスタント チャット ソースを作成します。

送信者 ID、メッセージ、および AES によって暗号化されるという 2 つのフィールドで構成されるクラスをサーバーに送信します。サーバーはメッセージを他のクライアントにアナウンスします。

各クライアントはサーバーと鍵を共有します (Diffie-Hellman 鍵交換を使用)。

すべてのクライアントは、他のクライアントと比較して異なるキーを持ち、キーの値は

各クライアントとサーバーに保存されます(サーバーはすべてのクライアントのすべてのキーを保持します。)

私が最初に聞きたいのは、これは可能ですか?

第二に、それは安全ですか?

第三に、同様の効果を得るよりスマートな方法はありますか?

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

c# - C# の Diffie-Hellman メソッドが機能しない

だから、結局のところ、私はその方法を説明したい:

アイデアは、実際には送信せずに、2 人が公共の通信チャネルを介して 1 つの値を交換することです。

これがどのように機能するかです:

https://en.wikipedia.org/wiki/Diffie-Hellman


これは私のC#コードです:

唯一の問題は、値を同じにすることができないことです。式が正しいかどうかを再確認しましたが、間違っていなかったと思いますが、C#コードは一致していないようです。

結果は実際には 0 から 251 の間ですが、常に異なります。

それで、私は何を間違っていますか?

C#コードは大丈夫ですか?

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

c# - ECDiffieHellmanCng の秘密鍵をエクスポートする方法

ECDiffieHellmanCngオブジェクトの新しいインスタンスからキーをエクスポートしようとしているので、後で同じキーを使用してそのインスタンスを作成できます。しかし、エクスポートしようとするとエラーが発生します。

「要求された操作はサポートされていません」というメッセージでExportメソッドを呼び出すと、CryptographicException が発生します。Export メソッドの定義を見ると、 SecuritySafeCriticalAttributeで飾られているため、この属性が実際に例外をスローしているのではないかと疑っています。この例外の原因は何ですか? 後で同じ ECDiffieHellmanCng オブジェクトのインスタンスを作成できるように、キーを保存するにはどうすればよいですか?