Contents

Preface

1Algebraic structures

1.1Groups

1.2Regular polygons

1.3Symmetric groups

1.4Rings

1.5Modular arithmetic

1.5.1Euclidean algorithm

1.5.2Ideals in the integers

1.5.3Chinese remainder theorem

1.5.4Eulers totient function

1.6Polynomials and formal power series

1.7Hilberts basis theorem

1.8Fields

1.9Finite fields

1.10Units modulo n

1.11Quadratic reciprocity

Exercises

Summary

2Cryptography

2.1Symmetric encryption methods

2.2Monoalphabetic cipher

2.3Polyalphabetic cipher

2.4Frequency analysis and coincidence index

2.5Perfect security and the Vernam one-time pad

2.6Asymmetric encryption methods

2.7RSA cryptosystem

2.8Rabin cryptosystem

2.9DiffieHellman key exchange

2.10ElGamal cryptosystem

2.11Cryptographic hash functions

2.12Digital signatures

2.13Secret sharing

2.14Digital commitment

2.15Shamirs attack on the MerkleHellman cryptosystem

Exercises

Summary

3Number theoretic algorithms

3.1Runtime analysis of algorithms

3.2Fast exponentiation

3.3Binary GCD

3.4Probabilistic recognition of primes

3.4.1Fermat primality test and Carmichael numbers

3.4.2SolovayStrassen primality test

3.4.3MillerRabin primality test

3.4.4Applications of the MillerRabin scheme

3.4.5MillerRabin versus SolovayStrassen

3.5Extracting roots in finite fields

3.5.1Tonellis algorithm

3.5.2Cipollas algorithm

3.6Integer factorization

3.6.1Pollards p 1 algorithm

3.6.2Pollards rho algorithm for factorization

3.6.3Quadratic sieve

3.7Discrete logarithm

3.7.1Shanks baby-step giant-step algorithm

3.7.2Pollards rho algorithm for the discrete logarithm

3.7.3PohligHellman algorithm for group order reduction

3.7.4Index calculus

3.8Multiplication and division

3.9Discrete fourier transform

3.10Primitive roots of unity

3.11SchönhageStrassen integer multiplication

Exercises

Summary

4Polynomial time primality test

4.1Basic idea

4.2Combinatorial tools

4.3Growth of the least common multiple

4.4Of small numbers and large orders

4.5AgrawalKayalSaxena primality test

Summary

5Elliptic curves

5.1Group law

5.1.1Lines

5.1.2Polynomials over elliptic curves

5.1.3Divisors

5.1.4Picard group

5.2Applications of elliptic curves

5.2.1DiffieHellman key exchange with elliptic curves

5.2.2Pseudocurves

5.2.3Factorization using elliptic curves

5.2.4GoldwasserKilian primality certificates

5.3Endomorphisms of elliptic curves

Exercises

Summary

6Combinatorics on words

6.1Commutation, transposition and conjugacy

6.2Fine and Wilfs periodicity lemma

6.3Kruskals tree theorem

Exercises

Summary

7Automata

7.1Recognizable sets

7.2Rational sets

7.3Regular languages

7.4Star-free languages

7.5KrohnRhodes theorem

7.6Greens relations

7.7Automata over infinite words

7.7.1Deterministic Büchi automata

7.7.2Union and intersection

7.7.3Omega-rational languages

7.7.4Recognizability of omega-regular languages

7.7.5Monadic second-order logic over infinite words

7.8Presburger arithmetic

7.9Solutions of linear Diophantine systems

Exercises

Summary

8Discrete infinite groups

8.1Classical algorithmic problems

8.2Residually finite monoids

8.3Presentations

8.4Rewriting systems

8.4.1Termination and confluence

8.4.2Semi-Thue systems

8.5Solving the word problem in finitely presented monoids

8.6Free partially commutative monoids and groups

8.7Semidirect products

8.8Amalgamated products and HNN extensions

8.9Rational sets and Benois theorem

8.10Free groups

8.11The automorphism group of free groups

8.12The special linear group SL(2, )

Exercises

Summary

Solutions to exercises

Chapter 1

Chapter 2

Chapter 3

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Bibliography

Index

Footnotes

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset