問題タブ [dsa]
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.
c# - C# は DSA 暗号化アルゴリズムの公開鍵と秘密鍵を生成します
DSA アルゴリズムの公開鍵と秘密鍵をバイト配列形式で生成するにはどうすればよいですか?
php - 誰かが私のopenssl_signの例の何が問題になっているのか教えてもらえますか
2048ビットのdsa秘密キーを使用してデータに署名するためのphpデモコードは次のとおりです。
スクリプトは常にopenssl_signで失敗します。エラーや失敗は発生していません。openssl_signの出力がFALSEで、$signatureが空です。
キーを生成しました
何が間違っている可能性がありますか?
primes - DSA: サブプライムを生成する方法は?
最近、デジタル署名アルゴリズムとその仕組みについて少し調べました。これによる私の質問は、私にとって実際的な問題ではなく、純粋な関心事です。
ただし、DSA でサブプライムを生成する方法に興味があります。アルゴリズムのパラメーターの生成中のどこかで、1024 ビットの素数が選択されますp
。q
次のステップは、 の約数である160 ビットの素数を見つけることですp-1
。それが私が立ち往生するところです。q
永遠に待たずに、そのサブプライムを時間内に見つける方法がわかりません。また、インターネット上で DSA の特定の部分に関するドキュメントを見つけることができませんでした。私が見つけたすべての実装例では、ライブラリ関数を使用してパラメーターを作成しています。
そのサブプライム世代についてもっと知っている人、またはそれについて読むことができる場所に私を導くことができる人はいますか?
前もって感謝します。
c++ - Openssl DSA 署名
DSA 証明書を使用してデータに署名しようとしています。証明書をメモリに保存しています (openssl gendsa コマンドで生成されたものです)。
私の関数は次のようになります。私の問題はres = EVP_SignFinal
. ここで関数は 0 を返し、signature_len を 0 に設定します。
問題が何であるか考えていますか?デバッガーで確認したところ、証明書の値は次の形式で正しいです。
また、長さも正しく、ファイルの長さと一致します。
java - Java での DSA と RSA および AES128 と AES256 の暗号化
DSA & RSA
どちらが強いという話ではありません。
私はインターネットでこの件について調査してきましたが、以下は私が得た情報の要約です。それが正しいかどうか、また、ここで言及していない重要な問題が他にあるかどうかを教えてください。
ここでは、Java への適用における DSA と RSA についてのみ説明します。私の主な目標は、公開鍵アルゴリズムを使用してクライアントからサーバーにセッション キー (AES) を送信し、クライアントの認証を確認することです。
DSA。
1. Java では、ファイルを秘密鍵で暗号化することになっています。
2. これは署名であることを意味します。公開鍵を持っている人は誰でもそれを読み取ることができますが、署名できるのは所有者だけです。
3. 公開鍵を秘密として、またはその逆を使用しようとすると、問題が発生します。なぜなら、秘密から公開鍵を推測することはそれほど難しくないからです。
4. DSA を使用してセッション キーを送信することは事実上できません。
RSA。
1. Java では、公開鍵でファイルを暗号化することになっています。
2.これは、特定の受信者に秘密のメッセージを配信するための最良の方法であることを意味します. 署名された後は、所有者以外は誰も読むことができません。
3. 互いに鍵を交換しようとすると問題が発生します (上記と同じ)
4. クライアントに RSA を効果的に使用して、サーバーの公開鍵で暗号化されたセッション鍵を送信し、クライアントの公開鍵で署名されたサーバーから確認を受け取ることができます.
これに基づいて、目的に RSA を使用することにしました。
AES256 対 AES128
別の無関係な質問 - 非常に機密性の高いデータのないセッション暗号化では、AES256 を使用するのが理にかなっていると思いますか?
したいのですが、エンドユーザーに問題が生じます。256 ビット キーを許可する Java の更新プログラムをインストールするのは非常に簡単であることはわかっていますが、悲しいことに、そのような単純なことでも、潜在的なユーザーベースを半分に減らすことができます。
一方、機密情報 (クレジット カード番号など) を送信せず、各キーが数日以内に使用される場合は、AES128 で十分でしょうか?
明らかに、アップデートをインストールする必要がないユーザーのために、AES256 を使用するオプションを含める予定です。
コメントありがとうございます!
openssl - OpenSSLバイトシーケンスはリトルエンディアンまたはビッグエンディアンの順序ですか?
私はopenssldsa実装を使用しようとしていますが、次の詳細と非常に混乱しています。
コマンドのオプション'-text'
openssl dsa ....
:出力の16進数、これらはバイトであり、したがってリトルエンディアンの順序であると想定するのは正しいですか?関数BN_bn2hexおよびBN_hex2bn、それらが使用するエンディアンは何ですか?
助けてくれてありがとう。
ssh - ssh(rsaまたはdsaキー)はどのように計算され、なぜ変更されたのですか?
先週、ローカルホストでSSH id_rsaキーを生成しました。これは、パスワードを入力せずにアクセスしたいリモートサーバーの適切な場所にあるauthorized_keyファイルにコピーしました。
これはうまくいきました。
今朝、パスワードなしで再度ログに記録しようとしていますが、キーが無効になっているようです。パスワードの入力を求められます。
新しいキーの生成を再試行し、リモートサーバーauthorized_keyに再度コピーすると、再動作します。
私の質問:最初のキーが無効になったのはなぜですか?
wcf - 署名アルゴリズムsha1DSAを使用した証明書のWCF例外
WCF を使用して Java Web サービスを呼び出しています。テスト サーバーでサービスを呼び出したときは正常に機能しましたが、運用環境に移行したときに次の例外が発生しました。
HTTP 経由で要求メッセージを送信できませんでした: トークンの暗号コレクションはアルゴリズム 'http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p' をサポートしていません
私たちが気づいたことの 1 つは、開発サーバー証明書の署名アルゴリズムが「md5RSA」であるのに対し、製品証明書の署名アルゴリズムは「sha1DSA」であることです。例外を引き起こすのは、この「RSA」「DSA」の不一致ですか? その場合、DSA を処理するように WCF を構成することは可能ですか?
ありがとう