第1章 椭圆曲线密码简介 1
1.1 无穷远点 1
1.2 数论相关概念 2
1.2.1 同余和剩余类的概念 2
1.2.2 Euler定理和中国剩余定理 2
1.3 有限域简介 4
1.4 椭圆曲线简介 6
1.4.1 椭圆曲线的概念 6
1.4.2 GF(p)上的椭圆曲线群 9
1.4.3 GF(2m)上的椭圆曲线 10
1.4.4 ECC的困难问题 10
1.4.5 ECDSA算法 11
1.5 ECC的安全性分析 12
1.6 总结 14
第2章 ECC上的点计算及几种常见的算法 15
2.1 点计算算法即计算量分析 15
2.2 射影坐标 19
2.3 总结 20
第3章 基于非邻接形式(NAF)的快速算法 21
3.1 w-NNAF表示 21
3.1.1 引言 21
3.1.2 NAF和NAFw 22
3.1.3 w-NNAF表示 25
3.1.4 w-NNAF分析 26
3.1.5 总结 30
3.2 Koblitz曲线上的多比特组合方法 30
3.2.1 引言 31
3.2.2 Solinas方法 31
3.2.3 多比特组合方法 34
3.2.4 总结 38
3.3 RTSNAF方法 38
3.3.1 引言 38
3.3.2 RTSNAF方法 38
3.3.3 总结 43
3.4 φ-NAFw窗口技术 44
3.4.1 引言 44
3.4.2 自同态φ 44
3.4.3 φ-NAF分解 45
3.4.4 φ-NAFw窗口技术 46
3.4.5 总结 49
3.5 窗口3NAF的联合稀疏形式 50
3.5.1 引言 50
3.5.2 JSF表示 51
3.5.3 WT-JSF 52
3.5.4 总结 55
3.6 通用的φ-NAF分解方法 56
3.6.1 引言 56
3.6.2 通用φ-NAF分解 56
3.6.3 总结 60
第4章 JSF与Frobenius映射的结合 61
4.1 引言 61
4.2 Lee等的方法 61
4.2.1 Frobenius表示 61
4.2.2 方法1 62
4.2.3 方法2 63
4.3 与JSF的结合 64
4.4 总结 66
第5章 基于GCD算法的高速带模除法 68
5.1 引言 68
5.2 常规GCD算法 69
5.3 改进的GCD算法 71
5.4 GCD算法的扩展 72
5.4.1 A.Zadeh的扩展 72
5.4.2 新算法的扩展 73
5.5 数值运算结果 76
5.6 总结 77
第6章 基于双基表示的快速算法 78
6.1 引言 78
6.2 半点运算 79
6.3 双基数字系统(DBNS) 79
6.4 改进的双基表示与半点方法 81
6.4.1 Extend DBNS方法 81
6.4.2 双基链和半点方法 82
6.4.3 提出的算法 82
6.4.4 数值运算结果 85
6.4.5 总结 88
6.5 基于半点与多基表示的快速标量乘算法 88
6.5.1 多基表示 89
6.5.2 新的标量表示及标量乘算法 90
6.5.3 数值运算结果 92
6.5.4 总结 93
第7章 基于双基数链的Tate对优化算法 94
7.1 引言 94
7.2 双线性对 95
7.2.1 扭转点 95
7.2.2 有理函数 95
7.2.3 零点和极点 96
7.2.4 除子 96
7.2.5 Tate对 96
7.2.6 Tate对的Miller算法 97
7.2.7 Tate对的计算实例 98
7.3 基于双基数链的Tate对优化算法 99
7.4 算法7.3 的复杂度分析 101
7.4.1 TDBL的计算 102
7.4.2 TTRL的计算 102
7.4.3 TDBL_ADD的计算 103
7.4.4 TDBL_SUB的计算 103
7.4.5 TTRL_ADD的计算 103
7.4.6 TTRL_SUB的计算 104
7.5 算法之间复杂度比较 105
7.6 总结 106
附录 107
参考文献 159