## Introduction

Cybercrime is one of the problems that pose a challenge to the world’s ICT systems. In fact, companies recognize the need for effective cybersecurity systems. Types of cybercrime include phishing and hacking, among others. Techniques utilized to control cybercrime include encryption. This paper will explore the use of encryption in making digital signatures (Kessler 1).

## Problem

When handling sensitive contracts, it is essential that the authenticity of information be guaranteed. This can only be done through the establishment of digital signatures. For instance, If an individual wants to send a copy of the contract to his/her lawyer in another town, the lawyer must be assured that the draft of the contract sent is authentic. Hashing is a type of encryption, which helps to ensure that documents sent are authentic through the establishment of digital signatures or signers (Kessler 1).

## Encryption technique: Hashing Algorithm

A hash algorithm is a method that maps all data available for an algorithm analysis into larger sets of data called keys. Another name for this algorithm is a hash function. Hash functions map strings of arbitrary length to strings of fixed length *n *in working out the solutions. An output string known as the hash value is easy to compute from this scenario. In other terms, the hash value is a fingerprint for the messages in use for the algorithm. In each given hash function, there exist 2^{n} different hash values, which gives a probability of 2 ^{– n} to any given hash value. This explanation justifies why a hash is a fingerprint for the message sent in the algorithm (Part 1).

There are three different attacks on hash functions, which include:

*The collision attack*

The main objective of this attack is to target two messages that hash to the same value in the algorithm.

*The pre-image attack*

It deals with finding a particular message that hashes to a given value in the algorithm.

*The 2*^{nd}preimage attack

This type of attack to hash functions deals with a particular message in order to find a different message, which hashes to the same value (Partow 1).

The use of hash algorithms, commonly known as hash functions, first came into light in the context of digital authentication in the use of the password as a protection tool. These hash algorithm functions, commonly known as one-way functions, meaning that they were supposed to represent pre-image resistance. Credit to these developments goes to Whitefield Diffie and Martin Hellman for being the first to define these one-way functions. They also indicated how to use a cryptosystem to create a secure hash function.

In the year 1980, Davies Meyer and the Matyas-Meyer-Oseas developed the first concrete scheme but still had to incorporate the use of DES simply because the encryption algorithm at the time did not provide adequate security. In the year 1988, a construction based on DES called the MDC-2 was developed. Due to this invention, a first dedicated hash function was developed by Ronald Rivest in the same year. The MD5 was the most utilized hash function. The year 1993 saw the approval of the SHA hash function by the National Institute of Standards and Technology (Kessler 1).

For a message to be processed using a hash function, it is usually padded before it can go through any process. Padding is essential since it splits the message into smaller units of equal size. The most common construction method that hash functions use is the Merkle-Damgard construction. The use of MD strengthening in the Merkle-Damgard construction makes it possible to prove that if the compression function is collision-resistant, then it is the same as the hash algorithm function (Kessler 1).

The choice of the type of function to be used in a hashing algorithm depends mainly on the type of data to be implemented. In addition, it relies on probability space anticipated. Several useful types of hashing algorithm functions that are important in the process have come into operation. Hash functions or algorithms are pseudo-random number generators. The process of evaluating the frequency of collision in dissimilar hash algorithms is done using Poisson distribution. The collision between the hash values in each of the elements in the groups is avoided by the use of a perfect hash function. A function that gives minimal collision rate is the perfect hash function. Generalizing hash functions is not an easy task due to the permutations that exist in the data used in the analysis. Analysis of the hash functions is using two dimensions, as described below (Kessler 1).

## How encryption technique solves that problem

In solving the problem above, hashing can be utilized in the following manner. Firstly, the individual sending the message to the lawyer needs to paste a copy of the contract in the email pad. After that, a hashing brings the hash message (this can be done through special software for hashing). A hash message is the mathematical summary of the message. The individual then utilizes a private key initially gained from public, private key authority. This private key is then utilized to encrypt the hash obtained above. Once the hash has been encrypted, the outcome is the digital signature of the message. On the other end, the lawyer makes a hash of the information he/she has received. The hash obtained is then decrypted. If the two hashes match, then authenticity is achieved, and hence the problem is solved (Rouse 1).

## Limitations of this solution

The use of hashing in ensuring the authenticity of messages has some limitations. For instance, The MD5 and SHA-1 types of hash functions are usually not for use in environments where collisions are a limiting factor. Moreover, the repaired version of the hash may suffer the same predicaments of the broken hash functions if repair is utilized in hashing. In addition, the intended fixing of the functions has the propensity of triggering new weaknesses. Finally, it should be noted that continued repair of the functions might bring about less efficient hash functions.

## Conclusion

Hashing algorithms play an important role in the security of information in the world today. An output string known as the hash value is easy to compute from this scenario. A hash algorithm is a method that maps all data available for an algorithm analysis into larger sets of data called keys. Whenever information is passed across from one person to another, there is the need to authenticate the validity of the sender and the message sent. The threat of security breach is growing each day hence the need to continue improving the existing cryptographic functions that are in existence.

## Works Cited

Kessler, Gary. *An Overview of Cryptography*. 2014. Web.

Partow, Arash. *General Purpose Hash Function Algorithms*. 2013. Web.

Rouse, Margaret. *Security search: digital signature (electronic signature).* 2007. Web.