# What is SHA-256? The cryptographic algorithm used by Bitcoin

April 28, 2020

Well then The security of SHA-256 (and that of its entire family of SHA-2 functions) is based on building a number of well-known cryptographic functions. These are the hash functions of Merkle -. Daming, created in 1979 by Ralph Merkle and Ivan Damg rd. Use Davies one-way compression for this. Meyer. A method that has been used to ensure resistance to collisions or repetition of hashes. In addition to ensuring the highest possible security for the function.

Using these algorithmic and mathematical foundations, the NSA built SHA-256 as a hash function that allows you to enter large amounts of data and get a summary of this information with a fixed length. The system even guarantees an avalanche effect in which the slightest change in the information entered creates a completely different hash.

To make it easier to see, imagine SHA-25 as A box in which large amounts of information are reduced to a small, clear and non-repeatable message. If you enter the same information again and again in the field, you will always get the same result because the function is deterministic. However, if you change the information for any reason, the slightest avalanche effect changes. the summary in full.

### A little experiment for SHA-256

What is SHA-256? The cryptographic algorithm used by Bitcoin

To better understand how SHA-256 works, we use this online generator. Nbsp;

From there we will introduce the following text string:

A test for the SHA-256 hash in Cointelegraph

With the introduction we get the following result:

00a11fee77e4ac6a3dac454f0d537ef959a58e3ec827bff28a522a1c73999021

nbsp;

As you can see, it has a total of 64 letters in length and is completely cryptic. If you type again, the same text string will produce the same result regardless of how often you do it. However, if we change the text string slightly, the entire string changes. drastically. Let’s prove this second point by introducing the following:

A test for the SHA-256 hash in Cointelegraph.

The only change introduced was a “.” at the end of the chain that we originally used. However, the result of the hash function is completely different:

1403b5cedd3477732f70cd1aa5aeaba77cc4357a38603f54813c3d7626ff9c1e

This drastic change was caused by the well-known “avalanche effect” that completely changes the result of our hash.

Now you’re sure to ask yourself Is it possible to convert the result of the SHA-256 function to the text string from which it came? The short answer is: No, this is practically impossible at the moment. Performing the calculations for the reverse process is currently very complex, even for the most powerful supercomputers. This guarantees the security of the algorithm against various attacks. However, many cryptanalysts are actively looking for bugs in these features to improve them and create new safe options for everyone.

Especially when we rely on these properties to ensure a high level of security in Internet communication. In fact, SHA-256 is now part of the foundation of internet security.. For example, website security certificates for the most part carry a digital signature that is certified by a SHA-256 hash. In fact, the Cointelegraph website uses this system to maintain the security of communication between our servers and the hundreds of thousands of visitors who visit our website.

In addition, SHA-256 is used in various operating systems and other digital functions to create secure systems. For example In GNU / Linux it is common to see how user keys are stored with SHA-256 or its sister function SHA-512. These systems receive the key from the user and store it in a hash derived from these functions. Nbsp;

In this way, each time the system asks for the password, the hash is computed and, if it matches, the system is accessed. Therefore, there is only one way to access the correct password, otherwise it would be impossible to remove the password through the reverse process. This also shows us something else and is that hash functions like SHA-256 are universal and work the same on different systems and platforms.