Experiments With Hash Functions And Algorithms Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Hash functions or algorithm generates fixed-size digest using variable-size message. Hash algorithms are one-way which cannot be decoded to original message once converted, Hash algorithms such as MD5, SHA-1, HAVAL, etc..These algorithms have served the internet era in many ways such as securing the software distribution and online payment mechanism.

Another new Hash algorithm named Aegishjalmur developed by my supervisor. This algorithm is introduced in my dissertation and comparing its functionality with the existing hashing techniques and creating software package for the algorithm is main Aim.

Aim of dissertation

To Introduce New hash algorithm known as Aegishjalmur. Analysing its behaviour and comparing properties with earlier hash algorithms (MD5 and SHA-1); and giving software form for new hash algorithm is the Aim of this dissertation.

Introduction to Hash Algorithms

Hash algorithm accepts data and produces fixed length of characters; the generated characters are indeed safe and secure, as it cannot be reverted to obtain the actual data. More on this concept is available in further part of this report. The hash digest has many areas of implementation; over the years, serving needs of authentication and offering reliable services are main goals of any hash algorithms. Various applications ranging from online transactions to authenticating original software using digital signatures requires hash algorithms [3].

Cryptographic checksums are the output of hash algorithms i.e. unique and reliable identifiers of actual data. In addition, it has to be computationally impossible to find two messages that hash to same value. In this report checksums, hash values, message digest are considered the output obtained from the hash algorithm.

Figure 1: Generation of secure checksums




Secure Checksums

The output of hash algorithm should not reveal anything about the actual data used to generate it. In addition, changes to one bit of input data should produce different hash value.

Figure 2: characteristic of hash algorithm


Secure Checksums

Easy procedure

Difficult procedure

In figure2 we can notice that, process of generating secure checksums using data as input is easier task compared to reverse process i.e. having checksums and trying to get actual data will be difficult.

Existing Hash functions

Over the years, many One-way hash algorithms made it up to the big stage of producing secure identifiers. Most popular hash functions are Message-Digest algorithm 5 (MD5) and Secure Hash Algorithms (SHA0, SHA1, SHA2). Both the algorithms have various versions depending on the length of arbitrary characters produced as output of algorithms.

MD5 and SHA-1 algorithms used to guarantee the downloaded file or software’s integrity. Professor Ronald L. Rivest developed MD5 hash algorithm in 1994; it consists of 128 bit or 16-byte message digest. MD5 implementation is faster than its competition SHA-1 and satisfies all functionalities of general hash algorithms mentioned in earlier part of the report [4].

National Institute of Standards and Technology (NIST) developed SHA. Later SHA-1 revision to earlier SHA-0 version published. SHA-1 produces 160-bit or 20-byte message digest, because of longer digest size, it is more secure than MD5 against brute force attacks [5].

Figure 3: simple message digest output from hash algorithms

Books and Electronic resources mentioned in reference section used to get information about existing and future trends of hash algorithm applications.

Avalanche Properties of Hash Algorithm

Avalanche criterion describes the behaviour of cryptographic algorithm. Avalanche property explains behaviour of algorithm when a single bit of input is changed; corresponding output variation of original output has to vary. More variation in output makes it difficult to use cryptanalysis attack.

Cryptographic hash functions should exhibit avalanche effect for significant variation hence improves randomisation making cryptanalyst difficult to predict input, being given input. Avalanche criterion gives the insight of whether the hash algorithm can be secure or susceptible to attack.

In this dissertation Avalanche criterion property is analysed for MD5 and SHA-1 and comparing results with Aegishjalmur algorithm’s results.

Goals of the Dissertation

In this dissertation, the main Goal is to introduce Aegishjalmur (algorithm developed by my supervisor), implement and create software version of algorithm using java-programming language. The following goals or phases has to completed in order to implement and tabulate results of algorithm x.

Phase 1: Studying existing implementations of MD5 and SHA1 algorithms.

Study of MD5 and SHA-1 algorithm is required. Functionality, properties and applications of both algorithms has to be analysed along with their source code implementation in JAVA programming language.

Avalanche effect study is very important part before implementing MD5 and SHA-1. Other properties can be analysed if time permits.

Phase 2: Implementing Aegishjalmur hash algorithm.

Implementing Source code of new hash algorithm in JAVA programming language and analysing its functionality and various properties is main tasks of this phase.

Avalanche properties of new hash algorithm have to be analysed.

Phase 3: Compare Aegishjalmur algorithm results with MD5 and SHA-1.

This phase is of high importance, because MD5 and SHA-1 are established and widely used hash algorithms and comparing their results with new hash algorithm will test the strength and ability to generate secure message digest.

Tabulating all results obtained is last task in this phase.

Phase 4: Create Java Application for Aegishjalmur Algorithm.

Creating software form for new hash algorithm is last phase of dissertation. If time permits, good user interface design will be included.


Phase 1:

To understand how MD5 and SHA-1 hash algorithms work.

Implement source code of MD5 and SHA-1.

Testing Avalanche criterion and tabulating results.

Phase 2:

Implement new hash algorithm.

Study behaviour of Aegishjalmur algorithm.

Implement source code in Java.

Testing Avalanche criterion and tabulating results.

Phase 3:

Compare results of existing hash algorithm to new hash algorithm.

Tabulate results based on properties exhibited by algorithms.

Subject new hash algorithm to cryptanalysis attack and jot down results.

Declare whether new hash algorithm can match the results of preceded hash algorithms.

Phase 4:

Using Java Net-Beans software, new hash algorithm developed into an application software form.

If time permits good user interface design is put-forth in software development.

Description of Aegishjalmur

Aegishjalmur is new hash algorithm developed by my supervisor Dr Alexi Vernitski. Aegishjalmur means generally means protective head armour. Reason for this name is resemblance between hash algorithm basic steps, as shown in figure4 and Aegishjalmur shown in figure5.

Left step Figure:4 Aegishjalmur

Add the second half to the first half

Operate with the first third on the last two-thirds

Discard the first third

Right step

Add the first half to the second half

Operate with the last third on the first two-thirds

Discard the last third

Repeat the steps until a desired length is achieved.

The following figure explains why it is named as Aegishjalmur.

Figure 5: Working procedure of new hash algorithm (Aegishjalmur)

The original data is divided into two parts and hashed several times, making original data untraceable. A mathematical form and programming form will be explained dissertation.


Evaluation based on the following concepts:

Do implementations of hash algorithms work?

Is the code for checking the avalanche criterion correct?

Can we compare which of hash algorithms has a better avalanche property?

Is software-developed work properly?

Many modern hash algorithms have been around in recent times, one such algorithm is Aegishjalmur Algorithm. Focus of dissertation is to compare functionality of traditional hash algorithms with Aegishjalmur algorithm, evaluate results and giving a programming form to effectively generate behaviour pattern and analyse strength of algorithm when trying to revert original message.

Project Plan

Work break down

Milestone 1Finding Implementation of MD5 and SHA-1

Make sure Implementation works.

Study Aegishjalmur algorithm.

Milestone 2

Make sure Implementation work.

Study about Avalanche code.

Implement code for Avalanche criterion.

Analyse the results.

Milestone 3Write dissertation report.

Proof reading.

Submit report before deadline.

Next topic is the Gantt chart, summaries the time required for each tasks.

Gantt chart