問題タブ [ecdsa]
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.
linux - BCryptSignHash 出力署名について
ECDSAアルゴリズムでBCryptSignHashを使用して、Windowsでハッシュ値に署名しました。出力署名バッファの長さは 64 バイトです。また、ハッシュに署名したBCryptGenerateKeyPair関数 (BCRYPT_ECDSA_P256_ALGORITHM アルゴリズム) を使用して公開鍵と秘密鍵のブロブを生成しました。
Linux でこの鍵ペアを使用して、この署名を検証する必要があります。リンクを使用して、生成された公開鍵と秘密鍵のペアを解読できます。 "そして、Linux でも同じものを使用できます。
生成される 64 バイトの署名は、理想的には署名ペア (r,s) ( http://en.wikipedia.org/wiki/Elliptic_Curve_DSA ) である必要があります。
Linux で署名ブロブの内容を (r,s) ペアにマップして検証できるように、生成された 64 バイトの署名を理解する方法はありますか?
または、Linux で生成された署名を検証する簡単な方法はありますか?
ありがとう
digital-signature - 検証機能なしでCrypto ++でECDSA署名を検証する方法は?
Crypto++ を使用して、ECDSA で Signer/Checker メカニズムを作成しました。
問題は、署名を確認したいときに、検証機能が機能しないことです。
署名を検証するためのより手動の方法を提案してもらえますか?
crypto++ - ポイント圧縮による公開鍵初期化APIはありますか?
私は CryptoPP をいじっていますが、この特定の質問に対する答えが見つかりません。これがサンプルソースコードです(部分的)
このようにして、コンポーネント値を使用して publicKey を生成できます。ただし、ポイント圧縮で動作させることができません。つまり、Qy 値がありません。それを行う方法はありますか? Initialize メソッドには 2 つのオーバーロードがありますが、いずれもポイント圧縮の状況には対応していません。
私の質問は、「PublicKey.Initialize(curve,G,n,Q)」の Crypto++ に固有のものです。現在のプロジェクトでは publicKey 全体を転送できないため、ドメイン パラメータをインデックス値として指定する必要があり、Qx 値のみを転送できます。したがって、「PublicKey.Initialize(curve,G,n,Q)」のようなものを使用して publicKey を初期化する必要がありますが、ポイント圧縮に関するそのような初期化 API が見つかりません。
というわけで、これは「ポイント圧縮のやり方」ではなく、「Qy 値を持たずに公開鍵を初期化する方法はありますか?」ということです。
go - ECDSA 秘密鍵を Go に保存する方法
メソッドを使用してecdsa.GenerateKey、Go で秘密鍵と公開鍵のペアを生成しています。秘密鍵をユーザーのコンピューター上のファイルに保存し、プログラムが起動するたびにロードしたいと思います。公開鍵をマーシャリングする方法はありますがelliptic.Marshal、秘密鍵についてはありません。単に自分でロールする必要がありますか、または秘密キーを保存するための推奨される方法はありますか?
encryption - ヤコビアン座標での楕円曲線の加算
素体上の楕円曲線に 2 つの点を追加して、これらの点をアフィン/アフィン座標から変換しようとしましたが、正しい結果を得ることができませんでした (テストしている曲線は a=0 です)。誰が何が悪いのか見ることができますか?
c# - BouncyCastle ESDSA の実装
BouncyCastle ライブラリを使用して C# で ECDSA を実装していますが、TestECDsa192bitPrime() の例を理解するのに苦労しています。
上記の例では、BouncyCastle が G( Basepoint) と Q( public key) を直接計算する方法を示しました。