Notes:
1. The message can be split-up into its component characters and the hash value can be obtained from each of these characters (ASCII requires 256 hash values). A number X can only be encoded by a public key with a value greater than X. Therefore the public key must be bigger than 256. In practical terms this means that values chosen for P and Q should be approximately greater than 1000 (error checking variables need to be encoded too).
2. Finding the private key (d) can be a difficult task as the algorithm used to calculate this key is a not particularly good. On some occasions, the private key will be extremely hard to find (depending on the p and q values) and there is a chance that the program will loop for some time. This is however a problem in all encryption programs and so it is useful to illustrate it here. Try inputting values very close to each-other and see how long it takes
3. The program will check to see if the values you have selected for P and Q are prime numbers, as this is vital for the algorithm to work. If they are not prime numbers they will be replaced with the prime number which comes directly after the number selected.
4. The source code for the applet is available for download. It is, at present, un-commented but this may change if I have the time.
5. Both p and q should be different prime numbers, if they are the same the applet will crash.
|