問題タブ [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.
java - Diffie Hellman鍵契約は、JAVAのたびに異なる鍵を生成します
DiffieHellmanの実装で問題が発生しています。私はこのコードを使用しています http://www.java2s.com/Tutorial/Java/0490__Security/DiffieHellmanKeyAgreement.htm
実は私が読んでいる一冊の本の例です。しかし、なぜgenerateSecret()
ごとに異なるキーを作成するのか理解できませんKeyAgreement
。KeyAgreement
同じ関数で2回呼び出しても、関数が異なるキーを作成することに気づきました。誰かが提案する何かを持っているなら、私は本当にうれしいです!
御時間ありがとうございます!
encryption - Microsoft CNG 内で生成された ECDH 共有シークレットを表示する方法はありますか?
MS CNG と別のデバイスの間で ECDH キー交換を実行しようとしています。物事をデバッグするために、CNG で生成されている共有シークレットを確認して、他のデバイスで生成されたシークレットと比較できるようにしたいと考えています。これを行う方法を知っている人はいますか?
cryptography - なぜ Diffie Hellman が必要なのですか?
Diffie–Hellman は、両側が認証されている場合にのみ安全な鍵交換を提供します。認証のために、サイドは公開/秘密鍵を使用しています。したがって、A 側が B 側の公開鍵を知っている場合、A は単純にその鍵を使用してメッセージ (または新しいセッション鍵) を暗号化できます。なぜわざわざ別の鍵交換アルゴリズムを使用するのですか?
cryptography - Diffie-Hellmannの素数と底数を保護/非表示にする必要がありますか?
私たちが知っているように、2つの大きな素数に基づくDHアルゴリズムは、素数と素数と呼ばれていました。
DH鍵交換アルゴリズムを実装したアプリを書いています。セキュリティの観点から、素数と基数の保護に注意する必要がありますか?そして、私がそれをしなかった場合、どのような影響がありますか?
ssl - Diffie-Hellman 鍵交換の実装時にプリマスター シークレットが一致しませんでした
DHE_DSS を go の crypto/tls パッケージに実装しようとしています。残念ながら、PreMasterSecret (Z) を同じにすることはできないようです。私の基本的なワークフローは次のとおりです。
サーバーキー交換メッセージを受信
- P、G、Ys を抽出
- 提供されたデジタル署名を使用して検証する
クライアント鍵交換メッセージの準備
- クライアントの Xc を作成する
- Yc を生成 (Yc = G^Xc % P)
- Z の生成 (Z = Ys^Xc % P)
- 次のように梱包して、Yc を返送します。
ただし、これを gnutls-serv でデバッグすると、2 つの PreMasterSecret (Z) が異なります。返された Yc に署名する必要がありますか、それとも別の方法でパックする必要がありますか? RFC 5246には、これを示唆するものは何もありません。
<-- 編集 -->
ここに私の変更のパッチがあります:
java - JDK 1.6 を実行しているサーバーに iOS 5 が接続できず、JDK 1.5 を実行していないのはなぜですか
SSLSocket (ポート 443) でリッスンする Java ソケット サーバーと、それに接続する iOS アプリケーションがあります。iOS 5.1で実行している場合、サーバーの Java バージョンをJDK 1.5から1.6 (または1.7 )にアップグレードすると、アプリケーションが動作しなくなりました。アプリは、iOS 6 で実行する場合、JDK 5 および 6 に問題なく接続します。
iOS アプリがエラーを報告しています: -9809 = errSSLCrypto
。Java 側では、javax.net.ssl.SSLException: Received fatal alert: close_notify
.
Java サーバー側では、利用可能なすべての暗号スイートを有効にしました。クライアント側では、いくつかの異なるスイートを有効にするテストを行いましたが、各スイートを個別に有効にするテストはまだ完了していません。今のところ、TLS_DH_anon_WITH_AES_128_CBC_SHA
他のもので失敗しましたが、使用すると失敗し、スイートではないと思い始めています。
これがデバッグ出力です。それはずっとServerHelloDone
続き、その後すぐに失敗します:
参考までに、これは iOS 6.0 で動作します
java - Java での Bouncy Castle のパフォーマンス
DH パラメータを生成するときに Bouncy Castle Provider を使用すると、パフォーマンスに問題が発生します。以下の Bouncy Castle の例が、標準のプロバイダーを使用した場合よりも約 50 倍遅い理由を知っている人はいますか?
Bouncy Castle プロバイダーの使用:
標準プロバイダーの使用:
ssl - DH 対 DHE および ECDHE と完全転送秘密
Diffie-Hellman (DH) は完全転送秘密を提供しますか? それとも一時的な Diffie-Hellman (DHE) のみの機能ですか? Elliptic Curve Ephemeral diffie-Hellman (ECDHE) は DHE より優れていますか?
java - SecretKeySpec からの適切な Java セキュリティ初期化暗号
Diffie-Hellman KeyAgreement アルゴリズムをテストしています。そして、それを使用して秘密鍵を生成します。しかし、 を取得した後SecretKeySpec
、それを使用して を初期化するという問題に直面していますCipher
。これが私のコードです:
DiffieHellmanモジュール
DHTest
java - クライアントとサーバー間のデータ転送を保護するために Diffie-Hellman 鍵交換を使用する方法は?
私は初心者プログラマーです。Diffie-Hellman 鍵交換を使用して、クライアントとサーバー間のデータ転送を保護するように依頼されました。この問題についてよく検索しましたが、大きな整数p
とg
.
問題は、これらの番号を使用して情報の転送を保護する方法がわからないことです。整数ではなく、クライアントとサーバー間の接続を介して「文字列」を転送したいと思います。これらの数値はどのように役立ちますか? 受講中のコースのこのプロジェクトの締め切りが近づいていますが、本当に助けが必要です。