AES(Advanced Encryption Standard)

2.0 Block Ciphers

Block cipher - is one of the two common modern symmetric cipher types. It is distinguished from a stream cipher, because a b lock cipher performs operations on a chuck or blocks of plain text at once, whereas a stream cipher can operate on a single bit of plaintext at a time. The generated ciphertext has blocks equal to the number of blocks in plaintext and also has the same number of bits in each block as of plain text. Block cipher uses a symmetric key (the same key for encryption and decryption.
                   The foremost example of a modern block cipher is the Advanced Encryption Standard (AES) . AES is the primary cipher approved for use by the U.S. government to protect electronic data. It was certified in 2001, and has been something of a de facto standard cryptographic algorithm worldwide. It replaced the aging DES, also a block cipher, which was issued in 1977 . There are too many block ciphers to list them all, but DES and AES are the two most famous examples..
                   AES, encrypts 128 bit blocks with a key of predetermined length: 128, 192, or 256 bits. DES divides the plain text into the number of blocks, each of 64-bit. DES operates on one block of plain text at a time. Key of 56-bit is applied to each block of plain text to produce its corresponding ciphertext of 64-bit. During decryption also only one block of ciphertext is operated at a time to produce its corresponding block plain text. In DES the decryption algorithm is the same as the encryption one.

2.1 The AES Algorithm
This algorithm consists of First, dividing the data into blocks. Under this method of encryption, the first thing that happens is that your plaintext (which is the information that you want to be encrypted) is separated into blocks. The block size of AES is 128-bits, so it separates the data into a four-by-four column of sixteen bytes (there are eight bits in a byte and 16 x 8 = 128).
If your message was “welcome to projectfpga” the first block looks like this:
w          o          t           r
e          m          o           o
l          e                      j
c                     p           e

and the next block will be
c         g
t         a
f
p


We can see the algorithm flow likewise:
  • Add round key
  • Substitute bytes
  • Shift rows
  • Mix columns
  • Add round key


This project is written in verilog and will consist of the logism circuit and a youtube tutorial.Watch this video by Shad luiter for an overview of what we will be accomplishing in this project.






John Doe
9:2:50pm On 2019.01.6
Thanks! Really helped alot. Learned more in this 12 mins than my whole semester.
John Doe
2:15:31pm On 2019.01.14
You should really mention more that the matrix multiplication (in mix columns) is not in normal arithmetic, but in Galois s finite field (2^8) arithmetic. Not just say "go look it up", because result with normal matrix multiplication are differ.
John Doe
0:1:60am On 2019.04.2
How does XOR work on the round key step? can anyone explain?.
John Doe
3:14:32pm On 2019.04.2
Thank you Shared! This short video really helped to understand the concept in simple way..
John Doe
9:19:16am On 2019.03.1
Thanks for this lesson. I have a question, what cipher mode is applicable in the AES encryption? By cipher mode, I meant something like ECB, CBC, CTM, GCM, etc..
John Doe
1:12:26pm On 2019.01.19
Easy to understand and nice animations. Thank you, sir.
John Doe
3:17:29am On 2019.04.25
Hi , thanks for the awseome video . i have on question at 9:41 . why you started rotating the bytes from the second row not from the first one .. is this how the AES works or i m missing something ?.
John Doe
4:58:51pm On 2019.02.25
Great overview! Thanks!.
John Doe
12:53:20pm On 2019.01.25
Excellent! Finally understood this!.