matqkks said:
I am looking for any resources which explain the RSA algorithm for the layman. I have found a number of sources but they all tend to end with a morass of technical details. This is for a first year undergraduate course in number theory who have covered some basic work on modular arithmetic.
The steps of the algorithm in rough lines are
1 Generate two (large) prime numbers ##p_1, p_2## // steps 1, 2, 3, 4, 5 executed from server in advance
2 Take their product ##k = p_1p_2##
3 Let function ##f## be such that ##m = f(k) = (p_1 - 1)(p_2 - 1)##
4 Choose a prime number ##p_3## that is co-prime to ##m## with ##GCD(m, p_3) = 1## where ##1 \lt p_3 \lt m## // ##k , p_3## is the public key
5 Choose a number ##n## such that ##p_3n \pmod m = 1## //server keeps ##n, m## as its secret key
6 Encrypt message
M: ##E = M^{p_3} \pmod k## // Browser encrypts the message using this formula and creates the encrypted
E message
7 Decrypt message
E: ##M = E^n \pmod k## // Server uses this math to decrypt
E and effectively recover
M
If you put some (preferably small in order to verify) numbers you can have a more practical sense about the algorithm.