rust - 是否可以在 Rust 的 NEAR 智能合约中验证 NIST P-256 曲线?
问题描述
我正在考虑使用 iOS Secure Enclave 对其中一个签名进行多重签名。但是它只支持 NIST P-256 曲线。
我知道它在协议级别不受支持,但是否可以在 Rust 智能合约中实现它?如果是这样——我从哪里开始?
解决方案
目前,即使您可以在智能合约 NIST P-256 曲线内进行验证(这里有用于验证的库,例如 - https://github.com/RustCrypto/elliptic-curves/tree/master/p256),您仍然需要首先使用一些 ED25519 或 SECP-256K1 密钥签署交易,以便在执行合约代码之前真正让区块链接受它。
我的理解是,现在您可以将字节序列存储在安全飞地中并将其读出并签署用户空间中的任何功能。在这里如何安全地完成它 - https://github.com/AlphaWallet/alpha-wallet-ios/pull/1272
如果这是支持 iOS 安全飞地唱歌的重要考虑因素,您可以创建规范更改提案,将 SECP-256P1(即 NIST P-256)添加为 NEAR 的替代密钥类型。它有明显的缺点,但这也是一个明显的优点,它是可选的,因此每个用户都可以决定他们更喜欢使用哪条曲线。
推荐阅读
- elasticsearch - ElasticSearch 将 Rest 查询转换为传输客户端 Java 代码
- python - 使用 2 个 SQS 订阅向 SNS 主题发送消息,每个订阅都有一个 lambda 触发器导致空队列
- java - 查找两个矩阵之间的偏移量
- python - 将一行附加到熊猫数据框
- powershell - 对每列进行排序并仅显示 CSV 中的最大值 - powershell
- c# - 有没有办法单元测试可以访问输出来断言?
- c# - 如何通过服务器端更新 Materializecss 自动完成?
- typescript - 从 firebase 6.0 更新到 6.1 正在破坏我的云功能应用程序初始化
- java - Spring Boot 重定向到 /
- labview - 从LabVIEW调用ImageJ宏