# SHA256 - Genesis of ICM Algorithm

The Secure Hash Algorithm (SHA256), often known as the Secure Hash Algorithm, is an algorithm that represents a family of hash functions developed by the US National Security Agency. It's worth noting that Sha-2 was built on the foundation of Sha-0 and Sha-1, thus it's the natural next step in the evolution of these algorithms

When we speak about SHA256, we're referring to a data file signature. For SHA256, for example, a signature of 32 bytes may be generated (256 bits).

It is essential to note, however, that a hash does not enable the data to be "encrypted." It is true that it cannot be decoded; rather, it is a combination of a signature and a cryptographic function.

As a result, these technical features apply to both the SHA512 and SHA256 algorithms (both being almost identical algorithms).

It is also interesting to know that their main notorious difference is simply that they act on word sizes that are not quite equal, so the sizes are :

**64 bits for SHA512****32 bits for SHA256**

Because all of these algorithms are members of the same family (SHA384, SHA256, SHA2, and SHA512), they are all published with SHA1 and therefore reflect the US standard in reality.

**SHA256 features**

To comprehend this method, first realize that a hash function is a mathematical function that converts data into a fingerprint.

It is therefore extremely practical, since this fingerprint may be identified very simply and particularly fast in this instance. The identifying procedure is significantly simplified as a result of this.

It is an algorithm that will be capable of taking input data and converting it into a coded output with a set length as its primary feature.

This method is very helpful since it allows for a more accurate representation of a fingerprint, which is thus unique to each individual.

To conclude, the term SHA256 refers to a safe hash method that uses a 256-bit key. It's essential to note that it's represented by a hash function, which is often utilized in blockchain technology. And, in terms of security, this function is protected via the use of cryptography.

**How it works**

It is also important to know that the so-called input data has the ability to represent any kind of data.

A hash function simply gives an identical hash for the same input. This is done for any data and does not depend on how the algorithm is executed.

It should also be noted (this is very important) that if the input data or simply if a character in the text is changed, the output hash is also changed.

Moreover, it is important to know that a hash function is a function that has the particularity of being one-way. This means that input data cannot be generated from the hash.

This one-way function allows to convert a text of different length into a string of 256 bits.

**The category Sha-2**

The Sha-2 family of hash algorithms consists mostly of SHA12 and SHA256. It's crucial to understand that the following algorithms are derivatives of these:

A hash isn't the same as encryption.

For all texts, the Hash has a fixed size.

This cryptographic function only works in one way.

The FIPS and NIST standards are Sha256.

Passwords are not stored using hash methods.

Sha256 is presently one of the most efficient hash functions.

A hash function takes a message of a particular size as input and outputs a hash of the same size.

**Hatching functions in general**

As previously stated, a hash function is a function that converts data of any kind into data of a certain size.

This information may come in a variety of formats. It may be a picture or just plain text.

**SHA256 Features**

A hash function is a function in cryptography that contains data linked with a fixed size picture.

The hash is only used when a character string is transformed into a key or a fixed-length value that represents the original string. It's often used to index database items.

"This is helpful because finding an element using the hash key (typically a short-length key) rather than the actual value is simpler and faster.

**Cryptographic hash function**

A primitive of symmetric cryptography is this family of hash functions. This primitive is really a fundamental building block that is often utilized to create cryptographic systems. It may be found in authentication codes and digital signatures, for example.

The overwhelming majority of these hash algorithms were created to handle any length of bit sequence. This is achieved in the input and may then generate a hash value of a defined length in the output.

Furthermore, this family of hash functions is intriguing since it is almost difficult to reverse and offers a wide range of security levels. The primary benefit is that the hash value associated with a message is usually computed extremely fast.

**SHA256 design**

The cryptographic hash functions were created to withstand possible assaults.

As a result, a malicious actor will be unable to change the input data without altering the hash.

We've observed before that as the input data changes, the output data changes as well.

If two strings are identical, for example, we may be certain that they have the same digital fingerprint. Hash functions, on the other hand, are still susceptible to certain kinds of assaults.