php - 我们可以为 OpenSSL ECC 拥有多个公钥和一个私钥吗?
问题描述
我在我的项目中使用 php OpenSSL。如何使用单个私钥创建多个公钥?
在 RSA 中,我们不能做这样的事情。但是ECC呢?
解决方案
[k]G
根据定义,对于一般椭圆曲线密码系统中的每个私有标量(私钥),曲线上都有一个点(公钥)由G
曲线生成点和k
私有标量生成。
仅供参考,在双有理等效曲线的一个有点不寻常的怪癖中,您实际上可以将蒙哥马利曲线 X25519 公钥映射到两个扭曲的爱德华兹曲线 Ed25519 公钥,因为蒙哥马利曲线点不携带 av 坐标,但是,这对您的用例。
通常,如果我们想从单个种子(源)定义多个密钥对(不仅仅是公钥),可以使用从主密钥派生的密钥来实现。
但是,您必须处理多个私钥。
您似乎建议私钥将存在于服务器上,所以我认为您实际上不需要多个公钥。我建议您使用单个密钥对和 EdDSA 或 ECDSA 签署多个密钥对以在客户端设备上使用。签名可用于将其来源链接到单个身份。
请提供更多背景信息,我将进一步提供帮助。
推荐阅读
- spring-boot - 仅部署包含多个端点的服务的一个端点
- java - Localstack 为 java 集成测试创建 SNS 主题
- c# - 有没有办法将 IAsyncEnumerable 转换为 Stream?
- javascript - 如何在另一个 div 中的标签输入上显示多选下拉值?
- python - 通过 google play api 发布新版本返回 500 内部错误
- c# - c# 转义 " 字符
- java - 无法查找主机 Cluster0-XXXXX.mongodb.net 的 TXT 记录
- javascript - HTML5 视频 - onclick 播放到全屏
- python - 如何根据python中其他列的计算将值附加到新列?
- algorithm - 递归调用实际上如何在合并排序中工作?