Group+1

code Group members •   Ong Shu Peng (Leader) – 3P321 •   Ng Yi Yang (Member) – 3P319 •   Teo Wei Zheng (Member) – 3P329

Introduction We have decided to do a research paper on cryptography and we will be focusing on hash functions and the different hashalgorithms in our research paper and we aim to compare the different hash algorithm to find the type of hash algorithm that will be suitable for the different type of platform by including other factors in our research other than how secure the algorithm is and this is due to the fact that hashes are usually very secure as it is design to be one-way function and would take an absurdly long time to re-engineer the process to get the data from a hash.

Brief description of our proposed topic Authenticity is one important part of information security in today. Hashes are used everywhere to verify the authenticity of the message, program, or any form of data that can be transferred to us. These hash algorithms aim to create a one-way hash that will be easy to generate, but hard to crack as they manipulate with the bits and bytes of the data, s a very slight change will cause a huge difference in the resultant output as the checksum of the data is calculated. One way of ‘cracking’ the hash algorithm is to try out all the possible combinations in order to find a match, but thatwill require a search in a large database of hash and data combination. To truly render the hashing algorithm exposed, brute force method will have to be used to produce a hash that is similar to that of the data, but of a different string, and this will then allow people to re-engineer the algorithm to get the data from the hash itself.

Even with the use of many different methods of decoding a hash, like dictionary attacks and such, it would not be too feasible as there are still many possibilities out there and the time and effort put into decoding the hash will render the data useless when the hash algorithm is actually re-engineered. Due to this fact, many of the hash algorithms out there, though a dated few decades back, are still used for their unique purpose for ensuring authenticity.

Method of conducting research Before the commencement of the research, we first have to understand how the checksum is calculated from different algorithms. This will allow us to be able to write the functions in the different languages, of which one of them will be aprogramming language, web-based language and scripting language (C++, JavaScript and Python) to find its efficiency in different areas. Then, we will be able to compare the time required to create the hash so as to compare the speed of the different algorithms on different languages, and of course, on the different type of data too. This will then allow us to collect information about the usefulness of the hash algorithm and by combining the different factors, we will be able to compare the different types of hash algorithm and find the most efficient one for respective usage.

Proposed timeline for the research paper Time Nov – Dec Understand the different hash algorithms commonly used (SHA-1, MD2, MD4) 1 month Dec – Feb Writing the hash function on different programming language. (One programming language per group member) 1.5 month to 2 month Feb – Mar Final amendments to the different implementation of the hash algorithm on the different programming language 1 month to 1.5 month Comparing the results and compiling the data Mar Hol Complete the research paper

Job distribution Group Member (Alphabetical Order)   Task All members of the group            Understand the different hash algorithms (SHA-1, MD2, MD4) Ng Yi Yang (Member)                 Implementing the different hash algorithms on Javascript Ong Shu Peng (Leader)               Implementing the different hash algorithms on Python Teo Wei Zheng (Member)              Implementing the different hash algorithms on C++

Limitation of the research paper We will be working more on the functionality of the hash generating algorithm as these hash algorithms are generally secure and exploiting these hash functions would be beyond our knowledge and expertise.

code