Millersville University/Department of Mathematics
MATH 478 - Cryptography
This page contains some links to pages with material relevant to the
special topics in applied mathematics course, Cryptography.
You will also find links to Java applets and
Mathematica notebooks which you
can download and modify for further exploration.
-
Section 01 current semester syllabus
-
Selected homework
solutions
-
Many of the Mathematica notebooks listed on this page make use
of functions that are defined in a package.
This package is distributed without warranty and with no guarantee of
correctness.
Use it at your own risk.
-
The field
trip to the
National Cryptologic Museum.
-
Student reports on topics from the
history of cryptography.
-
The current listing of semester
project problems.
-
List of typographical
errors
in the fourth printing of the
textbook.
-
List of typographical
errors
in the fifth printing of the
textbook.
-
Find the greatest common divisor (GCD) of two positive integers is a
frequently occurring operation.
The
Euclidean Algorithm
is a simple method for determining the GCD.
If you prefer to use Mathematica, you may download a
notebook and use it.
-
The greatest common divisor (GCD) of two positive integers can be
written as a linear combination of the two integers.
The
Extended
Euclidean Algorithm
is a simple method for determining this linear combination.
If you prefer to use Mathematica, you may download a
notebook and use it.
-
Solve a system of simultaneous linear congruences using the
Chinese Remainder Theorem.
-
Modular exponentiation raises bases to (usually large) powers and then
mods the result.
The
Modular Exponentiation
Algorithm
implements this in Java.
If you prefer to use Mathematica, you may download a
notebook and use it.
-
Data Encryption Standard (DES) Resources
-
Two examples of the
Pohlig-Hellman
symmetric key exponentiation cipher.
-
Three examples of the use of the Pohlig-Hellman Algorithm to solve the
discrete logarithm problem.
-
A list of some small-ish prime numbers for simulating the operation of the
RSA cryptosystem.
-
A list of some small-ish prime numbers for simulating the operation of the
Rabin cryptosystem.
-
Public keys for several public key cryptosystems are contained on the
pages listed below.
-
Practice
ciphertexts for the public key cryptosystems.
-
An example of the use of
Gauss's Algorithm to find the primitive
roots of a prime number.
A Mathematica notebook is
also available.
-
Examples of the use of the
Miller-Rabin-Selfridge
Probabilistic Primality Test.
A Mathematica notebook is
also available.
-
Examples of the use of the
Solovay-Strassen
Probabilistic Primality Test.
A Mathematica notebook is
also available.
-
An introduction to elliptic curve cryptography.
A Mathematica notebook is
also available.
-
An introduction to quantum cryptography.
Page maintained by:
Bob Buchanan
Bob.Buchanan@millersville.edu
Last updated: December 30, 2005