Cover image for Computational number theory
Title:
Computational number theory
Personal Author:
Series:
Discrete mathematics and its applications
Publication Information:
Boca Raton : Chapman and Hall/CRC, 2013
Physical Description:
xviii, 596 p. ; 24 cm.
ISBN:
9781439866153

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010317688 QA241 D374 2013 Open Access Book Book
Searching...

On Order

Summary

Summary

Developed from the author's popular graduate-level course, Computational Number Theory presents a complete treatment of number-theoretic algorithms. Avoiding advanced algebra, this self-contained text is designed for advanced undergraduate and beginning graduate students in engineering. It is also suitable for researchers new to the field and practitioners of cryptography in industry.

Requiring no prior experience with number theory or sophisticated algebraic tools, the book covers many computational aspects of number theory and highlights important and interesting engineering applications. It first builds the foundation of computational number theory by covering the arithmetic of integers and polynomials at a very basic level. It then discusses elliptic curves, primality testing, algorithms for integer factorization, computing discrete logarithms, and methods for sparse linear systems. The text also shows how number-theoretic tools are used in cryptography and cryptanalysis. A dedicated chapter on the application of number theory in public-key cryptography incorporates recent developments in pairing-based cryptography.

With an emphasis on implementation issues, the book uses the freely available number-theory calculator GP/PARI to demonstrate complex arithmetic computations. The text includes numerous examples and exercises throughout and omits lengthy proofs, making the material accessible to students and practitioners.


Author Notes

Abhijit Das is an associate professor in the Department of Computer Science and Engineering at the Indian Institute of Technology, Kharagpur. His research interests are in the areas of arithmetic and algebraic computations with specific applications to cryptology.


Table of Contents

Prefacep. xv
1 Arithmetic of Integersp. 1
1.1 Basic Arithmetic Operationsp. 2
1.1.1 Representation of Big Integersp. 3
1.1.1.1 Input and Outputp. 3
1.1.2 Schoolbook Arithmeticp. 5
1.1.2.1 Additionp. 5
1.1.2.2 Subtractionp. 6
1.1.2.3 Multiplicationp. 7
1.1.2.4 Euclidean Divisionp. 8
1.1.3 Fast Arithmeticp. 11
1.1.3.1 Karatsuba-Ofman Multiplicationp. 11
1.1.3.2 Toom-Cook Multiplicationp. 13
1.1.3.3 FFT-Based Multiplicationp. 16
1.1.4 An Introduction to GP/PARIp. 20
1.2 GCDp. 27
1.2.1 Euclidean GCD Algorithmp. 27
1.2.2 Extended GCD Algorithmp. 29
1.2.3 Binary GCD Algorithmp. 31
1.3 Congruences and Modular Arithmeticp. 33
1.3.1 Modular Exponentiationp. 38
1.3.2 Fast Modular Exponentiationp. 39
1.4 Linear Congruencesp. 41
1.4.1 Chinese Remainder Theoremp. 41
1.5 Polynomial Congruencesp. 44
1.5.1 Hensel Liftingp. 44
1.6 Quadratic Congruencesp. 46
1.6.1 Quadratic Residues and Non-Residuesp. 47
1.6.2 Legendre Symbolp. 47
1.6.3 Jacobi Symbolp. 49
1.7 Multiplicative Ordersp. 51
1.7.1 Primitive Rootsp. 51
1.7.2 Computing Ordersp. 53
1.8 Continued Fractionsp. 54
1.8.1 Finite Continued Fractionsp. 54
1.8.2 Infinite Continued Fractionsp. 55
1.9 Prime Number Theorem and Riemann Hypothesisp. 58
1.10 Running Times of Arithmetic Algorithmsp. 60
2 Arithmetic of Finite Fieldsp. 75
2.1 Existence and Uniqueness of Finite Fieldsp. 76
2.2 Representation of Finite Fieldsp. 77
2.2.1 Polynomial-Basis Representationp. 78
2.2.2 Working with Finite Fields in GP/PARIp. 81
2.2.3 Choice of the Defining Polynomialp. 83
2.3 Implementation of Finite Field Arithmeticp. 84
2.3.1 Representation of Elementsp. 84
2.3.2 Polynomial Arithmeticp. 86
2.3.2.1 Addition and Subtractionp. 86
2.3.2.2 Multiplicationp. 87
2.3.2.3 Comb Methodsp. 88
2.3.2.4 Windowed Comb Methodsp. 90
2.3.2.5 Modular Reductionp. 92
2.3.3 Polynomial GCD and Inversep. 94
2.3.3.1 Euclidean Inversep. 94
2.3.3.2 Binary Inversep. 95
2.3.3.3 Almost Inversep. 97
2.4 Some Properties of Finite Fieldsp. 99
2.4.1 Fermat's Little Theorem for Finite Fieldsp. 99
2.4.2 Multiplicative Orders of Elements in Finite Fieldsp. 101
2.4.3 Normal Elementsp. 102
2.4.4 Minimal Polynomialsp. 103
2.4.5 Implementing Some Functions in GP/PARIp. 106
2.5 Alternative Representations of Finite Fieldsp. 108
2.5.1 Representation with Respect to Arbitrary Basesp. 108
2.5.2 Normal and Optimal Normal Basesp. 109
2.5.3 Discrete-Log Representationp. 110
2.5.4 Representation with Towers of Extensionsp. 111
2.6 Computing Isomorphisms among Representationsp. 113
3 Arithmetic of Polynomialsp. 121
3.1 Polynomials over Finite Fieldsp. 122
3.1.1 Polynomial Arithmeticp. 122
3.1.2 Irreducible Polynomials over Finite Fieldsp. 122
3.1.3 Testing Irreducibility of Polynomialsp. 125
3.1.4 Handling Irreducible Polynomials in GP/PARIp. 127
3.2 Finding Roots of Polynomials over Finite Fieldsp. 128
3.2.1 Algorithm for Fields of Odd Characteristicsp. 129
3.2.2 Algorithm for Fields of Characteristic Twop. 131
3.2.3 Root Finding with GP/PARIp. 132
3.3 Factoring Polynomials over Finite Fieldsp. 133
3.3.1 Square-Free Factorizationp. 134
3.3.2 Distinct-Degree Factorizationp. 135
3.3.3 Equal-Degree Factorizationp. 136
3.3.4 Factoring Polynomials in GP/PARIp. 142
3.4 Properties of Polynomials with Integer Coefficientsp. 145
3.4.1 Relation with Polynomials with Rational Coefficientsp. 145
3.4.2 Height, Resultant, and Discriminantp. 147
3.4.3 Hensel Liftingp. 151
3.5 Factoring Polynomials with Integer Coefficientsp. 154
3.5.1 Berlekamp's Factoring Algorithmp. 154
3.5.2 Basis Reduction in Latticesp. 160
3.5.3 Lenstra-Lenstra-Lovász Factoring Algorithmp. 166
3.5.4 Factoring in GP/PARIp. 169
4 Arithmetic of Elliptic Curvesp. 177
4.1 What Is an Elliptic Curve?p. 178
4.2 Elliptic-Curve Groupp. 183
4.2.1 Handling Elliptic Curves in GP/PARIp. 191
4.3 Elliptic Curves over Finite Fieldsp. 194
4.4 Some Theory of Algebraic Curvesp. 199
4.4.1 Affine and Projective Curvesp. 199
4.4.1.1 Affine Curvesp. 199
4.4.1.2 Projective Curvesp. 200
4.4.2 Polynomial and Rational Functions on Curvesp. 205
4.4.3 Rational Maps and Endomorphisms on Elliptic Curvesp. 213
4.4.4 Divisorsp. 217
4.5 Pairing on Elliptic Curvesp. 222
4.5.1 Weil Pairingp. 222
4.5.2 Miller's Algorithmp. 223
4.5.3 Tate Pairingp. 227
4.5.4 Non-Rational Homomorphismsp. 232
4.5.4.1 Distortion Mapsp. 232
4.5.4.2 Twistsp. 233
4.5.5 Pairing-Friendly Curvesp. 234
4.5.6 Efficient Implementationp. 236
4.5.6.1 Windowed Loop in Miller's Algorithmp. 237
4.5.6.2 Final Exponentiationp. 237
4.5.6.3 Denominator Eliminationp. 239
4.5.6.4 Loop Reductionp. 240
4.6 Elliptic-Curve Point Countingp. 243
4.6.1 A Baby-Step-Giant-Step (BSGS) Methodp. 244
4.6.1.1 Mestre's Improvementp. 246
4.6.2 Schoof's Algorithmp. 247
5 Primality Testingp. 265
5.1 Introduction to Primality Testingp. 266
5.1.1 Pratt Certificatesp. 266
5.1.2 Complexity of Primality Testingp. 268
5.1.3 Sieve of Eratosthenesp. 268
5.1.4 Generating Random Primesp. 269
5.1.5 Handling Primes in the GP/PARI Calculatorp. 270
5.2 Probabilistic Primality Testingp. 271
5.2.1 Fermat Testp. 271
5.2.2 Solovay-Strassen Testp. 274
5.2.3 Miller-Rabin Testp. 275
5.2.4 Fibonacci Testp. 277
5.2.5 Lucas Testp. 280
5.2.6 Other Probabilistic Testsp. 284
5.3 Deterministic Primality Testingp. 284
5.3.1 Checking Perfect Powersp. 285
5.3.2 AKS Testp. 287
5.4 Primality Tests for Numbers of Special Formsp. 289
5.4.1 Pépin Test for Fermat Numbersp. 289
5.4.2 Lucas-Lehmer Test for Mersenne Numbersp. 290
6 Integer Factorizationp. 297
6.1 Trial Divisionp. 299
6.2 Pollard's Rho Methodp. 301
6.2.1 Floyd's Variantp. 302
6.2.2 Block GCD Calculationp. 304
6.2.3 Brent's Variantp. 304
6.3 Pollard's p-1 Methodp. 306
6.3.1 Large Prime Variationp. 309
6.4 Dixon's Methodp. 310
6.5 CFRAC Methodp. 316
6.6 Quadratic Sieve Methodp. 318
6.6.1 Sievingp. 319
6.6.2 Incomplete Sievingp. 323
6.6.3 Large Prime Variationp. 324
6.6.4 Multiple-Polynomial Quadratic Sieve Methodp. 326
6.7 Cubic Sieve Methodp. 327
6.8 Elliptic Curve Methodp. 330
6.9 Number-Field Sieve Methodp. 335
7 Discrete Logarithmsp. 345
7.1 Square-Root Methodsp. 347
7.1.1 Shanks' Baby-Step-Giant-Step (BSGS) Methodp. 348
7.1.2 Pollard's Rho Methodp. 349
7.1.3 Pollard's Lambda Methodp. 350
7.1.4 Pohlig-Hellman Methodp. 351
7.2 Algorithms for Prime Fieldsp. 352
7.2.1 Basic Index Calculus Methodp. 353
7.2.2 Linear Sieve Method (LSM)p. 355
7.2.2.1 First Stagep. 356
7.2.2.2 Sievingp. 358
7.2.2.3 Running Timep. 359
7.2.2.4 Second Stagep. 359
7.2.3 Residue-List Sieve Method (RLSM)p. 360
7.2.4 Gaussian Integer Method (GIM)p. 363
7.2.5 Cubic Sieve Method (CSM)p. 366
7.2.6 Number-Field Sieve Method (NFSM)p. 369
7.3 Algorithms for Fields of Characteristic Twop. 370
7.3.1 Basic Index Calculus Methodp. 371
7.3.1.1 A Faster Relation-Collection Strategyp. 373
7.3.2 Linear Sieve Method (LSM)p. 375
7.3.3 Cubic Sieve Method (CSM)p. 378
7.3.4 Coppersmith's Method (CM)p. 381
7.4 Algorithms for General Extension Fieldsp. 384
7.4.1 A Basic Index Calculus Methodp. 384
7.4.2 Function-Field Sieve Method (FFSM)p. 385
7.5 Algorithms for Elliptic Curves (ECDLP)p. 386
7.5.1 MOV/Frey-Rück Reductionp. 387
8 Large Sparse Linear Systemsp. 393
8.1 Structured Gaussian Eliminationp. 395
8.2 Lanczos Methodp. 404
8.3 Wiedemann Methodp. 410
8.4 Block Methodsp. 415
8.4.1 Block Lanczos Methodp. 415
8.4.2 Block Wiedemann Methodp. 421
9 Public-Key Cryptographyp. 429
9.1 Public-Key Encryptionp. 433
9.1.1 RSA Encryptionp. 433
9.1.2 ElGamal Encryptionp. 436
9.2 Key Agreementp. 437
9.3 Digital Signaturesp. 438
9.3.1 RSA Signaturep. 438
9.3.2 ElGamal Signaturep. 439
9.3.3 DSAp. 440
9.3.4 ECDSAp. 441
9.4 Entity Authenticationp. 442
9.4.1 Simple Challenge-Response Schemesp. 442
9.4.2 Zero-Knowledge Protocolsp. 444
9.5 Pairing-Based Cryptographyp. 447
9.5.1 Identity-Based Encryptionp. 449
9.5.1.1 Boneh-Franklin Identity-Based Encryptionp. 449
9.5.2 Key Agreement Based on Pairingp. 452
9.5.2.1 Sakai-Ohgishi-Kasahara Two-Party Key Agreementp. 452
9.5.2.2 Joux Three-Party Key Agreementp. 453
9.5.3 Identity-Based Signaturep. 454
9.5.3.1 Shamir Schemep. 454
9.5.3.1 Paterson Schemep. 455
9.5.4 Boneh-Lynn-Shacham (BLS) Short Signature Schemep. 457
Appendicesp. 465
Appendix A Backgroundp. 467
A.1 Algorithms and Their Complexityp. 467
A.1.1 Order Notationsp. 468
A.1.2 Recursive Algorithmsp. 471
A.1.3 Worst-Case and Average Complexityp. 475
A.1.4 Complexity Classes P and NPp. 479
A.1.5 Randomized Algorithmsp. 481
A.2 Discrete Algebraic Structuresp. 483
A.2.1 Functions and Operationsp. 483
A.2.2 Groupsp. 484
A.2.3 Rings and Fieldsp. 488
A.2.4 Vector Spacesp. 492
A.2.5 Polynomialsp. 494
A.3 Linear Algebrap. 495
A.3.1 Linear Transformations and Matricesp. 496
A.3.2 Gaussian Eliminationp. 497
A.3.3 Inverse and Determinantp. 502
A.3.4 Rank and Nullspacep. 506
A.3.5 Characteristic and Minimal Polynomialsp. 509
A.4 Probabilityp. 510
A.4.1 Random Variables and Probability Distributionsp. 511
A.4.2 Birthday Paradoxp. 513
A.4.3 Random-Number Generatorsp. 514
Appendix B Solutions to Selected Exercisesp. 517
Indexp. 583