Relevant sections in text: 1.2.6, 2.2.1The 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:
TeX source for the assignment and postscript for the figures.
Scheme source code required for this assignment.
Postscript file for printing the assignment
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