## ISETL Programs and Information Related to the RSA Cryptosystem

### Carl C. Cowen

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.