首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助在secp256k1上添加和乘法点

帮助在secp256k1上添加和乘法点
EN

Cryptography用户
提问于 2023-03-02 02:45:57
回答 1查看 141关注 0票数 1

我目前正在曲线secp256k1上实现数字签名(仅为学习目的),在曲线secp256k1上实现ECDSA遇到了一些困难。据我所知,这条曲线是koblitz曲线,这意味着它不能用Montgomery形式写成。由于这个限制,我不能使用蒙哥马利梯子。

在这种情况下,有人能建议我如何在曲线上加和乘点吗?如能提供任何指导或资源,将不胜感激。

提前感谢

EN

回答 1

Cryptography用户

发布于 2023-03-02 10:45:44

在secp256k1上为教育目的实施ECDSA的路线图

  1. 低期望值:
    • 如果你在2的末尾停下来,而即使你一直走到3的时候,也不会跑得快。
    • 为生成签名而进行的不安全的侧通道(和其他)攻击。

  2. 潜入:
    • 运行大整数算法(它是用Python构建的,是用Java捆绑的),包括模块倒置。
    • 通过sec1标准技术实现点添加和加倍。
    • 使用来自secp256k1的sec2参数
    • 根据标量的二进制表示,用直双加法实现标量的点乘。
    • 让SHA-256运行(在Python和Java中绑定)。
    • ECDSA运行。

  3. 优化速度:
    • 使用投影坐标或Jacobian坐标消除大多数模块反转,这是2中的瓶颈。
    • 使用wNAF执行较少的点添加。
    • 使用滑动窗口达到同样的效果。
    • 使用Shamir的技巧将签名验证中的加倍数减少一半。
    • 使用Koblitz曲线专用技术那里

沿途校对和测试。同样,不要期望有一些安全的东西来生成签名。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/105460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档