This week I wrote my first application. In my application, I made use of the AES algorithm. As I posted in my last blog, AES is a type of symmetric key algorithm. In the AES algorithm, there are specifically three types. There is AES-128, AES-192, and AES 256. I tested all of these algorithms and compiled the time to get the set key, the encrypted message, and decrypted message. The application also provides the data rate for each algorithm. This is how the data looks like:

Performance Tests:

AES-128-ECB Set Key … 364.50us per operation, 2743.47 per second

AES-128-ECB Encrypt … 33.56us per byte, 29796.89 bytes per second

AES-128-ECB Decrypt … 67.50us per byte, 14815.67 bytes per second

AES-192-ECB Set Key … 404.24us per operation, 2473.76 per second

AES-192-ECB Encrypt … 40.31us per byte, 24806.29 bytes per second

AES-192-ECB Decrypt … 81.77us per byte, 12229.44 bytes per second

AES-256-ECB Set Key … 411.98us per operation, 2427.32 per second

AES-256-ECB Encrypt … 47.06us per byte, 21247.64 bytes per second

AES-256-ECB Decrypt … 96.04us per byte, 10411.93 bytes per second.

Next week, I will proceed with the next set of algorithms.

### Like this:

Like Loading...

*Related*

I’m still a little confused as to what your project is; what will you do with these results?

Are you ranking operation speed?

LikeLike

HI Yash,

The goal of my project is to benchmark the different encryption algorithms (symmetric encryption as well as asymmetric encryption algorithms) in terms of speed and memory usage. Then I will find the scheme of encryption that can be most suitable for the IoT network based on my benchmarking.

LikeLike