問題タブ [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.

0 投票する
0 に答える
4612 参照

php - PHP での secp256k1 (ECDSA) の実装 (ビットコイン用)

熱心な支持者および/またはクローザーへ: これが SO のトピック外であると思われる場合は、この質問がより適切な他の StackExchange サイトを教えてください。


PHPでECDSA曲線secp256k1を実装するには?

というか、解決策はありますか?含まれる特殊なクラス - すでに完了していますか?

オープンソースのライブラリ、クラス、その他の言語 (JavaScript、Python など) で利用できるものがたくさんあることがわかりますが、PHP ソリューションの一部またはすべてをグーグルで検索したところ、何もありませんでした。.

これは私のビットコイン プロジェクトのためのもので、秘密鍵から公開鍵を生成する方法が必要です...そして、最終的なビットコイン アドレスを生成したいと考えています

私は秘密鍵を生成する方法を知っており (ランダムかどうかは気にしないでください - ここでは問題ではありません)、256 ビットの 16 進数と WIF 表記の両方を持っています。しかし、次のステップ:公開鍵を考え出し、最終的なビットコイン アドレスを取得することは、私にとって一種の問題です。私は文字通り暗号のようなバックグラウンドがなく、解決策が secp256k1 を何らかの形で利用することであることを知っているからです。

これは私がこれまでに持っているものです:

tl;dr PHP でこれを実装する方法は? (..そしてその前にprivKey->pubKey変換)

http://i.stack.imgur.com/U2neg.png

私は知っている...

  • http://github.com/mikegogulski/bitcoin-php ..これはかなりきちんとしていて、RPC 経由でbitcoindを制御するための便利なメソッドと方法がたくさんありますが、残念ながらprivKey->pubKeyメカニズムを処理できる純粋な PHP メソッドがありません。
  • http://bitcoinphp.com/ ..そこには見つかりませんでした。
  • 残念ながら、OPENSSL-PHP ドキュメントで言及されている唯一のダイジェスト メソッドは「ecdsa-with-SHA1」です。間違っている場合は修正してください。ただし、「ecdsa-with-SHA256」または何かが必要ですそんな(?)
  • アルゴリズムをbitcoinjs.jsから変換しようとさえしましたが、私の暗号知識では要点を抽出できませんでした。私は単にそれらの曲線とそのビット操作、およびその他の不気味なものを理解していません。

PURE PHP ソリューションを探しています。bitcoind を実行しているシェルを使用してから、JSON を解析してキーペアを探しているわけではありません。

PHP でこれを完全に処理できるコードがないのはなぜですか? それともありますか?:)

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

python - paramiko の実行中に Python モジュール ecdsa エラーが発生する

paramiko モジュールをインストールしようとしています..以下のエラーで失敗します

paramiko のインストールを進める方法について何か提案はありますか?

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

signing - 送信者から圧縮された y 値を回復するにはどうすればよいですか?

私は次のシナリオに取り組んでいます:

  1. 秘密鍵と公開鍵を生成する
  2. 以下を使用して圧縮された公開鍵を生成します。

    PublicKey.AccessGroupParameters().SetPointCompression(true)

  3. 一部のデータに署名し、圧縮された公開鍵で相手に送信します。

  4. 【相手側】公開鍵で署名を検証

ステップ 4 では、y 値を回復する必要があります。Crypto++ で使用できる API はありますか?

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

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 で生成された署名を検証する簡単な方法はありますか?

ありがとう

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

digital-signature - 検証機能なしでCrypto ++でECDSA署名を検証する方法は?

Crypto++ を使用して、ECDSA で Signer/Checker メカニズムを作成しました。

問題は、署名を確認したいときに、検証機能が機能しないことです。

署名を検証するためのより手動の方法を提案してもらえますか?

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

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 値を持たずに公開鍵を初期化する方法はありますか?」ということです。

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

go - ECDSA 秘密鍵を Go に保存する方法

メソッドを使用してecdsa.GenerateKey、Go で秘密鍵と公開鍵のペアを生成しています。秘密鍵をユーザーのコンピューター上のファイルに保存し、プログラムが起動するたびにロードしたいと思います。公開鍵をマーシャリングする方法はありますがelliptic.Marshal、秘密鍵についてはありません。単に自分でロールする必要がありますか、または秘密キーを保存するための推奨される方法はありますか?

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

encryption - ヤコビアン座標での楕円曲線の加算

素体上の楕円曲線に 2 つの点を追加して、これらの点をアフィン/アフィン座標から変換しようとしましたが、正しい結果を得ることができませんでした (テストしている曲線は a=0 です)。誰が何が悪いのか見ることができますか?

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

c# - BouncyCastle ESDSA の実装

BouncyCastle ライブラリを使用して C# で ECDSA を実装していますが、TestECDsa192bitPrime() の例を理解するのに苦労しています。

上記の例では、BouncyCastle が G( Basepoint) と Q( public key) を直接計算する方法を示しました。

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

python-2.7 - pyasn1 で EC 公開鍵を解析する

pyasn1 を使用して ec public を解析するには?

pyasn1でこのようなものを手に入れることは可能ですか?

編集: 私はこれに基づいて以下を取得します: