-
Notifications
You must be signed in to change notification settings - Fork 0
/
AES.html
155 lines (147 loc) · 10.3 KB
/
AES.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="types of encryption algorithms. Tagged with encryption, algorithms, programming, career.">
<meta name="keywords" content=" AES, encryption, algorithms, programming, career, software, coding, development, engineering, inclusive, community">
<meta property="og:type" content="article"/>
<meta property="og:title" content="Types of Algorithms"/>
<title>AES ENCYRPTION TECHNIQUE</title>
<link rel="stylesheet" href="InternTempCSS.css">
</head>
<body>
<header style="position: sticky; top: 0px">
<div class="navbar">
<ul>
<li>ICON</li>
<li>HOME</li>
<li>ABOUT</li>
<li>CONTACT</li>
</ul>
</div>
<!-- second nav bar starts -->
<div class="nav">
<div class="drop">
<!-- dropdown menu for mobile site -->
<li id="btn" class="dropbtn">ENCYRPTION TECHNIQUES
<div class="dropcontent">
<a href="#">AES</a>
<a href="#">FSE</a>
<a href="#">DES</a>
<a href="#">TDES</a>
<a href="#">BLOWFISH</a>
<a href="#">TWOFISH</a>
<a href="#">RSA</a>
<a href="#">SHA-1</a>
</div>
</li>
<!-- dropdown ends -->
</div>
<ul style=" list-style-type: none;">
<li class="active">AES</li>
<li>FSE</li>
<li>DES</li>
<li>TDES</li>
<li>BLOWFISH</li>
<li>TWOFISH</li>
<li>RSA</li>
<li>SHA-1</li>
</ul>
</div>
</header>
<body>
<div class="container">
<!-- side navigator -->
<div class="navtab">
<div class="head" style="font-size: 1.5vw; padding-top: 10px; color:#2a3842;">
<h1>A E S</h1>
</div>
<ul style=" list-style-type: none; padding-top: 2vh;">
<li><a href="#1">Features Of AES</a></li>
<li><a href="#2">Operation of AES</a></li>
<li><a href="#3">Schematic of AES Structure</a></li>
<li><a href="#4">Encryption Process</a></li>
<li><a href="#5">Shiftrows</a></li>
<li><a href="#6">MixColumns</a></li>
<li><a href="#7">Addroundkey</a></li>
<li><a href="#8">Decryption Process</a></li>
<li><a href="#9">AES Analysis</a></li>
<li><a href="#top">BACK TO TOP</a></li>
<li><a href="#top">BACK TO TOP</a></li>
<li><a href="#top">BACK TO TOP</a></li>
<li><a href="#top">BACK TO TOP</a></li>
<li><a href="#top">BACK TO TOP</a></li>
<li><a href="#top">BACK TO TOP</a></li>
<li><a href="#top">BACK TO TOP</a></li>
</ul>
</div>
<!-- side navigator ends -->
<!-- main content starts -->
<div class="content">
<h1 id="1">AES</h1>
<p>The more popular and widely adopted symmetric algorithm encryption likely to be encountered is the advanced encryption standard.It is found at least six times faster than TDES. A replacement for DES was needed as its key size was too small.</p>
<h2 >Features Of AES:-</h2>
<ul class="ConList">
<li>Symmetric key symmetric block cipher</li>
<li>128 bit data,128/192/256-bit keys</li>
<li>Stronger and faster than triple DES</li>
<li>Provide full specification and design details</li>
<li>Software implementable in C and Java</li>
<li>Security. Competing algorithms were to be judged on their ability to resist attack -- as compared to other submitted ciphers. Security strength was to be considered the most important factor in the competition.</li>
<li id="2">Cost. Intended to be released on a global, nonexclusive and royalty-free basis, the candidate algorithms were to be evaluated on computational and memory efficiency</li>
<li>Implementation. Factors to be considered included the algorithm's flexibility, suitability for hardware or software implementation, and overall simplicity.</li>
</ul>
<h2>Operation of AES:-</h2>
<p>AES is an iterative rather than Feistel cipher. It is based on the ‘substitution–permutation network’. It comprises a series of linked operations,
some of which involve replacing inputs by specific outputs (substitutions) and others involve shuffling bits around (permutations).
Interestingly, AES performs all its computations on bytes rather than bits. Hence, AES treats the 128 bits of a plaintext block as 16 bytes. These 16 bytes are arranged in four columns and four rows for processing as a matrix.</p>
<p id="3"></p>
<p>
Unlike DES, the number of rounds in AES is variable and depends on the length of the key. AES uses 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and 14 rounds for 256-bit keys. Each of these rounds uses a different 128-bit round key, which is calculated from the original AES key.</p>
<h2 id="4">Schematic of AES Structure</h2>
<h3 >Encryption Process:-</h3>
<p id="5"> Byte Substitution (SubBytes);-<br><br>
The 16 input bytes are substituted by looking up a fixed table (S-box) given in design. The result is in a matrix of four rows and four columns.
</p>
<h3>Shiftrows:-</h3>
<ul class="ConList">
<li>First row is not shifted.
</li>
<li>Second row is shifted one (byte) position to the left</li>
<li>Third row is shifted two positions to the left.</li>
<li id="6">Fourth row is shifted three positions to the left.</li>
<li>The result is a new matrix consisting of the same 16 bytes but shifted with respect to each other.</li>
</ul>
<h3 >MixColumns</h3>
<p id="7">Each column of four bytes is now transformed using a special mathematical function. This function takes as input the four bytes of one column and outputs four completely new bytes, which replace the original column. The result is another new matrix consisting of 16 new bytes. It should be noted that this step is not performed in the last round.</p>
<h3>Addroundkey</h3>
<p id="8">The 16 bytes of the matrix are now considered as 128 bits and are XORed to the 128 bits of the round key. If this is the last round then the output is the ciphertext. Otherwise, the resulting 128 bits are interpreted as 16 bytes and we begin another similar round.</p>
<h3>Decryption Process</h3>
<p>The process of decryption of an AES ciphertext is similar to the encryption process in the reverse order. Each round consists of the four processes conducted in the reverse order −</p>
<ul class="ConList">
<li>Add round key</li>
<li>Mix columns</li>
<li>Shift rows</li>
<li>Byte substitution</li>
<li id="9">Since sub-processes in each round are in reverse manner, unlike for a Feistel Cipher, the encryption and decryption algorithms need to be separately implemented, although they are very closely related</li>
</ul>
<h2>AES Analysis</h2>
<ul class="ConList">
<li>In present day cryptography, AES is widely adopted and supported in both hardware and software. Till date, no practical cryptanalytic attacks against AES have been discovered. Additionally, AES has built-in flexibility of key length, which allows a degree of ‘future-proofing’ against progress in the ability to perform exhaustive key searches.</li>
<li>However, just as for DES, the AES security is assured only if it is correctly implemented and good key management is employed.</li>
<li>AES-128 uses a 128-bit key length to encrypt and decrypt a block of messages, while AES-192 uses a 192-bit key length and AES-256 a 256-bit key length to encrypt and decrypt messages. Each cipher encrypts and decrypts data in blocks of 128 bits using cryptographic keys of 128, 192 and 256 bits, respectively.</li>
<li>Symmetric, also known as secret key, ciphers use the same key for encrypting and decrypting, so the sender and the receiver must both know -- and use -- the same secret key. The government classifies information in three categories: Confidential, Secret or Top Secret. All key lengths can be used to protect the Confidential and Secret level. Top Secret information requires either 192- or 256-bit key lengths.</li>
<li>There are 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and 14 rounds for 256-bit keys. A round consists of several processing steps that include substitution, transposition and mixing of the input plaintext to transform it into the final output of ciphertext</li>
</ul>
</div>
<!-- main content ends -->
</div>
</body>
<footer>
<!-- <div class="foot">
<h2>copyright © .All rights reserved</h2>
</div> -->
</footer>
</html>