The mathematics of cryptology is a side interest of mine. At Governor's School East in North Carolina I taught courses on JavaScript and Cryptology.

JavaScript programs I wrote:

The Rail-Fence Cipher
The Transposition Cipher
The Affine Cipher
The Keyword Cipher
The Vigenere Cipher
Frequency Analyzer
Books I've liked:
I highly recommend The Code Book by Simon Singh, 1999.
Applied Cryptography by Bruce Schneier, 1996.
Cryptology by Albrecht Beutelspracher, 1994.
Introduction to Cryptography by Johannes Buchmann, 2001.
I have been programming in perl, HTML and Maple on the Calculus on the Web, i.e., COW, project as my research assistantship at Temple University for the past couple of years. COW consists of about three book's worth of calculus exercises and instruction, where students can work problems and professors can assign homework.

The expression interpreter is a JavaScript program I wrote for COW which converts messy one-line mathematical expressions like pi^(3/4)/2asin^3 xy into more pleasing HTML format. Give it a try.

Some of my other JavaScript programs:

A simple tile game
Compute gcd using the Euclidean algorithm
Compute the periods of the Fibonacci sequence under various moduli
A list of courses I have taken during my graduate studies.
A short paper, Fitting Circles and Ellipses to Data Using the Least-Squares Method, I wrote for numerical linear algebra class.
The conjugacy classes of S4, S5, and S6 listed by cycle type. This was created with a program I wrote in perl.
A short essay on using Maple to find Grobner bases in coefficient rings other than the rationals.