RSA encryption


Relevant sections in text: 1.2.6, 2.2.1

The assignment begins with the fast exponentiation and primality testing in section 1.2 and expands it to produce an implementation of the RSA system for public-key encryption. Students will also need to use lists to represent sequences and write simple car-cdr manipulations.

Before assigning this, you should consider updating "the story" to something more contemporary and less MIT-specific.

Disclaimer for all the cryptographers who are waiting to pounce on us: The system described here is a "pure RSA" system, which is not secure in practice.

Files for download:

ps3rsa.tex
diagrams.ps
figure1.ps
TeX source for the assignment and postscript for the figures.
rsa.scm Scheme source code required for this assignment.
ps3rsa.ps Postscript file for printing the assignment

To download files, hold down shift while clicking on the appropriate link.
To view files, click on them.
To see directory listing, click here.


Copyright © 1985-1996 Massachusetts Institute of Technology.
The material in these problem sets may be duplicated, modified, and redistributed for any non-commercial use in conjunction with the book Structure and Interpretation of Computer Programs.


Return to sample assignment page

Return to SICP page


Last modified August 30, 1996