【问题标题】:EC private key and domain parameters using OpenSSL使用 OpenSSL 的 EC 私钥和域参数
【发布时间】:2015-12-24 10:02:55
【问题描述】:

首先,抱歉我的无知,我是密码学的新手。在给定私钥的情况下,我正在尝试生成与椭圆曲线一起使用的公钥。

所以,目前我有:

  1. 我将使用的曲线y^2 = x^3 - ax + b (prime256v1)

  2. 带有私钥的.pem文件。

第一个问题是,私钥必须是随机的吗?我的意思是,它可以是我想要的任何东西吗?

当我使用 OpenSSL 命令时:

openssl ecparam -in private.pem -name prime256v1 -out public.pem

如果我做一只 public.pem 的猫,我会得到:

-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----

但是没有公钥。

第二个问题是,有谁知道我做错了什么?

提前致谢。

【问题讨论】:

标签: openssl cryptography elliptic-curve


【解决方案1】:

带有私钥的 .pem 文件。我有第一个问题。私钥可以是随机的吗?我的意思是,它可以是我想要的任何东西吗?

没有。私钥的参数 S 可以是随机的,但 ASN.1 -> DER -> PEM encoded 私钥 - 包含参数 - 不能。

openssl ecparam -in private.pem -name prime256v1 -out public.pem ...但是没有公钥,有人知道我在做什么错吗?

您需要改用ec 命令,并使用-pubout。您当前获得的 .pem 仅包含编码为 OID 的曲线名称:

echo "BggqhkjOPQMBBw==" | openssl base64 -d | openssl asn1parse -inform DER

结果:

0:d=0  hl=2 l=   8 prim: OBJECT            :prime256v1

【讨论】:

    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多