Appendix A: tools To test the times for signing and verification and different key strengths, two tools were used, Eric A Young's implementation of SSL at http://www.ssleay.org, and Rational Software's profiling tool, Quantify, http://www.pureatria.com. SSLEAY 0.90B I compiled SSLEAY 0.90B on the HP-ux V.10 machine mamba.cs.berkeley.edu. In compilation, I ran into one major problem. Initially, compilation gave the error BN_Add_Word undefined symbol. It turns out that this function was not getting compiled into the libcrypto.a library in ~/jackchen/261/ssl. I had to make another object file with that single function in it and link it in by hand to get the final compilation to work. I used the libcrypto.a library and my file, mul.o, in ~/jackchen/m/mul.o to write a program which timed the signing, verificatio n, and key generations for different key sizes. A 1.5 kb packet was used as the standard size, and simulated packet data was read in from a very large file. A hash of the packet was then taken with the SHA1 routines in SSLEAY 0.90B. The signing and verica tion was then done on this 20 byte hash. Quantify Timing was taken in terms of instructions. Instruction counts were taken by compiling the signing, verification, and key generation programs with Rational Software's freely available profiler, Quantify.. Quantify reported total instruction counts taken f or each block specified. A block was specified to be a single sign, verification or key generation operation. An average over 1000 signings, verifications, and key generations was done and reported in the paper for 256, 512, 1024, and 2048 bit key sizes.