{"id":106360,"date":"2025-04-26T18:43:13","date_gmt":"2025-04-26T14:13:13","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85\/"},"modified":"2025-04-26T18:43:13","modified_gmt":"2025-04-26T14:13:13","slug":"%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85\/","title":{"rendered":"\u0627\u06cc\u062c\u0627\u062f AE \u062f\u0631 C\/Java || Subbytes \/ Shiftrows \/ \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc (\u0642\u0633\u0645\u062a \u062f\u0648\u0645)"},"content":{"rendered":"<div data-article-id=\"2435885\" id=\"article-body\">\n<p>1 \u0642\u0633\u0645\u062a-https:\/\/dev.to\/dima853\/create-aes-on-cjava-forward-s-box-first-part-4lef<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85\/#1_Subbytes_%D8%AA%D8%B9%D9%88%DB%8C%D8%B6_%D8%A8%D8%A7%DB%8C%D8%AA_%D8%BA%DB%8C%D8%B1_%D8%AE%D8%B7%DB%8C\" >1. Subbytes: \u062a\u0639\u0648\u06cc\u0636 \u0628\u0627\u06cc\u062a \u063a\u06cc\u0631 \u062e\u0637\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85\/#2_Shiftrows_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1_%D8%B1%D8%AF%DB%8C%D9%81_%DA%86%D8%B1%D8%AE%D9%87_%D8%A7%DB%8C\" >2. Shiftrows: \u062a\u063a\u06cc\u06cc\u0631 \u0631\u062f\u06cc\u0641 \u0686\u0631\u062e\u0647 \u0627\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85\/#%D8%AA%D8%AC%D8%B3%D9%85\" >\u062a\u062c\u0633\u0645:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-ae-%d8%af%d8%b1-c-java-subbytes-shiftrows-%d8%a2%d8%b3%db%8c%d8%a8-%d9%be%d8%b0%db%8c%d8%b1%db%8c-%d9%82%d8%b3%d9%85%d8%aa-%d8%af%d9%88%d9%85\/#3_%D8%A2%D8%B3%DB%8C%D8%A8_%D9%BE%D8%B0%DB%8C%D8%B1%DB%8C_%D9%87%D8%A7%DB%8C_AES\" >3. \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627\u06cc AES<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"1_Subbytes_%D8%AA%D8%B9%D9%88%DB%8C%D8%B6_%D8%A8%D8%A7%DB%8C%D8%AA_%D8%BA%DB%8C%D8%B1_%D8%AE%D8%B7%DB%8C\"><\/span>\n<p>  <strong>1. Subbytes: \u062a\u0639\u0648\u06cc\u0636 \u0628\u0627\u06cc\u062a \u063a\u06cc\u0631 \u062e\u0637\u06cc<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><em>\u0645\u0628\u0646\u0627\u06cc \u0631\u06cc\u0627\u0636\u06cc:<\/em><\/p>\n<ul>\n<li>\u0647\u0631 \u0628\u0627\u06cc\u062a \u0627\u0632 \u062d\u0627\u0644\u062a \u0645\u0637\u0627\u0628\u0642 \u062c\u062f\u0648\u0644 S-Box \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u06cc \u0634\u0648\u062f.<\/li>\n<li>\u062c\u0639\u0628\u0647 S \u062f\u0631 2 \u0645\u0631\u062d\u0644\u0647 \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f:\n<ol>\n<li>\u06cc\u0627\u0641\u062a\u0646 \u0639\u0646\u0635\u0631 \u0645\u0639\u06a9\u0648\u0633 \u062f\u0631 \u0642\u0633\u0645\u062a Galois <em>GF<\/em>(2<sup>8<\/sup>).<\/li>\n<\/ol>\n<\/li>\n<li>\u062a\u062d\u0648\u0644 Affine (\u0636\u0631\u0628 \u0645\u0627\u062a\u0631\u06cc\u0633 + XOR \u0628\u0627 \u062b\u0627\u0628\u062a).<\/li>\n<\/ul>\n<p><em>\u0641\u0631\u0645\u0648\u0644 S-Box:<\/em><\/p>\n<p><em>S (x) = m \u22c5 x<sup>-1<\/sup> + c<\/em><\/p>\n<p><em>\u06a9\u062c\u0627:<\/em><\/p>\n<ul>\n<li>x \u0628\u0627\u06cc\u062a \u0648\u0631\u0648\u062f\u06cc (8 \u0628\u06cc\u062a) \u0627\u0633\u062a<\/li>\n<li>X\u207b1 \u0639\u0646\u0635\u0631 \u0645\u0639\u06a9\u0648\u0633 \u062f\u0631 Galois Field GF (2\u2078) \u0627\u0633\u062a<\/li>\n<li>M \u06cc\u06a9 \u0645\u0627\u062a\u0631\u06cc\u0633 \u062a\u062d\u0648\u0644 Affine (8 8 8 \u0628\u06cc\u062a) \u0627\u0633\u062a<\/li>\n<li>C \u062b\u0627\u0628\u062a 0x63 (01100011 \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u0627\u06cc\u0646\u0631\u06cc) \u0627\u0633\u062a<\/li>\n<li>+ \u0639\u0645\u0644 XOR \u0627\u0633\u062a (\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646 \u062f\u0631 GF (2))<\/li>\n<li>\u00b7 &#8211; \u0636\u0631\u0628 \u0645\u0627\u062a\u0631\u06cc\u0633 (\u0636\u0631\u0628 \u0631\u0634\u062a\u0647 \u0647\u0627\u06cc \u0628\u06cc\u062a)<\/li>\n<li>\u062f\u0631 <strong>\u0686\u0646\u062f \u0628\u0631\u0627\u0628\u0631<\/strong> \u0639\u0646\u0635\u0631 \u0645\u0639\u06a9\u0648\u0633 \u0628\u0627\u06cc\u062a X \u062f\u0631 \u0642\u0633\u0645\u062a \u0645\u062d\u062f\u0648\u062f Galois Field GF (28) \u060c \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0636\u0631\u0628 \u0648 \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f \u06cc\u06a9 \u0686\u0646\u062f \u062c\u0645\u0644\u0647 \u0627\u06cc \u063a\u06cc\u0631\u0642\u0627\u0628\u0644 \u0628\u0631\u06af\u0634\u062a. &#8220;<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"2_Shiftrows_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1_%D8%B1%D8%AF%DB%8C%D9%81_%DA%86%D8%B1%D8%AE%D9%87_%D8%A7%DB%8C\"><\/span>\n<p>  2. Shiftrows: \u062a\u063a\u06cc\u06cc\u0631 \u0631\u062f\u06cc\u0641 \u0686\u0631\u062e\u0647 \u0627\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>\u0631\u062f\u06cc\u0641 \u0647\u0627\u06cc \u0645\u0627\u062a\u0631\u06cc\u0633 \u062d\u0627\u0644\u062a \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0628\u0627 0 \u060c 1 \u060c 2 \u060c 3 \u0628\u0627\u06cc\u062a \u0628\u0647 \u0633\u0645\u062a \u0686\u067e \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u0634\u0648\u0646\u062f.<\/strong><\/p>\n<p><strong><em>\u0647\u062f\u0641 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062a \u0628\u06cc\u0646 \u0633\u062a\u0648\u0646 \u0647\u0627 \u0628\u0631\u0627\u06cc \u062a\u0642\u0648\u06cc\u062a \u0627\u0646\u062a\u0634\u0627\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/em><\/strong><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D8%AC%D8%B3%D9%85\"><\/span>\n<p>  \u062a\u062c\u0633\u0645:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u0642\u0628\u0644 \u0627\u0632 shiftrows:<\/strong><br \/>| A00 A01 A02 A03 |<br \/>| A10 A11 A12 A13 |<br \/>| A20 A21 A22 A23 |<br \/>| A30 A31 A32 A33 |<\/p>\n<p><strong>\u0628\u0639\u062f \u0627\u0632 shiftrows:<\/strong><br \/>| A00 A01 A02 A03 | \/\/ \u062e\u0637 0: \u0628\u062f\u0648\u0646 \u062a\u063a\u06cc\u06cc\u0631<br \/>| A11 A12 A13 A10 | \/\/ \u062e\u0637 1: \u062a\u063a\u06cc\u06cc\u0631 \u062a\u0648\u0633\u0637 1<br \/>| A22 A23 A20 A21 | \/\/ \u062e\u0637 2: \u062a\u063a\u06cc\u06cc\u0631 \u062a\u0648\u0633\u0637 2<br \/>| A33 A30 A31 A32 | \/\/ \u062e\u0637 3: \u062a\u063a\u06cc\u06cc\u0631 \u062a\u0648\u0633\u0637 3<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight c\"><code><span class=\"cp\">#include<\/span> <span class=\"cpf\"><stdint.h\/><\/span><span class=\"c1\"> \/\/ Include the header file for uint8_t (unsigned 8-bit integer type)<\/span><span class=\"cp\">\n<\/span>\n<span class=\"c1\">\/\/ Function: sub_bytes<\/span>\n<span class=\"c1\">\/\/ Performs the SubBytes transformation in AES by substituting each byte in the state matrix<\/span>\n<span class=\"c1\">\/\/ with the corresponding byte from the S-box.<\/span>\n<span class=\"kt\">void<\/span> <span class=\"nf\">sub_bytes<\/span><span class=\"p\">(<\/span><span class=\"kt\">uint8_t<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">][<\/span><span class=\"mi\">4<\/span><span class=\"p\">])<\/span> <span class=\"c1\">\/\/ The state is a 4x4 matrix of bytes (uint8_t)<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kt\">int<\/span> <span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"n\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">4<\/span><span class=\"p\">;<\/span> <span class=\"n\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"c1\">\/\/ Iterate through the rows of the state matrix<\/span>\n    <span class=\"p\">{<\/span>\n        <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kt\">int<\/span> <span class=\"n\">j<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"n\">j<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">4<\/span><span class=\"p\">;<\/span> <span class=\"n\">j<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"c1\">\/\/ Iterate through the columns of the state matrix<\/span>\n        <span class=\"p\">{<\/span>\n            <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"n\">i<\/span><span class=\"p\">][<\/span><span class=\"n\">j<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">sbox<\/span><span class=\"p\">[<\/span><span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"n\">i<\/span><span class=\"p\">][<\/span><span class=\"n\">j<\/span><span class=\"p\">]<\/span> <span class=\"o\">&gt;&gt;<\/span> <span class=\"mi\">4<\/span><span class=\"p\">][<\/span><span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"n\">i<\/span><span class=\"p\">][<\/span><span class=\"n\">j<\/span><span class=\"p\">]<\/span> <span class=\"o\">&amp;<\/span> <span class=\"mh\">0x0F<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Substitute the byte at state[i][j] with the value from the sbox<\/span>\n            <span class=\"c1\">\/\/ Explanation of sbox indexing:<\/span>\n            <span class=\"c1\">\/\/ state[i][j] &gt;&gt; 4:  Gets the upper nibble (4 bits) of the byte at state[i][j].  This is used as the row index for sbox.<\/span>\n            <span class=\"c1\">\/\/ state[i][j] &amp; 0x0F: Gets the lower nibble (4 bits) of the byte at state[i][j]. This is used as the column index for sbox.<\/span>\n            <span class=\"c1\">\/\/ The value in the sbox at the row and column determined by these nibbles is then used to replace the original value in state.<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"c1\">\/\/ Function: swap<\/span>\n<span class=\"c1\">\/\/ Swaps the values of two uint8_t variables using pointers.<\/span>\n<span class=\"kt\">void<\/span> <span class=\"nf\">swap<\/span><span class=\"p\">(<\/span><span class=\"kt\">uint8_t<\/span> <span class=\"o\">*<\/span><span class=\"n\">a<\/span><span class=\"p\">,<\/span> <span class=\"kt\">uint8_t<\/span> <span class=\"o\">*<\/span><span class=\"n\">b<\/span><span class=\"p\">)<\/span> <span class=\"c1\">\/\/ Takes two pointers to uint8_t as input<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"kt\">uint8_t<\/span> <span class=\"n\">temp<\/span> <span class=\"o\">=<\/span> <span class=\"o\">*<\/span><span class=\"n\">a<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ Store the value pointed to by 'a' in a temporary variable 'temp'<\/span>\n    <span class=\"o\">*<\/span><span class=\"n\">a<\/span> <span class=\"o\">=<\/span> <span class=\"o\">*<\/span><span class=\"n\">b<\/span><span class=\"p\">;<\/span>           <span class=\"c1\">\/\/ Assign the value pointed to by 'b' to the memory location pointed to by 'a'<\/span>\n    <span class=\"o\">*<\/span><span class=\"n\">b<\/span> <span class=\"o\">=<\/span> <span class=\"n\">temp<\/span><span class=\"p\">;<\/span>          <span class=\"c1\">\/\/ Assign the value in 'temp' (the original value of 'a') to the memory location pointed to by 'b'<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"c1\">\/\/ Function: shift_rows<\/span>\n<span class=\"c1\">\/\/ Performs the ShiftRows transformation in AES by cyclically shifting the rows of the state matrix.<\/span>\n<span class=\"kt\">void<\/span> <span class=\"nf\">shift_rows<\/span><span class=\"p\">(<\/span><span class=\"kt\">uint8_t<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">4<\/span><span class=\"p\">][<\/span><span class=\"mi\">4<\/span><span class=\"p\">])<\/span> <span class=\"c1\">\/\/ The state is a 4x4 matrix of bytes (uint8_t)<\/span>\n<span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Row 1: cyclic shift by 1 byte to the left<\/span>\n    <span class=\"kt\">uint8_t<\/span> <span class=\"n\">tmp<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Store the first element of the second row in a temporary variable<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">1<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Shift the second element to the first position<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">2<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Shift the third element to the second position<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">3<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Shift the fourth element to the third position<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">][<\/span><span class=\"mi\">3<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">tmp<\/span><span class=\"p\">;<\/span>         <span class=\"c1\">\/\/ Assign the temporary variable (original first element) to the fourth position<\/span>\n\n    <span class=\"c1\">\/\/ Row 2: cyclic shift by 2 bytes to the left (implemented with swap)<\/span>\n    <span class=\"n\">swap<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">],<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">][<\/span><span class=\"mi\">2<\/span><span class=\"p\">]);<\/span> <span class=\"c1\">\/\/ Swap the first and third elements of the third row<\/span>\n    <span class=\"n\">swap<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">][<\/span><span class=\"mi\">1<\/span><span class=\"p\">],<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">][<\/span><span class=\"mi\">3<\/span><span class=\"p\">]);<\/span> <span class=\"c1\">\/\/ Swap the second and fourth elements of the third row<\/span>\n\n    <span class=\"c1\">\/\/ Row 3: cyclic shift by 3 bytes to the left (equivalent to shifting 1 byte to the right)<\/span>\n    <span class=\"n\">tmp<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">3<\/span><span class=\"p\">];<\/span>         <span class=\"c1\">\/\/ Store the last element of the fourth row in a temporary variable<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">3<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">2<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Shift the third element to the fourth position<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">1<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Shift the second element to the third position<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">];<\/span> <span class=\"c1\">\/\/ Shift the first element to the second position<\/span>\n    <span class=\"n\">state<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">tmp<\/span><span class=\"p\">;<\/span>         <span class=\"c1\">\/\/ Assign the temporary variable (original last element) to the first position<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"3_%D8%A2%D8%B3%DB%8C%D8%A8_%D9%BE%D8%B0%DB%8C%D8%B1%DB%8C_%D9%87%D8%A7%DB%8C_AES\"><\/span>\n<p>  3. \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627\u06cc AES<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06af\u0631\u0686\u0647 AES (\u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647) \u06cc\u06a9\u06cc \u0627\u0632 \u0642\u0627\u0628\u0644 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062a\u0631\u06cc\u0646 \u0648 \u0628\u0647 \u0637\u0648\u0631 \u06af\u0633\u062a\u0631\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0627\u0633\u062a \u060c \u0627\u0645\u0627 \u06a9\u0627\u0645\u0644\u0627\u064b \u063a\u06cc\u0631\u0642\u0627\u0628\u0644 \u0646\u0641\u0648\u0630 \u0646\u06cc\u0633\u062a. \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u062d\u0645\u0644\u0627\u062a \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc AE \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f \u060c \u0627\u06af\u0631\u0686\u0647 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0647\u0633\u062a\u0646\u062f \u0648 \u0628\u0647 \u0645\u0646\u0627\u0628\u0639 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u06cc\u0627 \u0634\u0631\u0627\u06cc\u0637 \u062e\u0627\u0635 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f. \u062f\u0631\u06a9 \u0627\u06cc\u0646 \u0646\u06a9\u062a\u0647 \u062d\u0627\u0626\u0632 \u0627\u0647\u0645\u06cc\u062a \u0627\u0633\u062a \u06a9\u0647 \u0628\u06cc\u0634\u062a\u0631 \u062d\u0645\u0644\u0627\u062a \u0645\u0648\u0641\u0642 \u0628\u0647 AES \u0627\u0632 \u0646\u0642\u0635 \u0647\u0627\u06cc \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0628\u0644\u06a9\u0647 \u0646\u0642\u0627\u0637 \u0636\u0639\u0641 \u062f\u0631 \u0627\u062c\u0631\u0627\u06cc \u0622\u0646 \u06cc\u0627 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AES \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0631\u0648\u0631\u06cc \u0628\u0631 \u0627\u0646\u0648\u0627\u0639 \u0627\u0635\u0644\u06cc \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627 \u0648 \u062d\u0645\u0644\u0627\u062a \u0628\u0647 AES \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<p><strong>1. \u062d\u0645\u0644\u0627\u062a \u06a9\u0627\u0646\u0627\u0644 \u062c\u0627\u0646\u0628\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u062d\u0645\u0644\u0627\u062a \u0632\u0645\u0627\u0646 \u0628\u0646\u062f\u06cc:<\/strong> \u0627\u06cc\u0646 \u062d\u0645\u0644\u0627\u062a \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0632\u0645\u0627\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u0622\u0634\u06a9\u0627\u0631 \u06a9\u0631\u062f\u0646 \u06a9\u0644\u06cc\u062f \u0645\u062e\u0641\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0639\u0645\u0644\u06cc\u0627\u062a \u0645\u062e\u062a\u0644\u0641 \u062f\u0631 AE \u0628\u0633\u062a\u0647 \u0628\u0647 \u06a9\u0644\u06cc\u062f \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0632\u0645\u0627\u0646 \u0645\u062a\u0641\u0627\u0648\u062a\u06cc \u0631\u0627 \u0628\u0647 \u062e\u0648\u062f \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u062f \u0648 \u0627\u06cc\u0646 \u062a\u0641\u0627\u0648\u062a \u0647\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0646\u062f\u0627\u0632\u0647 \u06af\u06cc\u0631\u06cc \u06a9\u0631\u062f.<\/li>\n<li>\n<strong>\u062d\u0645\u0644\u0627\u062a \u0645\u0635\u0631\u0641 \u0627\u0646\u0631\u0698\u06cc (\u062d\u0645\u0644\u0627\u062a \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0642\u062f\u0631\u062a):<\/strong> \u0627\u06cc\u0646 \u062d\u0645\u0644\u0627\u062a \u060c \u0645\u0635\u0631\u0641 \u0628\u0631\u0642 \u062f\u0633\u062a\u06af\u0627\u0647 \u0631\u0627 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f. \u062a\u0641\u0627\u0648\u062a \u062f\u0631 \u0645\u0635\u0631\u0641 \u0628\u0631\u0642 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06a9\u0644\u06cc\u062f \u0645\u062e\u0641\u06cc \u0628\u0627\u0634\u062f. \u062d\u0645\u0644\u0627\u062a \u0645\u0635\u0631\u0641 \u0627\u0646\u0631\u0698\u06cc \u0633\u0627\u062f\u0647 (SPA) \u0648 \u062d\u0645\u0644\u0627\u062a \u0645\u0635\u0631\u0641 \u0627\u0646\u0631\u0698\u06cc \u062f\u06cc\u0641\u0631\u0627\u0646\u0633\u06cc\u0644 (DPA) \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631 \u0648 \u0645\u0624\u062b\u0631\u062a\u0631 \u0647\u0633\u062a\u0646\u062f.<\/li>\n<li>\n<strong>\u062d\u0645\u0644\u0627\u062a \u062a\u0627\u0628\u0634 \u0627\u0644\u06a9\u062a\u0631\u0648\u0645\u063a\u0646\u0627\u0637\u06cc\u0633\u06cc (\u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0627\u0644\u06a9\u062a\u0631\u0648\u0645\u063a\u0646\u0627\u0637\u06cc\u0633\u06cc &#8211; EMA):<\/strong> \u0645\u0634\u0627\u0628\u0647 \u062d\u0645\u0644\u0627\u062a \u0628\u0647 \u0645\u0635\u0631\u0641 \u0627\u0646\u0631\u0698\u06cc \u060c \u0627\u0645\u0627 \u0622\u0646\u0647\u0627 \u062a\u0627\u0628\u0634 \u0627\u0644\u06a9\u062a\u0631\u0648\u0645\u063a\u0646\u0627\u0637\u06cc\u0633\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u0631\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/li>\n<li>\n<strong>\u062d\u0645\u0644\u0627\u062a \u062a\u0632\u0631\u06cc\u0642 \u062e\u0637\u0627:<\/strong> \u0627\u06cc\u0646 \u062d\u0645\u0644\u0627\u062a \u0639\u0645\u062f\u0627\u064b \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0648\u0644\u062a\u0627\u0698 \u062a\u0623\u0645\u06cc\u0646 \u06cc\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0644\u06cc\u0632\u0631) \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u0646\u062f \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0628\u0627 \u062e\u0637\u0627\u0647\u0627 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u0646\u062f \u062a\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06a9\u0644\u06cc\u062f \u0631\u0627 \u0628\u062f\u0633\u062a \u0622\u0648\u0631\u0646\u062f.<\/li>\n<li>\n<strong>\u062d\u0645\u0644\u0627\u062a \u0635\u0648\u062a\u06cc:<\/strong> \u062f\u0631 \u0645\u0648\u0627\u0631\u062f \u0646\u0627\u062f\u0631 \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u06a9\u0644\u06cc\u062f \u0631\u0627 \u0627\u0632 \u0635\u062f\u0627\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0646\u06af\u0627\u0645 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<p><strong>\u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0645\u062a\u0642\u0627\u0628\u0644 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06a9\u0627\u0646\u0627\u0644 \u0647\u0627\u06cc \u0634\u062e\u0635 \u062b\u0627\u0644\u062b:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u0646\u0642\u0627\u0628 \u0632\u062f\u0646:<\/strong> \u062a\u0642\u0633\u06cc\u0645 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u062e\u0641\u06cc \u0628\u0647 \u0642\u0633\u0645\u062a \u0647\u0627\u06cc \u062a\u0635\u0627\u062f\u0641\u06cc \u0628\u0631\u0627\u06cc \u067e\u0646\u0647\u0627\u0646 \u06a9\u0631\u062f\u0646 \u0631\u0627\u0628\u0637\u0647 \u0628\u06cc\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0648 \u0645\u0635\u0631\u0641 \u0628\u0631\u0642 \u06cc\u0627 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc.<\/li>\n<li>\n<strong>\u0645\u062e\u0641\u06cc \u06a9\u0631\u062f\u0646:<\/strong> \u062a\u0633\u0627\u0648\u06cc \u0645\u0635\u0631\u0641 \u0628\u0631\u0642 \u06cc\u0627 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u06a9\u0644\u06cc\u0647 \u0639\u0645\u0644\u06cc\u0627\u062a \u0628\u0631\u0627\u06cc \u062f\u0634\u0648\u0627\u0631\u062a\u0631 \u0634\u062f\u0646 \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644.<\/li>\n<li>\n<strong>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0645\u062a\u0642\u0627\u0628\u0644 \u062e\u0627\u0635 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645:<\/strong> \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062c\u062f\u0627\u0648\u0644 \u062c\u0633\u062a\u062c\u0648\u06cc \u0645\u0642\u0627\u0648\u0645 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0632\u0645\u0627\u0646.<\/li>\n<\/ul>\n<p><strong>2. \u062d\u0645\u0644\u0627\u062a \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u062d\u0645\u0644\u0647 \u0628\u06cc \u0631\u062d\u0645\u0627\u0646\u0647:<\/strong> \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062a\u0645\u0627\u0645 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0645\u0645\u06a9\u0646 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0635\u062d\u06cc\u062d \u067e\u06cc\u062f\u0627 \u0634\u0648\u062f \u060c \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f. \u0627\u062b\u0631\u0628\u062e\u0634\u06cc \u062d\u0645\u0644\u0647 \u0628\u06cc \u0631\u062d\u0645\u0627\u0646\u0647 \u0628\u0647 \u0637\u0648\u0644 \u06a9\u0644\u06cc\u062f\u06cc \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. AES \u0628\u0627 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc 128 \u060c 192 \u0648 256 \u0628\u06cc\u062a\u06cc \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0628\u06cc \u0631\u062d\u0645\u0627\u0646\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u062f\u0631\u062a \u0645\u062d\u0627\u0633\u0628\u0627\u062a\u06cc \u0645\u062f\u0631\u0646 \u0645\u0642\u0627\u0648\u0645 \u0627\u0633\u062a.<\/li>\n<li>\n<strong>\u062d\u0645\u0644\u0647 \u062f\u0631 \u0645\u06cc\u0627\u0646\u0647:<\/strong> \u0627\u06cc\u0646 \u062d\u0645\u0644\u0647 \u0628\u0631\u0627\u06cc \u0637\u0631\u062d \u0647\u0627\u06cc \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u06a9\u0647 \u0627\u0632 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f \u060c \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f. \u0627\u0648 \u062f\u0631 \u062a\u0644\u0627\u0634 \u0627\u0633\u062a \u062a\u0627 \u06cc\u06a9 \u06a9\u0644\u06cc\u062f \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u062f \u06a9\u0647 \u0647\u0645 \u0628\u0627 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0648 \u0647\u0645 \u0631\u0645\u0632\u06af\u0634\u0627\u06cc\u06cc \u0645\u0637\u0627\u0628\u0642\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u060c &#8220;\u062c\u0644\u0633\u0647 \u062f\u0631 \u0648\u0633\u0637&#8221;.<\/li>\n<li>  <strong>\u062d\u0645\u0644\u0627\u062a \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u06a9\u0644\u06cc\u062f:<\/strong> \u0627\u06cc\u0646 \u062d\u0645\u0644\u0627\u062a \u0627\u0632 \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627 \u062f\u0631 \u0637\u0631\u062d \u0647\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0644\u06cc\u062f\u06cc \u0628\u0647\u0631\u0647 \u0628\u0631\u062f\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0627\u06af\u0631 \u06cc\u06a9 \u0645\u0647\u0627\u062c\u0645 \u0628\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0644\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0647\u0645 \u0648\u0635\u0644 \u0634\u062f\u0647 \u0627\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u062d\u0627\u0635\u0644 \u0627\u0632 \u06cc\u06a9 \u06a9\u0644\u06cc\u062f \u0627\u0635\u0644\u06cc) \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0644\u06cc\u062f \u0645\u062e\u0641\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/li>\n<\/ul>\n<p><strong>3. \u062d\u0645\u0644\u0627\u062a \u0631\u06cc\u0627\u0636\u06cc (\u062d\u0645\u0644\u0627\u062a \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc):<\/strong><\/p>\n<ul>\n<li>  <strong>\u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u062e\u0637\u06cc:<\/strong> \u062a\u0644\u0627\u0634 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u062a\u0642\u0631\u06cc\u0628\u06cc \u062e\u0637\u06cc (\u062a\u0642\u0631\u06cc\u0628\u06cc) \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646\u0647\u0627 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0644\u06cc\u062f.<\/li>\n<li>  <strong>\u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u062f\u06cc\u0641\u0631\u0627\u0646\u0633\u06cc\u0644:<\/strong> \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u0686\u06af\u0648\u0646\u06af\u06cc \u062a\u0641\u0627\u0648\u062a \u062f\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0628\u0631 \u062a\u0641\u0627\u0648\u062a \u062f\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0631\u0648\u062c\u06cc \u062a\u0623\u062b\u06cc\u0631 \u0645\u06cc \u06af\u0630\u0627\u0631\u062f. \u062a\u0644\u0627\u0634\u06cc \u0628\u0631\u0627\u06cc \u06cc\u0627\u0641\u062a\u0646 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0644\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/li>\n<li>  <strong>\u062d\u0645\u0644\u0627\u062a \u062c\u0628\u0631\u06cc:<\/strong> \u0628\u0627\u0632\u0646\u0645\u0627\u06cc\u06cc \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0628\u0647 \u0634\u06a9\u0644 \u0633\u06cc\u0633\u062a\u0645 \u0645\u0639\u0627\u062f\u0644\u0627\u062a \u062c\u0628\u0631\u06cc \u0648 \u062a\u0644\u0627\u0634 \u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0633\u06cc\u0633\u062a\u0645 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u06a9\u0644\u06cc\u062f.<\/li>\n<\/ul>\n<p><strong>\u062a\u0648\u062c\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0646\u06a9\u062a\u0647 \u0645\u0647\u0645 \u0627\u0633\u062a:<\/strong><\/p>\n<ul>\n<li>\n<strong>AES \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0631\u06cc\u0627\u0636\u06cc \u0645\u0642\u0627\u0648\u0645 \u0627\u0633\u062a:<\/strong> \u062a\u0627 \u0628\u0647 \u0627\u0645\u0631\u0648\u0632 \u060c \u0647\u06cc\u0686 \u062d\u0645\u0644\u0627\u062a \u0631\u06cc\u0627\u0636\u06cc \u0639\u0645\u0644\u06cc \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u06cc \u0628\u0647 AE \u0647\u0627 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u0624\u062b\u0631\u062a\u0631 \u0627\u0632 \u0646\u06cc\u0631\u0648\u06cc \u0628\u06cc \u0631\u062d\u0645\u0627\u0646\u0647 \u0628\u0627\u0634\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u060c \u062a\u062d\u0642\u06cc\u0642\u0627\u062a \u062f\u0631 \u0627\u06cc\u0646 \u0632\u0645\u06cc\u0646\u0647 \u0627\u062f\u0627\u0645\u0647 \u062f\u0627\u0631\u062f.<\/li>\n<li>\n<strong>\u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0627\u062c\u0631\u0627\u06cc:<\/strong> \u0627\u062c\u0631\u0627\u06cc AE \u062f\u0631 \u0639\u0645\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0686\u0627\u0644\u0634 \u0628\u0631\u0627\u0646\u06af\u06cc\u0632 \u0628\u0627\u0634\u062f \u0648 \u062e\u0637\u0627\u0647\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0622\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0645\u0646\u062c\u0631 \u0628\u0647 \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0634\u0648\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0627\u062f\u0631\u0633\u062a \u0627\u0632 \u062d\u0627\u0644\u062a \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u060c \u062a\u0648\u0644\u06cc\u062f \u062a\u0639\u062f\u0627\u062f \u062a\u0635\u0627\u062f\u0641\u06cc \u0636\u0639\u06cc\u0641 \u0628\u0631\u0627\u06cc IV (\u0628\u0631\u062f\u0627\u0631 \u0627\u0648\u0644\u06cc\u0647 \u0633\u0627\u0632\u06cc) \u06cc\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0644\u06cc\u062f \u0646\u0627\u0627\u0645\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0645\u0634\u06a9\u0644\u0627\u062a \u062c\u062f\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u062d\u0645\u0644\u0647 \u0628\u0647 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AES:<\/strong> \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u0647\u0627 \u0627\u063a\u0644\u0628 \u062f\u0631 \u062e\u0648\u062f AES \u060c \u0628\u0644\u06a9\u0647 \u062f\u0631 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f \u06cc\u0627\u0641\u062a \u0645\u06cc \u0634\u0648\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631\u06cc \u062f\u0631 \u067e\u0631\u0648\u062a\u06a9\u0644 TLS (\u0627\u0645\u0646\u06cc\u062a \u0644\u0627\u06cc\u0647 \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644) \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u06cc\u06a9 \u0645\u0647\u0627\u062c\u0645 \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u062f \u062a\u0627 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc AES \u0631\u0627 \u062f\u0648\u0631 \u0628\u0632\u0646\u062f.<\/li>\n<\/ul>\n<p><strong>\u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc:<\/strong><\/p>\n<p>\u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u062d\u0645\u0644\u0627\u062a \u0645\u0648\u0641\u0642 \u0628\u0647 AE \u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u062e \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<ul>\n<li>\n<strong>\u0633\u06cc\u0633\u062a\u0645 \u0647\u0627 \u0648 \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647 \u0634\u062f\u0647 \u0628\u0627 \u0645\u0646\u0627\u0628\u0639 \u0645\u062d\u062f\u0648\u062f:<\/strong> \u0627\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0642\u0627\u0628\u0644\u06cc\u062a \u0647\u0627\u06cc \u062d\u0641\u0627\u0638\u062a \u0645\u062d\u062f\u0648\u062f \u060c \u0627\u063a\u0644\u0628 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a \u0634\u062e\u0635 \u062b\u0627\u0644\u062b \u0622\u0633\u06cc\u0628 \u067e\u0630\u06cc\u0631 \u0647\u0633\u062a\u0646\u062f.<\/li>\n<li>\n<strong>\u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0647\u0627\u06cc \u0646\u0627\u062f\u0631\u0633\u062a:<\/strong> \u062e\u0637\u0627\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u06cc\u0627 \u0627\u062c\u0631\u0627\u06cc \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631 AE \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u0645\u0644\u0627\u062a \u0645\u062e\u062a\u0644\u0641 \u0628\u0627\u0632 \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u062f\u0631 \u06cc\u06a9 \u0645\u06a9\u0627\u0646 \u0646\u0627\u0627\u0645\u0646:<\/strong> \u0627\u06af\u0631 \u06cc\u06a9 \u0645\u0647\u0627\u062c\u0645 \u0628\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u06a9\u0644\u06cc\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0627\u06af\u0631 \u062f\u0631 \u062d\u0627\u0641\u0638\u0647 \u06cc\u0627 \u062f\u06cc\u0633\u06a9 \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u062f\u0648\u0646 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f) \u060c \u067e\u0633 AES \u0628\u06cc \u0641\u0627\u06cc\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/li>\n<\/ul>\n<p><strong>\u062e\u0631\u0648\u062c\u06cc:<\/strong><\/p>\n<p>AES \u06cc\u06a9 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0642\u0648\u06cc \u0627\u0633\u062a \u060c \u0627\u0645\u0627 \u0627\u0645\u0646\u06cc\u062a \u0622\u0646 \u0628\u0647 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<p>(\u0645\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0641\u0635\u0644 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0631\u0648\u0634 \u0647\u0627 \u0631\u0627 \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u0627\u0632 \u062d\u0645\u0644\u0627\u062a \u062a\u062c\u0632\u06cc\u0647 \u0648 \u062a\u062d\u0644\u06cc\u0644 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f)<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>1 \u0642\u0633\u0645\u062a-https:\/\/dev.to\/dima853\/create-aes-on-cjava-forward-s-box-first-part-4lef 1. Subbytes: \u062a\u0639\u0648\u06cc\u0636 \u0628\u0627\u06cc\u062a \u063a\u06cc\u0631 \u062e\u0637\u06cc \u0645\u0628\u0646\u0627\u06cc \u0631\u06cc\u0627\u0636\u06cc: \u0647\u0631 \u0628\u0627\u06cc\u062a \u0627\u0632 \u062d\u0627\u0644\u062a \u0645\u0637\u0627\u0628\u0642 \u062c\u062f\u0648\u0644 S-Box \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u06cc \u0634\u0648\u062f. \u062c\u0639\u0628\u0647 S \u062f\u0631 2 \u0645\u0631\u062d\u0644\u0647 \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f: \u06cc\u0627\u0641\u062a\u0646 \u0639\u0646\u0635\u0631 \u0645\u0639\u06a9\u0648\u0633 \u062f\u0631 \u0642\u0633\u0645\u062a Galois GF(28). \u062a\u062d\u0648\u0644 Affine (\u0636\u0631\u0628 \u0645\u0627\u062a\u0631\u06cc\u0633 + XOR \u0628\u0627 \u062b\u0627\u0628\u062a). \u0641\u0631\u0645\u0648\u0644 S-Box: S (x) = m \u22c5 x-1 + c \u06a9\u062c\u0627: x &hellip;<\/p>\n","protected":false},"author":2,"featured_media":106361,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/media2.dev.to\/dynamic\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxcbbm4den1l1otkmz1rr.png","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-106360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/106360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=106360"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/106360\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/106361"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=106360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=106360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=106360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}