【问题标题】:carry-less multiplication optimization for ECC over GF(2^m) in MIRACLMIRACL 中 ECC over GF(2^m) 的无进位乘法优化
【发布时间】:2014-05-21 17:16:35
【问题描述】:

Link 到 CertiVox 的 MIRACL 加密库

按照fastgf2m.txt 中的说明,我已经能够编译所有内容。但是,执行后,基准 (bmark.exe) 程序在评估超过 GF(2^m) 的曲线时会停止并出现错误,“这不是曲线上的点!”

我可以在没有优化的情况下让一切正常工作,但我不确定问题出在哪里。我没有修改任何曲线参数并遵循分布中的说明。我正在英特尔 i7-3520M 上的 64 位 Windows 8.1 上编译。

如果有人对如何纠正此问题有任何建议,将不胜感激。

谢谢!!

【问题讨论】:

    标签: c cryptography compiler-optimization elliptic-curve galois-field


    【解决方案1】:

    fastgf2m.txt 中概述的方法用于生成与在编译时确定的固定 m 值关联的展开代码。 bmark 程序在运行时更改m,因此在这种情况下展开的代码通常不正确。在这一点上,文档可能会更清楚。

    还要确保您的处理器确实支持 PCLMULQDQ 指令 - 许多旧处理器不支持。

    例如,最好在ecsgen2/ecssign2/ecsver2 程序上测试该方法以实现ECDSA 而不是GF(2^283)

    【讨论】:

    • 感谢您的回复!我相信我已经正确设置了优化的字长。我试图让它在 GF(2^233) 上工作,所以我使用了#define MR_COMBA2 4,我认为它应该适用于高达 256 位的 m 值。它将运行 GF(2^163) 曲线但没有问题并在 GF(2^233) 上崩溃。不过,我将开始对您建议的程序进行测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多