基于最少逻辑指令实现GF(3)加法的GF(3m)上ηT配对的快速实现
1. 引言
有限域上椭圆曲线的双线性配对在密码学领域备受关注,基于配对的密码系统能带来诸多新颖应用,如基于身份的密码系统、关键字可搜索加密以及高效广播加密等。最初计算Tate配对的算法由Miller提出,之后Duursma和Lee提出了在二元域GF(2m)或三元域GF(3m)上的超奇异椭圆曲线上计算Tate配对的高效算法,Barreto等人则提出了ηT配对,它比Duursma - Lee算法快约两倍,目前,GF(3m)上的ηT配对是最快的配对之一。
GF(3m)的算术运算需要进行GF(3)加法,但典型CPU(如基于x86架构的CPU)无法直接计算。在高效实现中,GF(3)中的每个元素用两位表示,GF(3)加法通过逻辑指令构建。Galbraith等人展示了使用12条逻辑指令(包括AND、OR、XOR和NOT)的GF(3)加法实现,Harrison等人将其改进为7条逻辑指令(由OR和XOR组成),此前这被认为是计算GF(3)加法所需的最少逻辑指令数。
本文旨在寻找使用7条或更少逻辑指令的GF(3)加法实现。将每个GF(3)元素分配到GF(2)2中的两位,把GF(3)加法视为GF(2)2 × GF(2)2 → GF(2)2的映射,进行了详尽搜索。结果发现许多仅使用6条逻辑指令的GF(3)加法实现,但GF(3)元素的表示并非自然分配{(0, 0) → 0, (0, 1) → 1, (1, 0) → 2},或者使用了如ANDN等特殊逻辑指令,且未找到使用5条逻辑指令计算GF(3)加法的指令序列,证明了使用两位表示GF(3)元素时,计算GF(3)加法所需的最少逻辑指令数为6。
为展示使用6条逻辑指令的新
超级会员免费看
订阅专栏 解锁全文
3284

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



