1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Appendices
1.1 Numbers, Sequences, and Sums
Page 8
To learn more about figurate number consult
http://mathworld.wolfram.com/FigurateNumber.html
Page 9
You can use Neil Sloane's On-Line Encyclopedia of Integer Sequences
Web site to determine the possible identity of an integer sequence from
its first few terms. You can also check out some "hot sequences" and puzzle
sequences that are quite challenging.
http://www.research.att.com/~njas/sequences/index.html
1.2 Numbers, Sequences, and Sums
Page 23
A picture of the 19th century original box cover for the Tower of Hanoi
puzzle and the text of the original instructions in French, and translated
into English, can be seen at the site of Paul K. Stockmeyer, a computer
science professor at William and Mary College at
http://www.cs.wm.edu/~pkstoc/toh.html
Several interesting papers about the Tower of Hanoi problem and its
generalizations written by Paul K. Stockmeyer can be downloaded from
http://www.cs.wm.edu/~pkstoc/h_papers.html
1.3 The Fibonacci Numbers
Page 25
A variety of ways that Fibonacci number arise in nature, including
counting rabbits, can be found on Ron Knott's page at the Department of
Computing, University of Surrey site:
http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fibnat.html
1.4 Divisibility
Page 37
You can find the excellent expository article by Jeff Lagarias on the
Collatz conjecture, which goes by many different names, including the "3x+1
problem" at
http://www.cecm.sfu.ca/organics/papers/lagarias/index.html
2.1 Representations of Integers
Page 47
Interesting information concerning Kaprekar's constant and related
topics can be found at
http://mathworld.wolfram.com/KaprekarRoutine.html
3.1 Prime Numbers
Page 66
A wealth of information about primes can be found at the Prime Page
http://www.utm.edu/research/primes/
An excellent survey about prime numbers can be found at the St Andrews
History of Mathematics Archive at
http://www-groups.dcs.st-and.ac.uk/~history/HistTopics/Prime_numbers.html
Page 67
Biographical information about Eratosthenes can be found at the MacTutor
History of Mathematics Archive at
http://www-groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Eratosthenes.html
You can find an applets for running the sieve of Eratosthenes at
http://www.math.utah.edu/~alfeld/math/prime.html
Information about the sieve of Eratosthenes and links for implementations
in C, Java, and Perl can be found at
http://www.utm.edu/research/primes/programs/Eratosthenes
Page 75
A description of some of the open questions about primes can be found
on the Prime Pages at
http://www.utm.edu/research/primes/notes/conjectures
You can learn more about the twin prime conjecture and related conjectures
at
http://www.ltkz.demon.co.uk/ktuplets.htm
Information about the current status of numerical evidence supporting
Golbach's conjecture can be found at
http://www.informatik.uni-giessen.de/staff/richstein/ca/Goldbach.html
3.2 Greatest Common Divisors
Page 80
An excellent starting place for learning about greatest common divisors
is
http://www.utm.edu/research/primes/glossary/GCD.html
Page 85
Information about Farey series and about Farey himself can be found
at
http://www.cut-the-knot.com/blue/Farey.html
Programs for computing Farey series can be found at
http://www.maths.usyd.edu.au:8000/u/magma/Examples/node6.html
3.3 The Euclidean Algorithm
Page 92
You can find source code for a C program implementing the extended
Euclidean algorithm at
http://www.mindspring.com/~pate/crypto/chap02.html
3.5 Factorization Methods and the Fermat Numbers
A succinct report on modern factorization methods can be found as part
of the RSA Labs FAQ at
http://www.rsasecurity.com/rsalabs/faq/2-3-4.html
Another good place to learn about different factorization methods is
in Eric Weisstein's World of Mathematics at
http://mathworld.wolfram.com/PrimeFactorizationAlgorithms.html
Page 113
You can learn about the RSA Factoring Challenge at the following Web
page at the RSA Data Security site:
http://www.rsasecurity.com/rsalabs/challenges/factoring/
Page 114
The currently known data about the factorization of Fermat numbers
can be found on the following page created and maintained by Wilfrid Keller
http://vamri.xray.ufl.edu/proths/fermat.html
Cash prizes are offered for finding prime factors of certain Fermat
numbers. See http://www.perfsci.com/prizes.html
Page 115
Information about the Cunningham project, including the "most wanted"
numbers awaiting
factorization can be found at http://www.cerias.purdue.edu/homes/ssw/cun/
3.6 Linear Diophantine Equations
Page 120
An interactive applet for solving linear diophantine equations can
be found at http://www.thoralf2.uwaterloo.ca/htdocs/linear.html
4.1 Introduction to Congruences
Page 127
Modular arithmetic is discussed at the Cut-the-Knot site at http://www.cut-the-knot.com/blue/Modulo.html
You can find source code for a C program implementing the algorithm
for modular
exponentiation by repeated squaring and multiplying at http://www.mindspring.com/~pate/crypto/chap02.html
4.2 Linear Congruences
Page 139
You can find an approach for solving linear congruences at http://www.unc.edu/~rowlett/Math81/notes/Oct06.html
Page 140
You can find source code for a C program that computes modular inverses
at http://www.mindspring.com/~pate/crypto/chap02.html
4.3 The Chinese Remainder Theorem
Page 143
You can learn more about the Chinese remainder theorem at http://www.cut-the-knot.com/blue/chinese.html
You can calculate your biorhythms using the program at http://www.facade.com/biorhythm
4.5 Systems of Linear Congruences
Page 169
An excellent starting point for exploring Magic squares on the Web
is http://forum.swarthmore.edu/alejandre/magic.square.html
4.6 Factoring Using the Pollard Rho Method
Page 170
Source code for the Pollard rho factorization method can be found at
http://www.mindspring.com/~pate/course/chap08.html
5.1 Divisibility Tests
Page 173
You can find a clear explanation, written by Robert L. Ward, why different
divisibility tests
work for numbers in decimal notation at http://forum.swarthmore.edu/k12/mathtips/ward.html
Page 177
Information on repunits, including the repunits known to be prime,
can be found at http://www.utm.edu/research/primes/glossary/Repunit.html
5.2 The Perpetual Calendar
Page 179
A perpetual calendar implemented by Michael Bertrand in Java can be
found at
http://www.execpc.com/~mikeber/calendar.html
5.3 Round-Robin Tournaments
Page 184
An interesting algorithm for scheduling double round-robin tournaments
where each team plays each other twice so that each time plays at home,
and so that a variety of constraints can be met, can be found at
http://www.comp.nus.edu.sg/~henz/projects/acc/index.html
5.4 Hashing Functions
Page 186
A definition of hashing functions can be found at http://www.whatis.com/WhatIs_Definition_Page/0,4152,212230,00.html
A discussion of hashing functions from a cryptographic standpoint is
available as part of the
RSA Laboratories cryptography FAQ at http://www.rsasecurity.com/rsalabs/faq/2-1-6.html
5.5 Check Digits
Page 191
A comprehensive discussion of various schemes used to construct check
digits can be found at
http://www.augustana.ab.ca/~mohrj/algorithms/checkdigit.html
Page 192
You can find a Java applet for computing the check digits for ISBNs
at http://www.albar.co.uk/tooltips.htm#isbncdc
Page 195
You can find a Java applet for computing check digits for UPCs at http://www.albar.co.uk/tooltips.htm#upcacdc
7.3 Perfect Numbers and Mersenne Primes
Page 239
A survey article about perfect numbers can be found at the St. Andrews
History of Mathematics site at
http://www-groups.dcs.st-and.ac.uk/~history/HistTopics/Perfect_numbers.html
Page 241
A wealth of information about Mersenne primes can be found at http://www.utm.edu/research/primes/mersenne.shtml
Page 244
The history of the search for Mersenne primes is described in detail
at http://www.utm.edu/research/primes/mersenne.shtml
Luke Welsh, one of the discoverers of the 29th Mersenne prime, has an excellent site containing a wealth of information about Marin Mersenne and the search for Mersenne primes at http://www.scruznet.com/~luke/mersenne.htm
Page 245
You can learn about the Great Internet Mersenne Prime Search, download
software to look for
new Mersenne primes, and join the search itself at http://www.mersenne.org
You can learn about progress with the search for Mersenne primes over
PrimeNet and obtain
software for joining PrimeNet which is associated with the Great Internet
Prime Search at http://www.entropia.com/ips/
Page 248
To learn more about amicable numbers you can consult http://xraysgi.ims.uconn.edu/amicable.html
To access a list of all known amicable pairs go to http://www.vejlehs.dk/staff/jmp/aliquot/knwnap.htm
Information about multiply perfect numbers can be found at http://www.uni-bielefeld.de/~achim/mpn.html
8.1 Character Ciphers
Page 260
You can learn more about cryptography by checking out the Frequently
Asked Questions
(FAQs) on cryptography at http://www.faqs.org/faqs/cryptography-faq/
RSA Laboratories has compiled their own highly informative set of Frequently
Asked Questions
(FAQs) in cryptography which are accessible at http://www.rsasecurity.com/rsalabs/faq/
The basic terminology and concepts of cryptography is described on the page http://www.rsasecurity.com/rsalabs/faq/1-2.html
An excellent introduction to cryptographic terminology and concepts can be found at http://www.ssh.fi/tech/crypto/intro.html
8.2 Block and Stream Ciphers
Page 268
The basic concept of a block cipher is described in detail at http://www.rsasecurity.com/rsalabs/faq/2-1-4.html
Page 269
An excellent description of the Vigenere cipher can be found at http://www.trincoll.edu/depts/cpsc/cryptography/vigenere
An on-line program for cryptanalysis of ciphertext encrypted using
the Vigenere cipher is
available at: http://www.cs.arizona.edu/people/muth/Cipher/query_vcb
Page 274
The complete specification of the DES is available from the National
Institute of Standards and
Technology (NIST) at http://www.itl.nist.gov/fipspubs/fip46-2.htm
You can learn more about the DES by consulting http://www.rsasecurity.com/rsalabs/faq/3-2-1
Page 275
You can learn more about the AES by consulting http://www.rsasecurity.com/rsalabs/faq/3-3-1.html
The concept of a stream cipher is described in detail at http://www.rsasecurity.com/rsalabs/faq/2-1-5
8.3 Exponentiation Ciphers
You can find some information about exponentiation ciphers and many related topics in a special publication from NIST about public-key cryptography at http://csrc.nist.gov/nistpubs/800-2.txt
8.4 Public-Key Cryptography
Page 285
A description of public-key cryptography, private-key cryptography,
and the advantages and
disadvantages of each can be found in the RSA Laboratories Cryptography
FAQ at http://www.rsasecurity.com/rsalabs/faq/2-1-1
http://www.rsasecurity.com/rsalabs/faq/2-1-2
http://www.rsasecurity.com/rsalabs/faq/2-1-3
Page 286
Information about the RSA Cryptosystem can be found at the RSA Laboratories
Cryptography
FAQ at
http://www.rsasecurity.com/rsalabs/faq/3-1-1.html
You can find Ronald L. Rivest's home page which contains a photograph
and links to many sites related to cryptography at
http://theory.lcs.mit.edu/~rivest/
Adi Shamir's home page at the Weizmann Institute, currently containing
only basic contact
information, can be accessed at http://www.wisdom.weizmann.ac.il/people/~shamir
You can find Leonard Adleman's home page which contains a photograph,
links to his papers,
and a commentary on his involvement in the movie Sneakers at http://www-scf.usc.edu/~pwkr/adleman-home.html
The RSA public key cryptosystem is implemented in C++ as part of the
Crypto++ Library
which is accessible at http://www.eskimo.com/~weidai/cryptlib
8.5 Knapsack Ciphers
Page 293
A discussion of knapsack ciphers (which are special cases of lattice-based
cryptosystems) can
be found at
http://www.rsasecurity.com/rsalabs/faq/2-3-11.html
8.6 Cryptographic Protocols and Applications
Page 299
You can learn more about the Diffie-Hellman scheme for key agreement
at http://www.rsasecurity.com/rsalabs/faq/3-6-1.html
The Diffie-Hellman key agreement scheme is implemented in C++ as part
of the Crypto++
Library which is accessible at http://www.eskimo.com/~weidai/cryptlib.html
Page 300
The concept of a digital signature is explained at http://www.rsasecurity.com/rsalabs/faq/2-2-2.html
Page 303
The basic concepts of secret sharing are described at http://www.rsasecurity.com/rsalabs/faq/3-2-1.html
You can learn about some particular secret sharing schemes at http://www.rsasecurity.com/rsalabs/faq/3-6-12.html
Shamir's secret sharing scheme implemented in C++ is available as part
of the Crytpo++
Library which is accessible at http://www.eskimo.com/~weidai/cryptlib.html
9.1 The Order of an Integer and Primitive Roots
Page 308
Source code for a C program that computes the order of an integer with
respect to an integer
modulus can be found at http://www.mindspring.com/~pate/course/chap01.html
9.2 Primitive Roots for Primes
Page 317
Data concerning the least primitive root of primes not exceeding 8910000000000
have been
calculated by Tomás Oliveira e Silva and are accessible at http://www.inesca.pt/~tos/p-roots.html
9.3 The Existence of Primitive Roots
Page 327
Source code for a program that finds a primitive root of an integer
when one exists can be found at
http://www.mindspring.com/~pate/course/chap01.html
9.4 Index Arithmetic
Page 332
A discussion of the discrete logarithm problem can be found as part
of the RSA Labs FAQ at
http://www.rsasecurity.com/rsalabs/faq/2-3-7.html
9.5 Primality Tests Using Orders of Integers and Primitive Roots
You can download software that runs on PCs for running Proth's primality
test, and check out
the latest discoveries made using this test at http://vamri.xray.ufl.edu/proths/
Page 345
To find out more about Sierpinski numbers and the quest to show that
78,557 is the smallest
Sierpinski number, see http://vamri.xray.ufl.edu/proths/sierp.HTML
9.6 Universal Exponents
Information about minimal universal exponents, which are the same as
the values of the
Carmichael function, can be found at Eric Weisstein's World of Mathematics
at
http://mathworld.wolfram.com/CarmichaelFunction.html
10.1 Pseudorandom Numbers
A useful exposition about random number generators can be found in the
RSA Laboratories
Cryptography FAQ at http://www.rsasecurity.com/rsalabs/faq/2-5-2
A useful resource for the study of the generation of random numbers
is the pLab Server on the
Theory and Practice of Random Number Generation at http://random.mat.sbg.ac.at/
10.2 The ElGamal Cryptosystem
Page 367
You can find the Federal Information Processing Standard (FIPS) 186
on the NIST Web site at
http://csrc.nist.gov/fips/fips1861.pdf
A C++ implementation of the ElGamal cryptosystem is included in the
Crypto++ Library at
http://www.eskimo.com/~weidai/crytlib.html
10.3 An Application to the Splicing of Telephone Cables
Page 371
To learn about splicing of coaxial cables, you may want to consult
http://compnetworking.about.com/compute/compnetworking/library/weekly/aa042098.htm?terms=coaxial
11.2 The Law of Quadratic Reciprocity
Page 392
Close to 200 different proofs of the law of quadratic reciprocity are
listed by Franz Lemmermeyer. He lists the author, year, and method of each
proof, and provides references
and links to reviews in Mathematical Reviews and Zentralblatt. Go to
http://www.rzuser.uni-heidelberg.de/~hb3/fchrono.html
An excellent account of Eisenstein's simplification of Gauss's third
proof of the law of quadratic reciprocity can be found in "Gauß,
Eisenstein, and the "third" proof of the Quadratic Reciprocity Theorem:
Ein kleines Schauspiel" by Reihard Laubenbacher - David J. Pengelley. This
article originally appeared in the Mathematical Intelligencer in 1994 and
can be accessed at
http://www.math.nmsu.edu/~history/schauspiel/schauspiel.html
11.3 The Jacobi Symbol
Page 404
You can find source code for a C program that computes Jacobi symbols
at
http://www.mindspring.com/~pate/crypto/chap02.html
11.4 Euler Pseudoprimes
Page 413
Additional information about Euler pseudoprimes and related types of
pseudoprimes can be found at
http://mathworld.wolfram.com/Euler-JacobiPseudoprime.html
11.5 Zero-Knowledge Proofs
Page 421
You can learn more about zero-knowledge proofs and interactive proofs
at http://www.rsasecurity.com/rsalabs/faq/2-1-8.html
12.1 Decimal Fractions
Page 431
You can find programs that you can run online for converting fractions
to decimals and decimals
to fractions at http://school.discovery.com/homeworkhelp/webmath/prealgebra.html
Page 434
You can find an excellent exposition written by Helmut Richter concerning
the period length of
decimal fractions at http://www.lrz-muenchen.de/~hr/numb/period.html
12.2 Finite Continued Fractions
Page 443
You can learn more about continued fractions at the site http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/cflINTRO.html
12.3 Infinite Continued Fractions
Page 458
The best rational approximations of real numbers are discussed at
http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/cfINTRO.html#convergents
12.4 Periodic Continued Fractions
Page 463
Continued fractions for square-roots are discussed at
http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/cfINTRO.html#sqrtcf
12.5 Factoring Using Continued Fractions
Page 477
An implementation of factoring using continued fractions can be found
at http://www.mindspring.com/~pate/riesel/chap06.html
13.2 Fermat's Last Theorem
Page 488
An excellent survey of the history of Fermat's last theorem can be
found at
http://www-groups.dcs.st-and.ac.uk/~history/HistTopics/Fermat's_last_theorem.html
Information about Fermat's last theorem can be found at NOVA Web site
on the pages
accompanying their episode devoted to Wiles's proof : http://www.pbs.org/wgbh/nova/proof
To begin exploring the mathematics behind Wiles's proof of Fermat's
last theorem, you should look at a page developed by Charles Daney at http://www.best.com/~cgd/home/flt/flt01.htm
Page 491
You can learn more about the Wolfskehl prize by downloading the article
by Barner from the
Notices of the American Mathematical Society at http://www.ams.org/notices/199710/barner.pdf
or by reading an account of the award ceremony and the history of the prize written by Simon Singh the author of the best selling book Fermat's Last Theorem at http://www.telegraph.co.uk/et?ac=000111151604876&rmto=33c6aeae@atmo=33c6aeae&pg=/et/97/7/5/esferm05.html (At last, Fermat can rest in peace)
13.3 Sums of Squares
Page 502
Information about Waring's problem can be found on the following pages:
http://www.mathsoft.com/asolve/pwrs32/waring.html
http://www.mathsoft.com/asolve/pwrs32/pwrs32.html
13.4 Pell's Equation
Page 507
An interactive program for solving Pell's equation can be found at
the site
http://www.ibc.wustl.edu/~zuker/cgi-bin/dq.html
Appendix A
Axioms for the Set of Integers
Page 515
You can learn more about the Peano axioms at
http://www.torget.se/users/m/mauritz/math/num/peano.htm
Appendix C
Using Maple and Mathematica for Number Theory
Page 527
The Maple home page is a good place to starting learning more about
Maple:
http://www.maplesoft.com
Page 528
Maple worksheets written by John Cosgrave for a course in number theory
and cryptography at
St. Patrick's College in Dublin, Ireland can be found at
http://www.spd.dcu.ie/johnbcos/Maple_3rd_year.htm
You can find a Maple worksheet on the Collatz problem at
http://www.maplesoft.com/apps/categories/mathematics/numbertheory/html/collatz.html
Page 530
Information on Mathematica can be found at
http://www.mathematica.com
Mathematica packages can be accessed at
http://www.mathsource.com
Page 531
A program for implementing the iterations in the Collatz 3x+1 problem
in Mathematica can be found at
http://www.mathsource.com/Content/Applications/Mathematics/0200-305
Page 532
You can find an implementation of the RSA Public-Key Cryptosystem in
Mathematica at
http://www.mathsource.com/Content/Applications/ComputerScience/0204-130
Appendix E
TABLES
Page 537
You can find a table of the first 100,008 primes on the Prime Pages
at http://www.utm.edu/research/primes/lists/small/100000.txt