next up previous
Next: Analyzing Costs of Software Up: Overview Previous: Factors Affecting the Use

Our Approach

The way we have approached the hypothesis is to test whether

If the tests to the aforementioned conditions are positive, then universal encryption is feasible. However, we found that not all of these three conditions were satisfied, and hence, the following analysis on various applications was performed - Does encryption introduce any significant overheads in the execution of the application?. The overheads were analyzed with respect to the specific requirements of the application.

The encryption algorithm considered for the analysis as outlined above is the Twofish [Twofish] algorithm. Twofish was developed at the CounterPane Labs, and is a one of the five finalists chosen by the NIST for the Advanced Encryption Standard (AES). It is a 128-bit symmetric block cipher that accepts a variable-length key up to 256 bits. It is a 16-round cipher, made up of four key-dependent 8-by-8-bit S-boxes, bitwise rotations and a carefully designed key schedule offering high security and flexibility. It is well suited for large microprocessors, 8-bit smart card microprocessors, and dedicated hardware.

Although, hardware encryption is important for our study, we focussed mainly on software encryption techniques. We used an optimized C version of the algorithm for our analysis. We used 128 bit keys to ensure strong encryption (as defined by AES). For hardware analysis, we used performance results obtained at CounterPane Labs. Further, in our analysis, we assumed that all keys are already in place for secret communication. So the key setup costs, which are one time costs were neglected in our study. A discussion on this can be found in a later section.


next up previous
Next: Analyzing Costs of Software Up: Overview Previous: Factors Affecting the Use
Ramadass Nagarajan
2000-05-11