{"id":20098,"date":"2022-11-26T13:33:37","date_gmt":"2022-11-26T13:33:37","guid":{"rendered":"https:\/\/mdr.foobrdigital.com\/?p=10268"},"modified":"2022-11-26T13:33:37","modified_gmt":"2022-11-26T13:33:37","slug":"encryption-process","status":"publish","type":"post","link":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/2022\/11\/26\/encryption-process\/","title":{"rendered":"Encryption Process"},"content":{"rendered":"\n<p>Here, we restrict to description of a typical round of AES encryption. Each round comprise of four sub-processes. The first round process is depicted below \u2212<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.tutorialspoint.com\/cryptography\/images\/first_round_process.jpg\" alt=\"First Round Process\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Byte Substitution (SubBytes)<\/h3>\n\n\n\n<p>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>\n\n\n\n<h3 class=\"wp-block-heading\">Shiftrows<\/h3>\n\n\n\n<p>Each of the four rows of the matrix is shifted to the left. Any entries that \u2018fall off\u2019 are re-inserted on the right side of row. Shift is carried out as follows \u2212<\/p>\n\n\n\n<ul>\n<li>First row is not shifted.<\/li>\n\n\n\n<li>Second row is shifted one (byte) position to the left.<\/li>\n\n\n\n<li>Third row is shifted two positions to the left.<\/li>\n\n\n\n<li>Fourth row is shifted three positions to the left.<\/li>\n\n\n\n<li>The result is a new matrix consisting of the same 16 bytes but shifted with respect to each other.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">MixColumns<\/h3>\n\n\n\n<p>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>\n\n\n\n<h3 class=\"wp-block-heading\">Addroundkey<\/h3>\n\n\n\n<p>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>\n\n\n\n<h2 class=\"wp-block-heading\">Decryption Process<\/h2>\n\n\n\n<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 \u2212<\/p>\n\n\n\n<ul>\n<li>Add round key<\/li>\n\n\n\n<li>Mix columns<\/li>\n\n\n\n<li>Shift rows<\/li>\n\n\n\n<li>Byte substitution<\/li>\n<\/ul>\n\n\n\n<p>Since sub-processes in each round are in reverse manner, unlike for a Feistel Cipher, the encryption and decryption algorithms needs to be separately implemented, although they are very closely related.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AES Analysis<\/h2>\n\n\n\n<p>In present day cryptography, AES is widely adopted and supported in both hardware and software. Till date, no practical cryptanalytic attacks against AES has been discovered. Additionally, AES has built-in flexibility of key length, which allows a degree of \u2018future-proofing\u2019 against progress in the ability to perform exhaustive key searches.<\/p>\n\n\n\n<p>However, just as for DES, the AES security is assured only if it is correctly implemented and good key management is employed.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.tutorialspoint.com\/cryptography\/triple_des.htm\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here, we restrict to description of a typical round of AES encryption. Each round comprise of four sub-processes. The first round process is depicted below \u2212 Byte Substitution (SubBytes) 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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[331],"tags":[],"_links":{"self":[{"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/posts\/20098"}],"collection":[{"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/comments?post=20098"}],"version-history":[{"count":0,"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/posts\/20098\/revisions"}],"wp:attachment":[{"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/media?parent=20098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/categories?post=20098"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mudassirbackup.infinitycodestudio.com\/index.php\/wp-json\/wp\/v2\/tags?post=20098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}