ISETL (Interactive SET Language) is freeware to do some kinds of mathematics,
including the modular arithmetic needed to do the calculations connected
with RSA Cryptosystems. I am in no way associated with the creation or
maintenance of ISETL, but I have found it useful in demonstrating
mathematical ideas to junior high, high school, and college students.
However, I created the documents and ISETL programs below to make it
possible to do examples of RSA in a transparent way for the classroom,
that is, with the Math showing. The sizes of the primes and composites
used are humanly comprehensible, so these components are for examples only
-- no secrecy is possible using the tools here.
The two Microsoft Word documents describe the use of the ISETL programs
to encode and decode messages with RSA, along with giving a brief description
of the RSA system and some examples of coded messages.
ISETL can be downloaded for Windows, Mac, and DOS operating systems from
the site linked below. The ISETL program is necessary to use the
programs that can be downloaded from this webpage.
ISETL requires an initialization file in the same directory as the
program is in. The file below, which should be named "isetl.ini", is a text
file that is an acceptable initialization file for ISETL. It would replace
the "standard" initialization file and it contains the programs that
are used in doing the RSA examples referred to in the documents.
In particular, the "isetl.ini" file here includes a list of the primes
less than 2000 for using in factoring, the program "inverse"
that uses the Euclidean algorithm to find the multiplicative inverse
of an integer mod n, the program "factor" which finds a prime factor
of a small integer, and the program "power" which efficiently computes
x^k mod n for integers x, k, and n with 10 digits or less (that is,
well enough for the examples included). The programs "inverse" and
"primes" are separately downloadable, in case you wish to modify the
initialization file to handle larger numbers.