RSA Interactive Simulator

RSA Interactive Simulator / Work Bench

This tutorial seeks not to specifically explain the RSA algorithm, but provides a web based tool to run though the algorithm step by step.

By doing this the very large numbers used in 'real' RSA connections can be run though, also simulations of bad RSA implementations can be tried

for instance:

It is easy to find thousands of RSA explanations on the Web, (for instance google currently lists 195,000 for searching on rsa algorithm ) a list of a few useful reviewed sites with guide notes is included here .

This series of web pages has been written in PHP, running on a RedHat Linux server with a moderately fast processor (1.4GHz athlon), principally to use the unix bc utility to deal with the very large numbers used in the RSA encryption technique. Javascript with double precision floating point provides for instance around 12 places of decimals. With bc the only practical limitation is server side processing time and memory.

The first stage of RSA encryption is to .

This key is used in the start up sequences of a secure connection, to pass and encryption/or scambling key. This key is then used to encode the subsequent transmission.

When a key has been chosen, the encryption and decryption processes can be simulated. The final decryption process involves very large exponentiation. This was beyond the abilities of bc for practical values. To allow bc scripts to process these very large numbers mathematical breakdowns of the equations, resulting in recursive routines was required. These are described here .

All the scripts and php source are available in a gzipped tar file here A brief description of all files, PHP pages, HTML pages bc, sed and bash scripts used is here


Last updated 12Apr2004 R.P.Clark.