elliptic-curve相关内容

iOS 中的椭圆曲线加密

我正在尝试将 ECC 合并到用于安全通信的 iPhone 应用程序中,但我很难找到合适的库/教程来说明如何在 Objective-c 中执行此操作.我读了这篇文章:如何在iOS中使用ECC但它是在将近一年前发布的,没有任何回应.任何提示/建议将不胜感激 谢谢! 解决方案 根据我的经验,您可以使用 Nacl 库.这个库有curve25519椭圆曲线实现.这是最先进的和最快的库. ..
发布时间:2022-01-10 10:42:02 移动开发

在 Java 中使用 BouncyCastle 使用 ECIES 进行加密

我正在尝试使用 Java 中的 BouncyCastle 使用 ECC 算法加密一些内容.但是我收到 BouncyCastle 库的异常,说不能将 JCEECPublicKey 转换为 IESKey.据我了解, KeyPairGenerator 生成的公钥是 JCEECPublicKey ,不能在 java Cipher.init 方法中使用.有人可以告诉我如何将它转换为公钥或 X509 规范,以 ..
发布时间:2022-01-10 10:40:17 Java开发

ios/swift 中的椭圆曲线 Diffie Hellman

iOS 是否公开 API 用于生成密钥和使用 ECDH 导出密钥? 据我所知,Apple 正在内部使用它(特别是 x25519),但我认为它没有通过通用加密或其他方式公开为公共 API. 谢谢, Z 解决方案 在 Playground 中使用 Xcode 8.3.3 完成,使用 EC 为 Alice、Bob 生成一个私钥/公钥,然后使用 Alice 的私钥计算 Alice ..
发布时间:2022-01-10 10:39:10 移动开发

.NET 中的 ECDiffieHellmanCng 是否具有实现 NIST SP 800-56A 第 5.8.1 节的密钥派生函数

我手头的任务需要使用 NIST SP 800-56A 第 5.8.1 节中描述的密钥派生函数派生密钥材料.我不是密码学专家,所以如果问题很幼稚,请原谅.这是我到目前为止所做的: 我有对方的公钥和我的私钥 现在我尝试使用 ECDH 1.3.132.1.12 使用 C# (.NET 4) ECDiffieHellmanCng 类生成共享密钥,如下所示: //GetCngKey 方法从我的 ..
发布时间:2022-01-10 10:10:06 C#/.NET

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

我想知道对于素数域上的每种曲线类型(192,224、256、384 和 521). 解决方案 如果你使用“命名曲线"之一那么公钥大小是固定的并且取决于“字段大小";你的基础曲线. 压缩与未压缩表示 公钥大小进一步取决于是否“未压缩"表示或“压缩的";使用表示.在未压缩形式中,公钥大小等于字段大小(以字节为单位)+ 1 的两倍,在压缩形式中,它是字段大小 + 1.因此,如果您的曲 ..

ECDSA 的 OpenSSL 签名是否在签名前将 ASN1 编码应用于哈希?

这个 SO 问题 ECDSA 使用 OpenSSL 签名,无需 ASN1 编码hash 声明 OpenSSL 在签名之前对散列执行 ASN1 编码. 换句话说,它指出当调用 Elliptic curve key -sign 时 OpenSSL 执行以下步骤:一个.计算 H = Hash(M)湾将 H 编码为 ASN1 标准-H’C.符号 H' 因此为了避免应用步骤 b,有必要首先计算摘 ..

ECDSA 和 ECDH 是否可用于单声道?

这个问题几乎概括了它.ECDSA 和 ECDH 是否可用于单声道?如果他们不是,他们会吗? 解决方案 不,它们在 Mono BCL、Xamarin.iOS 或 Xamarin.Android 中不可用. 每个都有一个错误报告,ECDSA 和 ECDH,因此您可能希望将自己添加到 cc知道什么时候会改变.目前还没有包含它们的时间表. ..

SSLHandshakeException:Android N/7.0 上的握手失败

我正在开发一个应用程序,(高级)用户必须为其设置自己的服务器(即 nginx)来运行后端应用程序.需要在应用程序中配置相应的域才能连接.我一直主要在我自己的手机(sony z3c)上进行测试,并开始为 5.1 开发.后来我收到了 6.0 的更新,但仍然在模拟器内保持了一个有效的 5.1.不久前,我开始使用 7.0 的图像处理 AVD,令我惊讶的是它无法连接到我的服务器,告诉我 ssl 握手失败.我 ..

当密钥也被区块链使用时,如何在 Azure Key Vault 中使用椭圆曲线 SECP256K1 密钥

我想知道如何在 Azure Key Vault 中使用 SECP256K1 密钥,同时在区块链上创建帐户也需要密钥. 必须达到的目标 生成 SECP256K1 密钥对 使用公钥在区块链上创建账户 将私钥存储到 Key Vault 并将其用于签名目的 尝试 #1 - 生成外部密钥保管库并导入 我在 Key Vault 外生成了 SECP256K1 密钥对.因此,我有可以作 ..

从本机Java(7+)中的字节数组私钥生成EC公钥

我正在尝试学习一些加密编码,并生成了当前保存在字节数组中的32字节私有密钥( byte []私有密钥).我知道公钥是使用名为 secp256k1 的椭圆曲线参数和一个公式生成的,其中 publickey = G * privatekey ,其中G是椭圆曲线上的某个点(ECPoint?),但我无法将已命名的参数规范和公式转换为公钥的实际编码.我知道从Java 7开始,在 java.security. ..
发布时间:2021-05-18 19:27:18 Java开发

如何解压缩X9.62坐标

我正在将byte []传递给我的方法,并且试图生成pubKey.观察错误外观,就像我首先需要在生成pubKey之前先解压缩. 如何解码压缩的坐标? 私有静态PublicKey getPublicKeyFromBytes(byte [] pubKey)引发NoSuchAlgorithmException,InvalidKeySpecException{ECPoint点=新的ECPoint(新 ..
发布时间:2021-04-26 18:35:36 Java开发