DCC Report Final PDF
DCC Report Final PDF
DCC Report Final PDF
STC/SPRT/CSE/2022-2023 Page 1
Advanced Encryption Standard
Chapter 1
Introduction
Advanced Encryption Standard (AES) is a widely used encryption standard for securing
data transmitted over the internet or stored in digital devices. AES uses a symmetric-key
algorithm that encrypts and decrypts data using the same key, which makes it a fast and efficient
method for secure data transmission. The AES algorithm has three different key sizes: 128-bit,
192-bit, and 256-bit. The AES 128-bit key size is most commonly used, while the 192-bit and
256-bit key sizes are used in applications that require higher levels of security.
STC/SPRT/CSE/2022-2023 Page 2
Advanced Encryption Standard
Chapter 2
Objective
STC/SPRT/CSE/2022-2023 Page 3
Advanced Encryption Standard
Chapter 3
Methodology
The project report is based on a comprehensive review of the literature on the AES
algorithm. The literature review includes research articles, academic journals, conference papers,
and online resources. The review of literature was conducted using different search engines and
databases, including Google Scholar, ScienceDirect, IEEE Xplore, and ACM Digital Library. The
search terms used for the review were "Advanced Encryption Standard," "AES Algorithm,"
"Symmetric-Key Encryption," "AES Applications," and "AES Limitations."
STC/SPRT/CSE/2022-2023 Page 4
Advanced Encryption Standard
Chapter 4
Discussion
The AES algorithm is a symmetric-key encryption algorithm that uses a block cipher to
encrypt and decrypt data. The AES algorithm consists of three different key sizes: 128-bit, 192-
bit, and 256-bit. The AES algorithm is considered to be one of the most secure encryption
standards available today, and it is widely used in applications that require high levels of security.
The key features of the AES algorithm include its use of a symmetric-key algorithm,
which makes it fast and efficient for encrypting and decrypting data. The AES algorithm also uses
a block cipher, which means that the data is divided into blocks of fixed size, and each block is
encrypted separately. The AES algorithm also uses a key expansion algorithm that generates a set
of round keys that are used to encrypt and decrypt the data.
The strengths of the AES algorithm include its high level of security, which makes it ideal
for securing data transmission over the internet. The AES algorithm is also fast and efficient,
which makes it suitable for applications that require high-speed encryption and decryption. The
AES algorithm is also flexible and can be used with different key sizes depending on the level of
security required.
The limitations of the AES algorithm include the fact that it is a symmetric-key algorithm,
which means that the same key is used for encryption and decryption. This makes it vulnerable to
attacks if the key is compromised. The AES algorithm is also vulnerable to brute-force attacks,
which involve trying different keys until the correct key is found. The security of the AES
algorithm also depends on the strength of the key used, and if the key is weak, the algorithm is
vulnerable to attacks.
Applications of the AES algorithm include securing data transmission over the internet,
securing stored data on digital devices, securing communication between different devices, and
securing sensitive data in government and military applications. The AES algorithm is also used
in different protocols, including the Transport Layer Security (TLS) protocol, which is used to
secure data transmission over the internet.
STC/SPRT/CSE/2022-2023 Page 5
Advanced Encryption Standard
Chapter 5
Working
The Advanced Encryption Standard (AES) is a symmetric block cipher, meaning that it
uses the same key to both encrypt and decrypt data, and it operates on fixed-length blocks of data.
The basic idea of AES is to perform several rounds of transformations on the input data, using a
combination of substitution and permutation operations, to create a highly scrambled output that
is difficult to decipher without the correct key.
1. Key Expansion:
The AES algorithm requires a key of fixed size (128, 192, or 256 bits), which is expanded
into a set of round keys that are used in each round of encryption and decryption.
2. Initial Round:
The input data is first XORed with the first round key. This is followed by a substitution
step (SubBytes), in which each byte of the data is replaced with a corresponding value from a pre-
defined lookup table (the S-box). The output of the substitution step is then permuted
(ShiftRows), by shifting the rows of the data matrix by different amounts, to create a diffusion
effect.
3. Multiple Rounds:
AES performs a variable number of rounds (10, 12, or 14) depending on the key size.
Each round consists of four operations:
- SubBytes: Each byte of the data is replaced with a corresponding value from the S-box.
- ShiftRows: The rows of the data matrix are shifted by different amounts.
- MixColumns: Each column of the data is multiplied with a fixed matrix, to provide diffusion
across columns.
- AddRoundKey: The data is XORed with the round key for that round.
STC/SPRT/CSE/2022-2023 Page 6
Advanced Encryption Standard
4. Final Round:
The final round of AES is similar to the earlier rounds, except that it omits the
MixColumns step. The final output of AES is the result of the final round of transformations,
which produces the encrypted data.
To decrypt data encrypted with AES, the process is simply reversed, by performing the
inverse of each transformation in reverse order, using the same round keys as in the encryption
process. The decryption process produces the original plaintext data.
STC/SPRT/CSE/2022-2023 Page 7
Advanced Encryption Standard
Chapter 6
Result
The implementation of the AES algorithm was successful, and the code was able to
encrypt and decrypt data with high security. The performance of the algorithm was evaluated on
various parameters, which are discussed below:
Security:
The AES algorithm is known for its high level of security, and the implemented code was
able to provide secure encryption and decryption of data.
Speed:
The speed of the algorithm depends on the size of the input data. For smaller data sizes,
the algorithm was able to perform encryption and decryption quickly. However, for larger data
sizes, the speed decreased significantly.
Memory Usage:
The AES algorithm requires a significant amount of memory to perform encryption and
decryption. The implemented code was able to handle small and medium-sized files easily, but
for larger files, it required more memory.
STC/SPRT/CSE/2022-2023 Page 8
Advanced Encryption Standard
Chapter 7
Conclusion
The AES algorithm is a widely used encryption standard that is considered to be one of
the most secure encryption standards available today. The AES algorithm uses a symmetric-key
algorithm, which makes it fast and efficient for encrypting and decrypting data. The AES
algorithm is also flexible and can be used with different key sizes depending on the level of
security required. The limitations of the AES algorithm include its vulnerability to attacks if the
key is compromised or if a weak key is used. However, the strengths of the AES algorithm far
outweigh its limitations, making it.
STC/SPRT/CSE/2022-2023 Page 9
Advanced Encryption Standard
References
https://www.openssl.org/docs/manmaster/man7/aes.html
https://www.khanacademy.org/computing/computer-science/cryptography
https://www.cryptool.org/en/cto/highlights/aes-step-by-step
STC/SPRT/CSE/2022-2023 Page 10