《椭圆曲线密码快速算法理论》由丁勇所著,本书的内容安排如下。第1章介绍椭圆曲线密码的基本概念和研究椭圆曲线密码所需的基础知识。第2章介绍椭圆曲线上重要的点的计算公式。第3章讲述了基于NAF分解,提出几种新的标量乘快速算法,如w-NNAF方法、RTSNAF方法等。这些方法使得标量乘的计算复杂性可以进一步降低,最后定量分析了这些方法降低的计算复杂度。第3章是本书的重点。第4章讲述了联合稀疏形(JSF)与Frobenius映射结合的快速算法,该方法以少量的存储为代价获得了一定的运算加速。第5章介绍基于最大公约数(GCD)的高速带模除法,主要对常规GCD算法进行了深入分析,改进了算法的判断标准和体系结构,从根本上加快了GCD算法的效率。第6章扩展了基于半点与双基表示的:ECC快速标量算法,分析并比较了提出的快速算法的计算复杂度相比于其他算法的优势。第7章提出了一种优化算法,将双基数链与Miller算法相结合,从而缩短了链长,减少了算法中的迭代次数,并将“倍点一加”的过程进行优化,提出新的除子表达式,在迭代过程中优化了除子计算,提高了运算速度。
《椭圆曲线密码快速算法理论》以作者丁勇及其研究组多年的研究成果为主体,结合国内外专家及学者在椭圆曲线密码快速算法方面的代表性成果,系统论述了这一领域的主要研究内容。本书分为两个部分,共7章。第一部分(第1、2章)讲述了研究椭圆曲线密码体制所需的基础知识及椭圆曲线上点的计算;第二部分(第3~7章)讲述了椭圆曲线密码的快速算法及其分析,主要包括非邻接形式(naf)的改进形式,基于最大公约数(gcd)算法的高速带模除法,基于多基表示的快速算法,基于双基数链的tate对优化算法。
《椭圆曲线密码快速算法理论》既可以作为密码学、信息安全、计算机科学等相关专业的研究生教学参考书,也可作为教师和相关科研人员的参考书。
第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 φ-naf窗口技术 44
3.4.1 引言 44
3.4.2 自同态 44
3.4.3 φ-naf分解 45
3.4.4 φ-naf窗口技术 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