Wednesday, May 3, 2023

Advanced Encryption Standard algorithm

The AES algorithm (also known as the Rijndael algorithm) is a symmetrical block cipher algorithm that
takes plain text in blocks of 128 bits and converts them to ciphertext using keys of 128, 192, and 256 bits. Since the AES algorithm is considered secure, it is in the worldwide standard.


The AES algorithm uses a substitution-permutation, or SP network, with multiple rounds to produce ciphertext.

The number of rounds depends on the key size being used.

A 128-bit key size dictates ten rounds, a 192-bit key size dictates 12 rounds, and a 256-bit key size has 14 rounds.

Each of these rounds requires a round key, but since only one key is inputted into the algorithm, this key needs to be expanded to get keys for each round, including round 0.

Steps in each round

Each round in the algorithm consists of four steps.

1. Substitution of the bytes

In the first step, the bytes of the block text are substituted based on rules dictated by predefined S-boxes (short for substitution boxes).

2. Shifting the rows

Next comes the permutation step. In this step, all rows except the first are shifted by one.

3. Mixing the columns

In the third step, the Hill cipher is used to jumble up the message more by mixing the block’s columns.

4. Adding the round key

In the final step, the message is XORed with the respective round key.




When done repeatedly, these steps ensure that the final ciphertext is secure.

Applications of AES:

Wireless networks are secured using the Advanced Encryption Standard to authenticate routers and clients.

AES plays a huge role in securing website server authentication from both client and server end. With both symmetric and asymmetric encryption being used, this algorithm helps in SSL/TLS encryption
protocols to always browse with the utmost security and privacy.


AES is also used to transfer files between 
associates in an encrypted format. The encrypted information can extend to chat messages, family pictures, legal documents, etc.


0 comments:

Post a Comment

Data Structures with C++



NET/SET/CS PG



Operating Systems



Computer Networks



JAVA



Design and Analysis of Algorithms



Programming in C++

Top