前言
第1章 引言
1.1 多精度算術
1.1.1 什么是多精度算術
1.1.2 為什么需要多精度算術
1.1.3 多精度算術的優(yōu)勢
1.2 本書目的
1.3 討論和表示法
1.3.1 表示法
1.3.2 精度表示法
1.3.3 算法輸入和輸出
1.3.4 數學表達式
1.3.5 算法的效率
1.4 練習
1.5 LiblbmMath簡介
1.5.1 什么是LibTomMath
1.5.2 LibT0mMath的目標
1.6 為什么選擇LibTomMath
1.6.1 代碼基
1.6.2 API簡單易懂
1.6.3 優(yōu)化
1.6.4 可移植性和穩(wěn)定性
1.6.5 選擇
第2章 入門
2.1 庫的基本知識
2.2 什么是多精度整數
2.3 參數傳遞
2.4 返回值
2.5 初始化和清除
2.5.1 初始化mp_int
2.5.2 清除mp_int
2.6 維護算法
2.6.1 增加mp_int的精度
2.6.2 初始化可變精度的mp_ints
2.6.3 多個整數的初始化和清除
2.6.4 壓縮多余位
練習
第3章 基本操作
3.1 簡介
3.2 為mp_int結構賦值
3.2.1 拷貝一個mp_int
3.2.2 克隆
3.3 將整數清零
3.4 符號操作
3.4.1 絕對值
3.4.2 整數取反
3.5 小常量
3.5.1 設置小常量
3.5.2 設置大常量
3.6 比較
3.6.1 無符號數比較
3.6.2 有符號數比較
練習
第4章 基本算法
4.1 簡介
4.2 加法和減法
4.2.1 低級加法
4.2.2 低級減法
4.2.3 高級加法
4.2.4 高級減法
4.3 比特和數字移位
4.3.1 乘以2
4.3.2 除以2
4.4 多項式基運算
4.4.1 乘以x
4.4.2 除以x
4.5 2的冪
4.5.1 乘以2的冪
4.5.2 除以2的冪
4.5.3 除以2的冪的余數
練習
第5章 乘法與平方
5.1 乘法器
5.2 乘法
5.2.1 基線乘法
5.2.2 使用Comba方法的快速乘法
5.2.3 更快的乘法
5.2.4 多項式基乘法
5.2.5 Karatsuba乘法
5.2.6 Toom.Cook 3-Way乘法
5.2.7 有符號乘法
5.3 平方
5.3.1 基線平方算法
5.3.2 使用Comba方法的更快速平方
5.3.3 更快的平方
5.3.4 多項式基平方
5.3.5 Karatsuba平方
5.3.6 Toom-Cook平方
5.3.7 高級平方
練習
第6章 模縮減
6.1 ??s減的基礎知識
6.2 Barrett縮減
6.2.1 定點算法
6.2.2 選擇小數點
6.2.3 對商進行縮減
6.2.4 對余數進行縮減
6.2.5 Barrett算法
6.2.6 Barrett設置算法
6.3 Montgomery縮減
6.3.1 基于數位的Montgomery縮減
6.3.2 基線Montgomery縮減
6.3.3 較快的“Comba”Montgomery縮減
6.3.4 Montgomery設置
6.4 縮減基算法
6.4.1 選擇模數
6.4.2 k的選擇
6.4.3 受限的縮減基縮減
6.4.4 未受限的縮減基縮減
6.5 算法比較
練習
第7章 冪乘
7.1 冪乘基礎
7.2 k-ary冪乘
7.2.1 k的最優(yōu)值
7.2.2 滑動窗冪乘
7.3 模冪乘
7.4 快速計算2的冪
練習
第8章 較高級算法
8.1 有余數的整數除法
8.1.1 商估計
8.1.2 歸一化整數
8.1.3 以β為基的帶余數的除法
8.2 單數位幫助算法
8.2.1 單數位加法和減法
8.2.2 單數位乘法
8.2.3 單數位除法
8.2.4 單數位求根
8.3 隨機數生成
8.4 格式化表示形式
8.4.1 讀取以n為基的輸入
8.4.2 生成以n為基的輸出
第9章 數論算法
9.1 最大公約數
9.2 最小公倍數
9.3 Jacobi符號計算
9.4 模逆
9.5 素性測試
9.5.1 試除法
9.5.2 Fermat測試
9.5.3 Miller.Rabin測試
練習
參考文獻