问题标签 [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 投票
3 回答
6598 浏览

php - 从比特币私钥中检索公钥

我如何从比特币私钥中获取比特币地址。

我了解整个方法,除了第一个方法,公钥及其 x 和 y 线来自哈希/私钥。

如果我可以在 php 中获得代码示例,那对我会更有帮助。

0 投票
1 回答
1620 浏览

linux - 了解 BCryptSignHash 输出签名

我已经使用带有 ECDSA 算法的BCryptSignHash在 Windows 中签署了一个哈希值。输出签名缓冲区的长度为 64 字节。我还使用BCryptGenerateKeyPair函数(BCRYPT_ECDSA_P256_ALGORITHM 算法)生成了公钥和私钥 blob,并使用该函数对哈希进行了签名。

我必须在 linux 中使用这个密钥对来验证这个签名。我能够使用链接“ http://msdn.microsoft.com/en-us/library/windows/desktop/aa375520%28v=vs.85%29.aspx ”破译生成的公私钥对" 并且能够在 linux 中使用它。

理想情况下,生成的 64 字节签名应该是签名对 (r,s) ( http://en.wikipedia.org/wiki/Elliptic_Curve_DSA )。

有没有办法理解生成的 64 字节签名,以便我可以将签名 blob 内容映射到 linux 中的 (r,s) 对并验证它?

或者有没有更简单的方法来验证linux中生成的签名?

谢谢, F

0 投票
1 回答
1318 浏览

c++ - 使用 Crypto++ 获取 ECDSA 签名

我必须使用 Crypto++ 在变量中获取 ECDSA 签名。
我在启动 SignMessage 后尝试获取它,但签名为空。
我怎么能得到它?

0 投票
1 回答
1668 浏览

digital-signature - 如何在没有验证功能的情况下使用 Crypto++ 验证 ECDSA 签名?

我使用 Crypto++ 使用 ECDSA 制作了签名者/检查者机制。

问题是当我想检查签名时,它不适用于验证功能。

你能建议我一种更手动的方式来验证签名吗?

0 投票
2 回答
945 浏览

crypto++ - 是否有带有点压缩的公钥初始化 API?

我在 CryptoPP 上翻来覆去,找不到这个特定问题的答案。这是示例源代码(部分)

通过这种方式,我可以使用组件值生成 publicKey。但是,我不能让它与点压缩一起工作——这意味着我没有 Qy 值——有没有办法做到这一点?Initialize 方法有两个重载,但都不是针对点压缩的情况。

我的问题是关于“PublicKey.Initialize(curve,G,n,Q)”的 Crypto++ 的具体问题。由于我无法使用当前项目传输整个 publicKey - 我被迫将域参数指定为索引值并且只能传输 Qx 值。所以我应该使用“PublicKey.Initialize(curve,G,n,Q)”之类的东西来初始化 publicKey 但是,我找不到这样的关于点压缩的初始化 API。

所以,这不是关于“如何进行点压缩”,而是“有没有办法在没有 Qy 值的情况下初始化公钥?”

0 投票
3 回答
13413 浏览

go - 如何在 Go 中存储 ECDSA 私钥

我正在使用该ecdsa.GenerateKey方法在 Go 中生成私钥/公钥对。我想将私钥存储在用户计算机上的文件中,并在程序启动时加载它。有一种方法elliptic.Marshal可以编组公钥,但没有编组私钥。我应该自己动手,还是有推荐的方法来存储私钥?

0 投票
1 回答
601 浏览

encryption - 雅可比坐标中的椭圆曲线加法

我尝试在素数场上的椭圆曲线上添加两个点,将这些点从仿射/仿射坐标转换,但无法获得正确的结果(我正在测试的曲线有 a=0)。任何人都可以看到有什么问题吗?

0 投票
1 回答
900 浏览

c# - BouncyCastle ESDSA implementation

I'm implementing ECDSA in C# using the BouncyCastle library and I'm having a hard time understanding TestECDsa192bitPrime() example.

In the above example how BouncyCastle directly calculated G( Basepoint) and Q( public key).

0 投票
1 回答
4565 浏览

cryptography - Golang 使用 ecdsa 和来自 SHA224 摘要的私钥进行签名

我需要签署一条消息以提交到远程服务(通过 websocket)。为此,我需要基于整数(我的用户 ID)和密码(base64 编码的字符串)构造一个私钥,并使用 SHA224 进行哈希处理。我正在使用 golang 和 crypto/ecdsa 以及随附的字节编码包等。

这是我拥有的文档:

签名使用椭圆曲线数字签名算法 (ECDSA) 编码的消息,其中包含:用户 ID、服务器随机数、客户端节点和私钥。使用 SHA224 对您的用户 ID 和密码进行散列生成私钥。

这是我的功能:

我对这个函数的意图是:

  1. 散列 userId 并正确传递[]byte使用 SHA224。

  2. 将其读入int64然后用作私钥

  3. 构造一个实例ecdsa.PrivateKeyecdsa.PublicKey正确对应

  4. 返回用于ecdsa.Sign()函数调用的键

然后我签署另一条由 userId(整数)和两个 nonce 组成的消息。

这是我签署消息的方式:

问题:

  1. 我的NewKey功能正确吗?

  2. 和组件非常大 - 大概是因为我正在r使用. 这可能是一个问题吗?sint64

  3. 拥有这两个项目的行是否sha256.New224().Sum([]byte(userId + pass))“正确”?

  4. 如何正确创建我的私钥(假设它是错误的)并随后签署消息?

我对 ECDSA 非常陌生,并且一般具有基本的加密知识。

0 投票
3 回答
1606 浏览

python-2.7 - 使用 pyasn1 解析 EC 公钥

如何使用 pyasn1 解析 ec public?

有没有可能,用 pyasn1得到这样的东西。

编辑:以此为基础获得以下内容: