All code was tested and benchmarked on the MSP430™ platform using IAR Embedded Workbench® IDE as the compiler tool. The optimization columns in the benchmark tables indicate the type of optimization used in IAR. Table 1-1 describes the settings used.
| Optimized for | Optimization Level | Aggressive Unrolling | Aggressive In-Lining |
|---|---|---|---|
| Size | High => Size | No | No |
| Speed | High => Speed | Yes | Yes |
| AES (ENC/DES Function) | Optimization | AES (ENC Only Function) | Optimization | ||||
|---|---|---|---|---|---|---|---|
| Speed | Size | Speed | Size | ||||
| Memory (KB) | RAM (B) | 34 | 34 | Memory (KB) | RAM (B) | 34 | 34 |
| Const | 0.55 | 0.55 | Const | 0.29 | 0.29 | ||
| Code | 1 | 0.83 | Code | 0.67 | 0.51 | ||
| Clock Cycles (kilo-cycles) | 7.9 | 12.3 | Clock Cycles (kilo-cycles) | 7.3 | 11.3 | ||
| DES Code Size | Optimization | |
|---|---|---|
| Speed | Size | |
| RAM (B) | 288 | 288 |
| Const (KB) | 2.3 | 2.3 |
| Code (KB) | 3.3 | 2.17 |
| DES Clock Cycle Count (kilo-cycles) | Optimization | |
|---|---|---|
| Speed | Size | |
| DES (FULL) (One Data Block) | 41 | 42.6 |
| 3DES (FULL) (One Data Block) | 135.6 | 143.1 |
| DES Key Scheduler (EN0 or DE1 modes) | 34.7 | 36 |
| DES Key Scheduler (ENDE mode) | 69 | 72 |
| DES Encode/Decode (One Data Block) | 2.7 | 3.8 |
| DES CBC Encode/Decode (2-block chain) | 5.5 | 7.7 |
| 3DES CBC Encode/Decode (2-block chain) | 139 | 149.7 |
| SHA-256 (Data < 448 bits) (1) | Optimization | ||
|---|---|---|---|
| Speed | Size | ||
| Memory (KB) | RAM | 0.328 | 0.328 |
| Const | 0.264 | 0.328 | |
| Code | 3.72 | 1.87 | |
| Clock Cycles (kilo cycles) | 34.1 (67) | 44.3 (86.7) | |