问题标签 [secp256k1]

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 投票
2 回答
267 浏览

rust - Why are secp256k1 uncompressed public keys not formatted as expected?

A small bit of Rust code:

produces output of the form:

The serialised public key looks as expected, 33 bytes, beginning with 0x02 or 0x03 to denote the sign of the missing Y component.

The X component is present in the uncompressed public key db1f8869... but it is offset by one byte and reversed. This leaves only 31 bytes for the Y component, which does not seem sufficient.

What is the endianess of the uncompressed and compressed public keys?

What have I not understood?

0 投票
0 回答
93 浏览

rust - 如何从 secp256 SecretKey 中获取字节?

我写了一些有效的代码:

产生以下样本输出:

我的问题出在这条线上:

首先,我必须使用add_assign,因为我找不到普通的非破坏性add.

其次,我无法从中获取字节skey_a,因此我必须使用seed_a从中生成的字节skey_a

这些问题中的任何一个都可以解决吗,或者这是我能用secp256k1板条箱做的最好的事情吗?


尝试记录as_ref()是行不通的。

我认为正在进行一些复杂的再出口,我不明白。

0 投票
1 回答
65 浏览

rust - 25519-dalek 的主要补充?

我有关键添加,对于曲线 secp256k1,工作:https ://crypto.stackexchange.com/a/83733/17505

哪个输出:

ed25519-dalek 有类似的东西吗? https://docs.rs/ed25519-dalek/1.0.0/ed25519_dalek/

0 投票
1 回答
976 浏览

java - secp256k1 在 Eclipse 中不起作用/不支持?

收到此错误:

java.security.InvalidAlgorithmParameterException:不支持的曲线:secp256k1 (1.3.132.0.10)

有什么方法可以在 Eclipse 中使用 secp256k1 吗?我找不到任何帮助。如何使用 secp256k1 生成椭圆曲线的公钥和私钥对?

0 投票
1 回答
1219 浏览

opencl - 使用 OpenCL 为 secp256k1 从私钥生成公钥

我想从私钥计算公钥。它必须使用 OpenCL 才能工作。似乎 hashcat 有一个不错的库,但我不知道如何使用它。

其他库也是可能的。secp256k1-cl 似乎很难使用https://github.com/hhanh00/secp256k1-cl/blob/master/secp256k1.cl

请参阅下面的示例,了解它如何基于inc_ecc_secp256k1.cl工作。

我应该parse_public在已知基点上使用G来获取secp256k1_t对象中的坐标吗?之后使用point_mul我通过的随机秘密和通过的k基点来获取公钥?Gbasepoint_precalculatedr

0 投票
1 回答
307 浏览

private-key - How to generate various key-pair by using secp256k1 C library?

I am just writing a small test program by using secp256k1 C lib, targeting to generate various random ecdsa key pairs, by using secp256k1-zkp API, simply follow up some example in tests.c.

However, a little bit surprised, I find that I can not get the varied key-pair, every time I run the test program I get the exact same private key (thereafter the same public key).

This does not make sense but I can not figure out where is the problem, someone can kindly give help and suggestion?

Below are the sample code I am using:

It looks after compiling, every time I run the test, the first two lines of code always provide the exact same privkey, so the public key will be also fixed. Is there any rand seed API can be used to generate the different private key every time called?

0 投票
0 回答
65 浏览

dart - js和dart用私钥生成地址的区别

我想把这个用js写的函数写到dart

js中的函数

我尝试在 pub spec.yaml 中使用插件:

我用飞镖编码:

js函数和dart函数之间的结果(eq.地址值)在相同的私钥值下是不一样的......

请问你能帮帮我吗

0 投票
1 回答
36 浏览

public-key - ECDSA中离散对数问题的这一部分如何整理/实现

secp256k1 曲线的离散对数问题中,我其实很好奇生成点和公钥将如何实现(理由是参数有两个版本)。

我想知道公钥和生成器点是否应该应用“使用“<code>02”或“<code>03”压缩或使用“<code>04”未压缩。

我在任何地方都找不到任何答案。

0 投票
1 回答
271 浏览

javascript - Javascript。ECIES方案如何有效存储Secp256k1私钥

我一直很难弄清楚如何从多个库中存储一个 Secp256k1 私钥(目前在这个用于 ECIES 加密的库中:https ://npm.io/package/@toruslabs/eccrypto )。

我尝试过使用 base64 进行编码和解码,许多函数的实现将输入编码字符串的数组缓冲区复制到 localStoarge 并从 localStorage 相应的输出 Uint8Array,我尝试使用 IndexedDB,JSON.stringify 和解析不适用于二进制数据,等等更多的变化。

当我单独遍历数组缓冲区元素以将其复制到新的 Uint8Array 中时,我得到了一个类似的私钥,但缺少两个键/字段(父项和偏移量),我相信这就是我迄今为止尝试过的每个库都返回一些内容的原因当我尝试从它们生成公钥时,会出现很长的“坏私钥”行。

我已经筋疲力尽了,我想要一些专业的见解,因为我在这个特定的主题上缺乏技能。那么如何存储(只要它是客户端/本地的)Secp256k1 私钥,如果我从该持久客户端数据库调用它,它们可以用于生成公钥?

0 投票
1 回答
181 浏览

cryptography - 公钥超过 Mod P?关于离散对数问题的澄清请求

我试图观察/实现离散对数问题,但我注意到了一些事情;但在我开始之前,让我做一些澄清,可以更正。

a = b^x 模 P

然而

a = 地址的公钥;

b = secp256k1 koblitz 曲线的生成点(这是上下文中的曲线);

x = 离散对数;

P = 模整数。

我耦合了以下所有参数:

A = 044f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa385b6b1b8ead809ca67454d9683fcf2ba03456d6fe2c4abe2b07f0fbdbb2f1c1 (uncompressed public key)
034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa : (compressed public key)

B = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10(未压缩发生器点)

02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798(压缩发生器点)

X = ?

P = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F

我实际上不知道我应该使用哪一部分参数(压缩或未压缩)

N. B:我尝试了 Mod P 的未压缩公钥,但未压缩公钥的大小超过了 Mod P。

我该怎么办?