SPO600 – Project – Post #1

This blog is about the project I am doing as part of the deliverables for this course. The project is about finding an open source package related to hashes, checksums or compression and then optimizing the main algorithm to the best we can using the knowledge gained through this course.

The package that I chose for this project is Free Tiger. It is an implementation of the tiger algorithm in C language.

My strategy for bench-marking:

  1. The package is really old and only has the essential source files. I am currently planning to create my own automated testing script which will test the main hashing functions and report on the times. The test is supposed to run a number of times to get the average run-time.
  2. I am planning to use a good chuck of data tailored to test multiple functions within the package.

Strategy for optimization:

  1. From what I have analyzed so far, there are a number of nested ‘for’ loops inside the functions. I will try to get the run-times down by introducing vectorization.
  2. My second approach would be to try to use various compilation flags. If the first approach proves useful, I’ll try to use the compilation flags in addition to improve the performance even further.
  3. There are functions in the package which generate two hashes by taking two strings as input. I’ll try to add multi-threading in that case to see if it has a positive impact on the performance if any.

 

 

Fun? facts..

The algorithm was introduced in 1996 by two developers, Ross Anderson and Eli Biham, its 12 years old and was last updated in March 2012.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s