问题标签 [elliptic-curve]

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 回答
2766 浏览

c# - Bouncy Castle ECDH 和 .net4 原生 ECDiffieHellmanCNG 之间的区别

我已经能够使用 .net4 中的 ECDiffieHellmanCNG 生成私钥,并且我还使用 Bouncy Castle C# 库成功生成了私钥。我想知道为什么 .net 4 版本会生成一个字节数组,而 Bouncy Castle 的 ECDHBasicAgreement 会生成一种 BigInteger(手动实现)。我希望能够互换使用这些库。谢谢!

0 投票
1 回答
1014 浏览

java - 密码学中关于一组整数 Z*p 中元素顺序的群论

我有点陷入群论的深渊,我对我的密码学课程有点迷茫。基本上我必须在java中实现的一个实用程序是,

顺序(质数,p-1 的因子列表,任意 a)

这应该返回组 Z*p 中 a 的顺序,其中 f 是 p-1 的素因子列表。确保您的方法在 f 包含重复项时有效。例如,考虑 p=17 的情况

这是我到目前为止所拥有的,(取自我笔记中的步骤)

素数 f 的列表由另一种方法生成,然后传入

我的笔记很难理解,我想知道是否有人能告诉我我应该返回什么。你也可以让我对这个群论片段有一个可能的理解,因为它可以帮助我进一步的实践

0 投票
1 回答
1811 浏览

openssl - 从文件中检索私有/公共 KEY (OpenSSL) 时的随机字符

我正在尝试制作一个程序,在它使用 OppenSSL EC 函数 EC_KEY_generate_key 生成公钥/私钥对后,将它们存储在单独的文件中并检索它们以生成 ECDH KEY。

我的问题是,虽然我正确存储它们(没有任何附加字符),但当我读取文件并尝试将十六进制字符转换为 BIGNUM 时,随机出现字符“04”或“00”(有时甚至不出现)。因此,当我尝试设置公钥/私钥并检查整个密钥时,它会失败。谁能帮我解决这个问题?密钥检查失败是由这些字符引起的还是正常的?

这是我生成/存储私钥的代码(公钥相同):

这是我检索私钥的代码:

任何建议将不胜感激!!!!谢谢!

在我阅读了答案后,我尝试使用这些方法对公钥进行解码和编码,但是当我尝试计算 ECDH 密钥时,我遇到了分段错误。我的程序的目标是生成两个 EC 密钥,将它们写入几个文件,然后检索它们并用它们计算一个 ECDH 密钥。这是我在第一个线程中从原始程序中更改的内容列表,如果有问题请告诉我:

我已经厌倦了这个 OpenSSL 库……对于初次使用的用户来说太难了……

0 投票
2 回答
5644 浏览

java - BouncyCastle 错误:无法识别基于 ECDSA 的签名者中的密钥类型

我一直在用 BouncyCastle 的加密库和 RSA 的加密库做一些简单的测试。我正在做的是生成一个私钥/公钥对,如下所示:

然后我像这样生成签名

我尝试签署私钥:

所有这些都让我犯了错误:

java.security.InvalidKeyException:无法识别基于 ECDSA 的签名者中的密钥类型

当我 BC 和 JsafeJCE 时,我没有收到任何错误,一切都很好。如果两个提供商都是 BC,也可以使用。那么为什么我不能用 BC lib 对 JsafeJCE 生成的密钥进行签名呢?

0 投票
0 回答
14293 浏览

java - 用于非对称加密的弹性城堡的椭圆曲线密码术 (ECC)

我想使用 ECC 来交换会话密钥以进行长期数据传输。此密钥交换应使用 ECC-192bit(曲线名称:prime192v1)加密。这意味着我想实现自己的混合加密模型。

因此我为 JAVA 使用了充气城堡。我实施了 ECDSA,它工作正常。我实现了 AES-128 位对称加密,这也很好用。但我无法使用 ECC 实现简单的非对称加密。

所以我的问题是:这种非对称加密可以用充气城堡实现吗?

这是我尝试使用 AsymmetricBlockCipher 接口实现 ECC 加密。但这不起作用。

我真的必须像 RSAEngine (RSACoreEngin) 一样实现我自己的 ECCEngine 吗?

这是我的代码:

0 投票
1 回答
2095 浏览

java - 椭圆曲线加密

请为我提供一个使用 Bouncycastle 库的示例,展示如何在椭圆曲线上添加两个点。

我尝试了以下代码,但没有得到理论上应该发生的相同结果。

而且我也不明白首先BigIntegerECFiledElement.

0 投票
2 回答
18381 浏览

cryptography - EC公钥是否有标准化的固定长度编码?

我想知道是否有(我希望有)ECDH(椭圆曲线 Diffie-Hellman)和 ECDSA(椭圆曲线数字签名算法)的公钥大小标准,适用于素数字段(192、224、256)上的每种曲线类型, 384 和 521)。

0 投票
2 回答
580 浏览

flash - ActionScript 的椭圆曲线加密

有谁知道是否有(最好是高效的:-))ActionScript 的椭圆曲线加密实现?

我知道的唯一库是as3crypto,它为对称加密、散列和其他几个与加密相关的操作提供了很好的实现,但它只有 RSA 用于公钥加密。

在此先感谢,

0 投票
1 回答
231 浏览

haskell - Haskell 代码中的编译器错误

我正在尝试使用 where 子句编写椭圆曲线点加法。我收到编译器错误,但是当我使用 let in expression 翻译相同的代码时,它工作正常。有人可以告诉我这段代码有什么问题。完整源代码 [ http://hpaste.org/49174 ]
谢谢
Mukesh Tiwari

0 投票
2 回答
3356 浏览

java - 使用 EC X509 证书加密电子邮件

我正在尝试使用 BouncyCastle 的 SMIME 包创建使用 ECDSA X509 证书的加密消息。根据 BouncyCastle 的发行说明,自 1.32 以来就已支持此功能(我使用的是 1.46),但我不断收到异常消息,指出找不到 ECDSA OID 的密码。

org.bouncycastle.cms.CMSException:异常包装内容密钥:无法创建密码:找不到任何支持 1.2.840.10045.2.1 的提供程序

这是我正在使用的测试证书之一的片段

我用来创建加密消息的代码如下所示:

我确定我在做一些明显错误的事情,但我现在没有看到它。有任何想法吗?