基于 BN 曲线的密码配对专用指令集处理器(ASIP)设计
1. 密码配对计算概述
密码配对计算主要包含两个关键步骤:
- 对于 Tate 和 η 配对,计算 (f_{s,P}(Q));对于 Ate 配对,计算 (f_{s,Q}(P))。
- 进行最终的指数运算,指数为 ((p^k - 1)/r)。
第一步通常使用 Miller 算法的变体迭代完成,优化后的算法常被称为 BKLS 算法。对于 BN 曲线,可利用其六次扭转特性进行更多优化。有限域计算在配对计算中占比很大,软件实现时,超过 90% 的时间用于模乘、求逆和加法。不同配对算法的运算次数如下表所示:
| 算法 | 乘法次数 | 加法次数 | 求逆次数 |
| — | — | — | — |
| Optimal Ate | 17,913 | 84,956 | 3 |
| Ate | 25,870 | 121,168 | 2 |
| η | 32,155 | 142,772 | 2 |
| Tate | 39,764 | 174,974 | 2 |
| Compressed η | 75,568 | 155,234 | 0 |
| Compressed Tate | 94,693 | 193,496 | 0 |
在配对计算过程中,将椭圆曲线上的点保持在雅可比坐标下,可几乎完全避免域求逆。硬件加速的目标是 (F_p) 中的乘法和加法,求逆操作通过指数运算 (p - 2) 实现。
2. 专用指令集处理器(ASIP)设计
为实现多种配对算法(Optimal Ate、Ate、η、Tate、Co
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



