问题标签 [ecies]

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 投票
1 回答
376 浏览

java - java - 如何使用secp256r1椭圆曲线密钥对在java中执行加密和解密?

我们需要使用 EC 密钥对在 java 中执行一些字符串消息的加密/解密。密钥对已使用 secp256r1 椭圆曲线生成。我们只想使用 java 核心实用程序。

加密代码 - 在 java 服务器端解密代码 - 它假设在 android 和 ios 密钥 - 非对称 EC 密钥对,在 java 加密端随时可用的公钥和在 android/ios 解密端随时可用的私钥。我们不必担心密钥分配,机制已经存在。

由于跨平台存在加密和解密代码,我们希望避免使用任何第三方库,因为它可能不适用于所有三个平台 - java、android、ios

ECIES,一种加密对我们有用,但如何在普通的 java 实用程序或一些库中进行,这些库在所有三个平台上都可用 - java、android、ios

我的示例代码(java加解密)——

但上面的代码让我出错 -

在线 -iesCipher.init(Cipher.ENCRYPT_MODE, ecKeyPair.getPublic());

请建议我在这里缺少什么。

0 投票
0 回答
135 浏览

encryption - 如何通过 C# BC 库解密在 BC java 库中加密的 ECIES 消息

我正在搜索通过 C# BC 库解密在 Bouncy castle Java 库中加密的消息的方法(示例)。

我通过 BC 库在 JAVA 中创建了 ECC 密钥对(secp256k1 曲线)。并使用 ECIES 加密数据。之后,我可以使用 Java BC 库轻松解密消息。这是我使用的示例。

我正在尝试使用 C# BC 库解密消息,就像我在 JAVA 中所做的那样。但我找不到。

有一些使用 Bouncy castle C# 进行加密、解密的示例。但我找不到如何通过 C# BC 库解密在 java bouncy castle ECIES 中加密的消息。

请帮忙。

0 投票
0 回答
107 浏览

encryption - 使用椭圆曲线密码术加密数据

我需要使用 openssl 使用 ECIES 加密数据。openssl 中是否存在任何 API?结果 cipherText = input)ecies(公钥,纯文本)

没有API,我怎么计算。

0 投票
1 回答
77 浏览

python - 如何为给定的 secp256r1 私钥生成 ECIES 公钥

如何为给定的 secp256r1 私钥生成 ECIES 公钥,就像 3GPP TS 33.501 版本 15.5.0 版本 15、C.3.4.2 中定义的“配置文件 B”所使用的一样?

如果提供了私钥 F1AB1074477EBCC7F554EA1C5FC368B1616730155E0041AC447D6301975FECDA(来自上述规范的 C.4.4),我如何获得公钥:

Home Network Public Key:
if compressed: '0272DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD1',
otherwise uncompressed: '0472DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD15A7DED52FCBB097A4ED250E036C7B9C8C7004C4EEDC4F068CD7BF8D3F900E3B4'

我已经使用过 Python CryptoMobile 套件,并且可以为 Profile A 获得正确的结果。但我无法为 Profile B 修改它。我也对其他库/语言持开放态度。

谢谢

0 投票
1 回答
384 浏览

encryption - 解析 EC 公钥

我在 ECIES 上工作,需要加载对等公钥。加载 EC 公钥

我使用 ECDH,需要加载对等公钥。当我尝试从 PEM 文件加载公钥时,似乎没有问题

问题在这里:

工作正常:

有人可以建议在读取 pem 文件的 base64 数据时出了什么问题吗

0 投票
0 回答
57 浏览

java - 通过充气城堡的 Java ECIES 无法与 OpenSSL 相提并论

我有一个使用 ECIES 使用充气城堡库的 Java 应用程序。

我的 C++ 客户端应用程序并为 ECIES 使用 openssl。

在我的 ECIES 中,我使用 EVP_Sha1() 进行散列,使用 EVP_aes_256_cbs() 进行加密。我试图改变散列和其他加密。

使用带有上述算法的 openssl ECIES 加密的数据不会被 bouncy castle 库解码。

似乎充气城堡生成可变长度的 KDF,但 openssl 是 20 字节。这就是它无法比较的原因吗?

有人可以建议如何使用可与弹性卡斯蒂利亚 ECIES 相媲美的 openssl api。

有没有人尝试使用 openssl 中的 ECIES 对抗充气城堡 ECIES 加密/解密?

0 投票
0 回答
1231 浏览

node.js - eciesjs 解密时出错`错误:预期的私钥是长度为 32 的 Uint8Array`

我正在使用eciesjs npm 包进行加密和解密,此加密已成功完成,但在解密时出现错误:错误:预期私钥是长度为 32 的 Uint8Array。

这是我的代码如下:

在解密时,我收到如下错误:

0 投票
0 回答
51 浏览

java - 在 Android 上实现的 iOS 兼容 ECIES

Apple 在其 Swift 11.0+ SecKeyAlgorithm API 中提供了四种不同的 ECIES 实现。

这些是

  • 椭圆曲线加密标准 X963
  • 椭圆曲线加密标准变量 IV X963
  • 椭圆曲线加密辅因子变量 IV X963
  • 椭圆曲线加密辅因子 X963

哪些可以在 Android 上轻松实现?

似乎只有前两个与AndroidECDH上的 KeyAgreement 算法兼容,但仍然保留了密钥派生函数(X9.63 KDF)。

注意: BouncyCastle 本来可以用于所有这些,我之前已经实现了这些,但不幸的是,它不再可用了。

0 投票
0 回答
138 浏览

java - 原因:java.security.NoSuchAlgorithmException:找不到任何支持 ECIESwithAES 的提供程序

从 BouncyCastleCrypto-1.54 升级到 BouncyCastleCrypto-1.67 后遇到以下错误。

这里看来,不再存在对该算法的支持。我找不到任何可以使用的替换算法的建议。有人可以帮助理解为什么不再支持该算法以及替换它的建议是什么?