如何访问 secp256k1 库的 ellswift 模块中的 ElligatorSwiftSharedSecret ECDH 32 字节共享密钥

问题描述 投票:0回答:1

我正在尝试在 Rust 项目中使用 ElligatorSwift 编码椭圆曲线点的 x 坐标。为什么没有

SharedSecret
的方法 secret_bytes 的类似方法 对于结构 ElligatorSwiftSharedSecret ? 我需要以某种方式访问由
[u8; 32]
包裹的
ElligatorSwiftSharedSecret
秘密字节。似乎不可能,我想知道是否有原因。

基本上,我需要此代码的

ElligatorSwiftSharedSecret
的变体,其中变量
secret
的类型为
secp256k1::ecdh::SharedSecret

use secp256k1::ecdh::SharedSecret;

[...]
let shared_secret_serialized: [u8; 32] = SharedSecret::secret_bytes(&secret);
rust bitcoin ecdh shared-secret
1个回答
0
投票

要访问 ElligatorSwiftSharedSecret 包装的 32 字节共享密钥,可以使用 as_ref 方法获取对内部字节的引用,然后将其转换为 [u8; 32]数组。这是如何实现此目标的示例

let shared_secret: ElligatorSwiftSharedSecret = /* obtain the shared secret */;
let secret_bytes: [u8; 32] = *shared_secret.as_ref();


© www.soinside.com 2019 - 2024. All rights reserved.