Preface
Integers and Computer Algebra
Integers
Computer Algebra vs. Numerical Analysis
Sums and Products
Mathematical Induction
Codes
Binary and Hexadecimal Codes
ASCII Code
Morse Code
Braille
Two-out-of-Five Code
Hollerith Codes
Euclidean Algorithm
The Mod Function
Greatest Common Divisors
Extended Euclidean Algorithm
The Fundamental Theorem of Arithmetic
Modular Arithmetic
Ciphers
Cryptography
Cryptanalysis
Substitution and Permutation Ciphers
Block Ciphers
The Playfair Cipher
Unbreakable Ciphers
Enigma Machine
Error-Control Codes
Weights and Hamming Distance
Bar Codes Based on Two-out-of-Five Code
Other Commercial Codes
Hamming (7, 4) Code
Chinese Remainder Theorem
Systems of Linear Equations Modulo n
Chinese Remainder Theorem
Extended Precision Arithmetic
Greatest Common Divisor of Polynomials
Hilbert Matrix
Theorems of Fermat and Euler
Wilson's Theorem
Powers Modulo n
Fermat's Little Theorem
Rabin's Probabilistic Primality Test
Exponential Ciphers
Euler's Theorem
Public Key Ciphers
The Rivest-Shamir-Adleman Cipher System
Electronic Signatures
A System for Exchanging Messages
Knapsack Ciphers
Digital Signature Standard
Finite Fields
The Galois Field GFp
The Ring GFp[x] of Polynomials
The Galois Field GF4
The Galois Fields GF8 and GF16
The Galois Field GFpn
The Multiplicative Group of GFpn
Random Number Generators
Error-Correcting Codes
BCH Codes
A BCH Decoder
Reed-Solomon Codes
Advanced Encryption Standard
Data Encryption Standard
The Galois Field GF256
The Rijndael Block Cipher
Polynomial Algorithms and Fast Fourier Transforms
Lagrange Interpolation Formula
Kronecker's Algorithm
Neville's Iterated Interpolation Algorithm
Secure Multiparty Protocols
Discrete Fourier Transforms
Fast Fourier Interpolation
Appendix A: Topics in Algebra and Number Theory
Number Theory
Groups
Rings and Polynomials
Fields
Linear Algebra and Matrices
Solutions to Odd Problems
Bibliography
Notation
Algorithms
Figures
Tables
Index