<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DjVuXML>
<DjVuXML>
<BODY>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0000.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0000.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="228,716,1268,455,716">/Kmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2895,607,3241,537,605">SMART</WORD>
<WORD coords="3281,607,3835,537,606">ARM-Based</WORD>
<WORD coords="3883,607,4625,537,605">Microcontroller</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711679">
<PARAGRAPH>
<LINE>
<WORD coords="1805,869,1987,789,869">ATI</WORD>
<WORD coords="2009,871,2275,791,869">0764:</WORD>
<WORD coords="2317,871,2769,789,870">Software</WORD>
<WORD coords="2811,893,3167,789,869">Library</WORD>
<WORD coords="3199,871,3341,789,869">for</WORD>
<WORD coords="3379,871,3809,789,869">AES-128</WORD>
<WORD coords="3853,893,4403,789,869">Encryption</WORD>
<WORD coords="4443,871,4625,789,870">and</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="4073,1027,4625,923,1004">Decryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="3837,1267,4373,1171,1245">Application</WORD>
<WORD coords="4413,1247,4625,1171,1246">Note</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1681,1529,2251,1453,1528">Introduction</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1677,1757,2041,1693,1756">Advanced</WORD>
<WORD coords="2073,1773,2453,1693,1755">Encryption</WORD>
<WORD coords="2483,1757,2813,1693,1756">Standard</WORD>
<WORD coords="2843,1771,3053,1693,1755">(AES)</WORD>
<WORD coords="3085,1757,3137,1693,1756">is</WORD>
<WORD coords="3165,1757,3207,1709,1757">a</WORD>
<WORD coords="3231,1773,3681,1693,1756">specification</WORD>
<WORD coords="3711,1757,3805,1693,1755">for</WORD>
<WORD coords="3831,1773,4205,1693,1756">encryption</WORD>
<WORD coords="4233,1757,4299,1693,1756">of</WORD>
<WORD coords="4325,1757,4675,1693,1756">electronic</WORD>
</LINE>
<LINE>
<WORD coords="1677,1865,1835,1801,1865">data</WORD>
<WORD coords="1859,1865,2273,1801,1864">established</WORD>
<WORD coords="2303,1881,2385,1801,1865">by</WORD>
<WORD coords="2411,1865,2707,1801,1864">National</WORD>
<WORD coords="2739,1865,3019,1801,1864">Institute</WORD>
<WORD coords="3047,1865,3111,1801,1864">of</WORD>
<WORD coords="3137,1865,3509,1801,1864">Standards</WORD>
<WORD coords="3535,1865,3667,1801,1864">and</WORD>
<WORD coords="3693,1881,4121,1801,1864">Technology</WORD>
<WORD coords="4147,1881,4383,1801,1863">(NIST)</WORD>
<WORD coords="4413,1863,4467,1801,1863">in</WORD>
<WORD coords="4495,1865,4661,1803,1864">2001</WORD>
</LINE>
<LINE>
<WORD coords="1679,1973,1759,1925,1973">as</WORD>
<WORD coords="1807,1973,2077,1909,1972">Federal</WORD>
<WORD coords="2127,1973,2531,1909,1971">Information</WORD>
<WORD coords="2581,1989,2981,1909,1972">Processing</WORD>
<WORD coords="3027,1973,3401,1909,1972">Standards</WORD>
<WORD coords="3449,1989,3677,1909,1971">(FIPS)</WORD>
<WORD coords="3731,1973,3877,1911,1971">197.</WORD>
<WORD coords="3923,1973,4075,1909,1971">This</WORD>
<WORD coords="4121,1973,4173,1909,1972">is</WORD>
<WORD coords="4219,1973,4261,1925,1973">a</WORD>
<WORD coords="4303,1989,4677,1909,1972">symmetric</WORD>
</LINE>
<LINE>
<WORD coords="1679,2081,1867,2017,2080">block</WORD>
<WORD coords="1901,2097,2123,2017,2079">cipher</WORD>
<WORD coords="2157,2097,2491,2017,2079">algorithm</WORD>
<WORD coords="2531,2081,2705,2017,2081">used</WORD>
<WORD coords="2739,2081,2835,2017,2079">for</WORD>
<WORD coords="2865,2081,2977,2017,2080">the</WORD>
<WORD coords="3015,2097,3389,2017,2080">encryption</WORD>
<WORD coords="3429,2081,3559,2017,2080">and</WORD>
<WORD coords="3595,2097,3971,2017,2080">decryption</WORD>
<WORD coords="4009,2081,4075,2017,2080">of</WORD>
<WORD coords="4109,2081,4461,2017,2080">electronic</WORD>
<WORD coords="4495,2081,4671,2017,2081">data.</WORD>
</LINE>
<LINE>
<WORD coords="1677,2189,1829,2125,2187">This</WORD>
<WORD coords="1885,2205,2271,2125,2188">application</WORD>
<WORD coords="2331,2189,2483,2131,2188">note</WORD>
<WORD coords="2539,2205,2837,2125,2187">explains</WORD>
<WORD coords="2889,2189,3001,2125,2187">the</WORD>
<WORD coords="3057,2189,3111,2125,2189">C</WORD>
<WORD coords="3167,2205,3721,2125,2187">implementation</WORD>
<WORD coords="3777,2189,3843,2125,2188">of</WORD>
<WORD coords="3895,2189,4055,2125,2187">AES</WORD>
<WORD coords="4109,2205,4485,2125,2188">encryption</WORD>
<WORD coords="4541,2189,4673,2125,2188">and</WORD>
</LINE>
<LINE>
<WORD coords="1677,2315,2053,2235,2298">decryption</WORD>
<WORD coords="2085,2315,2443,2235,2297">algorithm.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1683,2535,2089,2459,2534">Features</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1677,2765,1815,2701,2763">The</WORD>
<WORD coords="1845,2781,2233,2701,2764">application</WORD>
<WORD coords="2267,2765,2421,2707,2764">note</WORD>
<WORD coords="2451,2765,2689,2717,2764">covers</WORD>
<WORD coords="2717,2765,2829,2701,2764">the</WORD>
<WORD coords="2857,2781,3173,2701,2763">following</WORD>
<WORD coords="3205,2765,3521,2701,2764">features.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1665,2895,1695,2865,2901">•</WORD>
<WORD coords="1777,2923,2147,2843,2906">Compliant</WORD>
<WORD coords="2173,2907,2315,2843,2905">with</WORD>
<WORD coords="2349,2907,2525,2843,2905">FIPS</WORD>
<WORD coords="2559,2907,2953,2843,2906">Publication</WORD>
<WORD coords="2989,2917,3137,2845,2910">197,</WORD>
<WORD coords="3169,2907,3533,2843,2906">Advanced</WORD>
<WORD coords="3567,2923,3947,2843,2905">Encryption</WORD>
<WORD coords="3981,2907,4309,2843,2906">Standard</WORD>
<WORD coords="4343,2921,4553,2843,2905">(AES)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1665,3019,1695,2989,3024">•</WORD>
<WORD coords="1777,3031,1937,2967,3029">AES</WORD>
<WORD coords="1967,3047,2341,2967,3030">encryption</WORD>
<WORD coords="2375,3031,2505,2967,3030">and</WORD>
<WORD coords="2535,3047,2911,2967,3030">decryption</WORD>
<WORD coords="2945,3047,3277,2967,3029">algorithm</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1665,3145,1695,3115,3150">•</WORD>
<WORD coords="1783,3155,1803,3095,3155">1</WORD>
<WORD coords="1823,3157,1909,3095,3157">28</WORD>
<WORD coords="1941,3157,2021,3093,3156">bit</WORD>
<WORD coords="2049,3173,2543,3093,3156">cryptographic</WORD>
<WORD coords="2573,3173,2699,3093,3156">key</WORD>
<WORD coords="2725,3173,3087,3093,3156">supported</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1665,3271,1695,3241,3275">•</WORD>
<WORD coords="1781,3281,1927,3217,3279">Five</WORD>
<WORD coords="1957,3297,2457,3217,3280">confidentiality</WORD>
<WORD coords="2487,3281,2729,3219,3280">modes</WORD>
<WORD coords="2757,3281,2823,3217,3280">of</WORD>
<WORD coords="2851,3297,3189,3217,3280">operation</WORD>
<WORD coords="3221,3281,3285,3219,3280">of</WORD>
<WORD coords="3313,3281,3473,3217,3279">AES</WORD>
<WORD coords="3503,3297,3823,3217,3280">specified</WORD>
<WORD coords="3857,3279,3911,3219,3279">in</WORD>
<WORD coords="3945,3281,4121,3217,3279">FIPS</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1855,3361,1899,3355,3370">-</WORD>
<WORD coords="1967,3381,2307,3321,3380">Electronic</WORD>
<WORD coords="2335,3381,2691,3321,3380">Codebook</WORD>
<WORD coords="2719,3381,2907,3321,3380">mode</WORD>
<WORD coords="2939,3397,3143,3321,3379">(ECB)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1855,3461,1899,3455,3471">-</WORD>
<WORD coords="1965,3497,2193,3421,3479">Cipher</WORD>
<WORD coords="2221,3481,2411,3421,3479">Block</WORD>
<WORD coords="2435,3497,2739,3421,3479">Chaining</WORD>
<WORD coords="2771,3497,3177,3421,3480">mode(CBC)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1855,3561,1899,3555,3571">-</WORD>
<WORD coords="1965,3597,2193,3521,3579">Cipher</WORD>
<WORD coords="2223,3581,2563,3521,3580">Feedback</WORD>
<WORD coords="2589,3581,2779,3521,3580">mode</WORD>
<WORD coords="2809,3597,3011,3521,3579">(CFB)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1855,3661,1899,3655,3671">-</WORD>
<WORD coords="1963,3697,2197,3621,3681">Output</WORD>
<WORD coords="2227,3681,2567,3621,3680">Feedback</WORD>
<WORD coords="2595,3681,2783,3621,3680">mode</WORD>
<WORD coords="2815,3697,3019,3621,3679">(OFB)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1855,3761,1899,3755,3771">-</WORD>
<WORD coords="1965,3781,2241,3721,3780">Counter</WORD>
<WORD coords="2269,3781,2459,3721,3780">mode</WORD>
<WORD coords="2489,3797,2693,3721,3779">(CTR)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1665,3895,1695,3865,3901">•</WORD>
<WORD coords="1777,3917,1837,3845,3913">8,</WORD>
<WORD coords="1875,3917,1975,3845,3911">16,</WORD>
<WORD coords="2007,3917,2115,3845,3911">32,</WORD>
<WORD coords="2147,3917,2253,3845,3911">64,</WORD>
<WORD coords="2287,3907,2417,3843,3905">and</WORD>
<WORD coords="2453,3907,2699,3843,3905">128-bit</WORD>
<WORD coords="2725,3907,2883,3843,3907">data</WORD>
<WORD coords="2911,3907,3095,3843,3906">sizes</WORD>
<WORD coords="3125,3923,3423,3843,3906">possible</WORD>
<WORD coords="3453,3905,3509,3843,3905">in</WORD>
<WORD coords="3541,3907,3701,3843,3905">CFB</WORD>
<WORD coords="3733,3907,3933,3843,3906">mode</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="96705" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="176,6459,872,6287,6455">Atmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="96705" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="1049,6459,1817,6315,6455">SMART”</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="162241" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="2269,6331,2665,6294,6330">Atmel-42508A-AT</WORD>
<WORD coords="2671,6330,2683,6295,6331">1</WORD>
<WORD coords="2696,6341,3413,6293,6330">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3426,6341,4638,6294,6330">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4651,6331,4674,6295,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0000.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0001.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0001.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="583,561,843,485,560">Table</WORD>
<WORD coords="879,561,969,485,560">of</WORD>
<WORD coords="1005,561,1435,485,560">Contents</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="887,777,1413,707,776">Introduction</WORD>
<WORD coords="4289,775,4317,709,775">1</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="889,935,1263,865,934">Features</WORD>
<WORD coords="4289,933,4317,867,933">1</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="889,1091,917,1025,1092">1</WORD>
<WORD coords="1071,1111,1459,1021,1092">Glossary</WORD>
<WORD coords="4283,1091,4331,1025,1091">4</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="885,1251,929,1183,1251">2</WORD>
<WORD coords="1073,1253,1483,1183,1252">Hardware</WORD>
<WORD coords="1513,1253,1669,1183,1252">and</WORD>
<WORD coords="1703,1253,2085,1181,1252">Software</WORD>
<WORD coords="2115,1271,2365,1181,1253">Setup</WORD>
<WORD coords="4283,1251,4331,1185,1251">4</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="885,1409,929,1341,1409">3</WORD>
<WORD coords="1071,1409,1253,1339,1407">AES</WORD>
<WORD coords="1285,1427,1709,1339,1407">Algorithm</WORD>
<WORD coords="4285,1409,4329,1341,1409">5</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,1539,1150,1484,1537">3.1</WORD>
<WORD coords="1250,1539,1394,1482,1537">AES</WORD>
<WORD coords="1426,1553,1767,1482,1537">Encryption</WORD>
<WORD coords="4294,1539,4329,1484,1539">5</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,1648,1330,1593,1646">3.1</WORD>
<WORD coords="1354,1646,1393,1593,1646">.1</WORD>
<WORD coords="1508,1647,1635,1591,1646">Add</WORD>
<WORD coords="1647,1648,1856,1592,1647">Round</WORD>
<WORD coords="1867,1662,1988,1591,1647">Key</WORD>
<WORD coords="2012,1648,2509,1591,1646">Transformation</WORD>
<WORD coords="4294,1647,4329,1593,1647">6</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,1756,1330,1701,1754">3.1</WORD>
<WORD coords="1354,1754,1405,1701,1755">.2</WORD>
<WORD coords="1510,1770,1824,1699,1755">SubBytes</WORD>
<WORD coords="1851,1756,2346,1699,1754">Transformation</WORD>
<WORD coords="4294,1754,4330,1701,1754">7</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,1864,1330,1809,1862">3.1</WORD>
<WORD coords="1354,1864,1405,1809,1864">.3</WORD>
<WORD coords="1510,1864,1840,1807,1862">ShiftRows</WORD>
<WORD coords="1867,1864,2363,1807,1862">Transformation</WORD>
<WORD coords="4294,1863,4329,1809,1863">8</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,1973,1406,1918,1971">3.1.4</WORD>
<WORD coords="1512,1973,1916,1916,1971">MixColumns</WORD>
<WORD coords="1941,1973,2438,1916,1971">Transformation</WORD>
<WORD coords="4294,1972,4329,1918,1972">8</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2081,1405,2026,2080">3.1.5</WORD>
<WORD coords="1510,2081,1556,2024,2081">C</WORD>
<WORD coords="1588,2095,2088,2024,2079">Implementation</WORD>
<WORD coords="4294,2080,4329,2026,2080">8</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,2189,1162,2134,2187">3.2</WORD>
<WORD coords="1254,2203,1375,2133,2188">Key</WORD>
<WORD coords="1404,2203,1742,2132,2187">Expansion</WORD>
<WORD coords="4294,2188,4329,2134,2188">9</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2298,1393,2243,2296">3.2.1</WORD>
<WORD coords="1510,2298,1556,2241,2298">C</WORD>
<WORD coords="1586,2312,2084,2241,2296">implementation</WORD>
<WORD coords="4294,2297,4329,2243,2297">9</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,2406,1162,2351,2405">3.3</WORD>
<WORD coords="1250,2406,1394,2349,2404">AES</WORD>
<WORD coords="1426,2420,1771,2349,2405">Decryption</WORD>
<WORD coords="4294,2405,4329,2351,2405">9</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2514,1393,2459,2512">3.3.1</WORD>
<WORD coords="1514,2514,1749,2457,2512">Inverse</WORD>
<WORD coords="1776,2513,1834,2457,2512">of</WORD>
<WORD coords="1859,2528,2337,2457,2512">AddRoundKey</WORD>
<WORD coords="4258,2513,4330,2459,2512">10</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2623,1405,2568,2621">3.3.2</WORD>
<WORD coords="1514,2623,1749,2566,2621">Inverse</WORD>
<WORD coords="1777,2637,2090,2566,2622">SubBytes</WORD>
<WORD coords="2117,2623,2613,2566,2621">Transformation</WORD>
<WORD coords="4258,2622,4330,2568,2621">10</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2731,1405,2676,2730">3.3.3</WORD>
<WORD coords="1514,2731,1749,2674,2729">Inverse</WORD>
<WORD coords="1777,2731,2106,2674,2729">ShiftRows</WORD>
<WORD coords="2133,2731,2630,2674,2729">Transformation</WORD>
<WORD coords="4258,2729,4318,2676,2729">11</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2839,1406,2784,2837">3.3.4</WORD>
<WORD coords="1514,2839,1749,2782,2837">Inverse</WORD>
<WORD coords="1779,2839,2181,2782,2837">MixColumns</WORD>
<WORD coords="2208,2839,2705,2782,2837">Transformation</WORD>
<WORD coords="4258,2837,4276,2784,2837">1</WORD>
<WORD coords="4300,2837,4318,2784,0">1</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1245,2948,1405,2893,2947">3.3.5</WORD>
<WORD coords="1510,2948,1556,2891,2948">C</WORD>
<WORD coords="1589,2962,2088,2891,2946">Implementation</WORD>
<WORD coords="4258,2946,4330,2893,2946">12</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="883,3101,931,3035,3101">4</WORD>
<WORD coords="1075,3103,1317,3033,3101">Block</WORD>
<WORD coords="1347,3121,1633,3031,3101">Cipher</WORD>
<WORD coords="1665,3103,1947,3033,3102">Modes</WORD>
<WORD coords="1977,3103,2059,3033,3102">of</WORD>
<WORD coords="2089,3121,2515,3031,3102">Operation</WORD>
<WORD coords="4237,3101,4329,3033,3101">12</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1064,3229,1150,3176,3229">4.1</WORD>
<WORD coords="1255,3231,1574,3174,3229">Electronic</WORD>
<WORD coords="1602,3231,1939,3174,3230">Codebook</WORD>
<WORD coords="1967,3231,2144,3174,3230">Mode</WORD>
<WORD coords="4258,3229,4276,3176,3229">1</WORD>
<WORD coords="4295,3229,4330,3176,0">2</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,3337,1330,3284,3337">4.1</WORD>
<WORD coords="1354,3337,1405,3284,3338">.2</WORD>
<WORD coords="1510,3339,1556,3282,3339">C</WORD>
<WORD coords="1588,3353,2088,3282,3337">Implementation</WORD>
<WORD coords="2117,3339,2175,3282,3338">of</WORD>
<WORD coords="2205,3339,2348,3282,3337">ECB</WORD>
<WORD coords="2378,3339,2556,3282,3338">mode</WORD>
<WORD coords="4258,3337,4276,3284,3338">1</WORD>
<WORD coords="4295,3339,4330,3284,0">3</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1064,3446,1162,3393,3446">4.2</WORD>
<WORD coords="1250,3448,1373,3391,3446">The</WORD>
<WORD coords="1401,3462,1618,3391,3446">Cipher</WORD>
<WORD coords="1646,3448,1822,3391,3446">Block</WORD>
<WORD coords="1848,3462,2135,3391,3446">Chaining</WORD>
<WORD coords="2167,3448,2344,3391,3447">Mode</WORD>
<WORD coords="2374,3462,2571,3391,3447">(CBC)</WORD>
<WORD coords="4258,3446,4276,3393,3447">1</WORD>
<WORD coords="4295,3448,4330,3393,0">3</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,3554,1393,3501,3554">4.2.1</WORD>
<WORD coords="1510,3556,1660,3499,3555">CBC</WORD>
<WORD coords="1692,3570,2035,3499,3554">Encryption</WORD>
<WORD coords="4258,3554,4276,3501,3555">1</WORD>
<WORD coords="4295,3556,4330,3501,0">3</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,3662,1405,3609,3662">4.2.2</WORD>
<WORD coords="1510,3664,1660,3607,3663">CBC</WORD>
<WORD coords="1692,3678,2039,3607,3662">Decryption</WORD>
<WORD coords="4258,3662,4331,3609,3662">14</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,3773,1405,3718,3771">4.2.3</WORD>
<WORD coords="1510,3773,1556,3716,3773">C</WORD>
<WORD coords="1589,3787,2088,3716,3771">Implementation</WORD>
<WORD coords="2117,3772,2175,3716,3771">of</WORD>
<WORD coords="2202,3773,2352,3716,3772">CBC</WORD>
<WORD coords="2382,3773,2560,3716,3772">mode</WORD>
<WORD coords="4258,3771,4331,3718,3771">14</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1064,3881,1162,3826,3880">4.3</WORD>
<WORD coords="1252,3895,1468,3824,3879">Cipher</WORD>
<WORD coords="1497,3881,1818,3824,3880">Feedback</WORD>
<WORD coords="1845,3881,2024,3824,3880">mode</WORD>
<WORD coords="4258,3881,4330,3826,3880">15</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,3989,1394,3934,3987">4.3.1</WORD>
<WORD coords="1510,3989,1652,3932,3987">CFB</WORD>
<WORD coords="1684,4003,2026,3932,3987">Encryption</WORD>
<WORD coords="4258,3989,4330,3934,3988">15</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4098,1405,4043,4096">4.3.2</WORD>
<WORD coords="1510,4098,1652,4041,4096">CFB</WORD>
<WORD coords="1684,4112,2030,4041,4097">Decryption</WORD>
<WORD coords="4258,4097,4330,4043,4096">16</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4206,1405,4151,4205">4.3.3</WORD>
<WORD coords="1510,4206,1556,4149,4206">C</WORD>
<WORD coords="1589,4220,2088,4149,4204">Implementation</WORD>
<WORD coords="4258,4205,4330,4151,4204">16</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1064,4312,1163,4259,4312">4.4</WORD>
<WORD coords="1251,4328,1471,4257,4313">Output</WORD>
<WORD coords="1501,4314,1822,4257,4313">Feedback</WORD>
<WORD coords="1849,4314,2028,4258,4313">mode</WORD>
<WORD coords="4258,4314,4330,4259,4313">19</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4421,1394,4368,4421">4.4.1</WORD>
<WORD coords="1509,4422,1656,4366,4421">OFB</WORD>
<WORD coords="1688,4437,2030,4366,4421">Encryption</WORD>
<WORD coords="4258,4422,4330,4368,4421">19</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4529,1405,4476,4529">4.4.2</WORD>
<WORD coords="1509,4530,1656,4474,4529">OFB</WORD>
<WORD coords="1688,4545,2035,4474,4529">Decryption</WORD>
<WORD coords="4258,4530,4330,4476,4529">19</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4639,1405,4584,4637">4.4.3</WORD>
<WORD coords="1510,4639,1556,4582,4639">C</WORD>
<WORD coords="1588,4653,2088,4582,4637">Implementation</WORD>
<WORD coords="4253,4638,4330,4584,4637">20</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1064,4748,1162,4693,4747">4.5</WORD>
<WORD coords="1250,4748,1373,4691,4746">The</WORD>
<WORD coords="1401,4748,1664,4691,4747">Counter</WORD>
<WORD coords="1692,4748,1869,4691,4747">Mode</WORD>
<WORD coords="1900,4762,2091,4691,4746">(CTR)</WORD>
<WORD coords="4253,4746,4318,4693,4746">21</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4856,1393,4801,4854">4.5.1</WORD>
<WORD coords="1510,4856,1656,4799,4854">CTR</WORD>
<WORD coords="1687,4870,2030,4799,4854">Encryption</WORD>
<WORD coords="4253,4854,4318,4801,4854">21</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,4964,1405,4909,4962">4.5.2</WORD>
<WORD coords="1510,4964,1656,4907,4962">CTR</WORD>
<WORD coords="1687,4978,2034,4907,4962">Decryption</WORD>
<WORD coords="4253,4962,4330,4909,4962">22</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,5073,1405,5018,5072">4.5.3</WORD>
<WORD coords="1509,5073,1871,5016,5072">Generation</WORD>
<WORD coords="1901,5072,1959,5016,5071">of</WORD>
<WORD coords="1984,5073,2231,5021,5072">counter</WORD>
<WORD coords="2256,5073,2461,5016,5072">blocks</WORD>
<WORD coords="4253,5071,4330,5018,5071">22</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1244,5181,1406,5126,5179">4.5.4</WORD>
<WORD coords="1510,5181,1556,5124,5181">C</WORD>
<WORD coords="1589,5195,2088,5124,5179">Implementation</WORD>
<WORD coords="2117,5180,2175,5124,5179">of</WORD>
<WORD coords="2202,5181,2348,5124,5179">CTR</WORD>
<WORD coords="2377,5181,2556,5124,5180">mode</WORD>
<WORD coords="4253,5179,4330,5126,5179">22</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="885,5335,929,5267,5335">5</WORD>
<WORD coords="1071,5335,1253,5263,5333">AES</WORD>
<WORD coords="1283,5335,1463,5265,5329">-128</WORD>
<WORD coords="1497,5353,1867,5265,5333">Example</WORD>
<WORD coords="1899,5353,2567,5265,5333">Implementation</WORD>
<WORD coords="4233,5335,4329,5265,5334">25</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="885,5495,931,5425,5495">6</WORD>
<WORD coords="1075,5495,1501,5425,5494">Execution</WORD>
<WORD coords="1535,5495,1617,5425,5494">of</WORD>
<WORD coords="1651,5513,2019,5425,5493">Example</WORD>
<WORD coords="2051,5493,2121,5425,5493">in</WORD>
<WORD coords="2157,5495,2401,5425,5493">Atmel</WORD>
<WORD coords="2435,5495,2715,5423,5494">Studio</WORD>
<WORD coords="4233,5495,4331,5425,5494">26</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="885,5651,931,5585,5651">7</WORD>
<WORD coords="1075,5653,1561,5583,5652">References</WORD>
<WORD coords="4233,5653,4331,5583,5652">28</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,5780,1150,5727,5780">7.1</WORD>
<WORD coords="1255,5782,1411,5725,5780">FIPS</WORD>
<WORD coords="1436,5764,1478,5758,5772">-</WORD>
<WORD coords="1507,5781,1621,5727,5780">197</WORD>
<WORD coords="1647,5782,1974,5725,5781">Advanced</WORD>
<WORD coords="2006,5796,2346,5725,5780">Encryption</WORD>
<WORD coords="2377,5782,2673,5725,5781">Standard</WORD>
<WORD coords="2705,5796,2893,5725,5780">(AES)</WORD>
<WORD coords="4253,5782,4330,5727,5781">28</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,5888,1162,5835,5888">7.2</WORD>
<WORD coords="1255,5890,1411,5833,5888">FIPS</WORD>
<WORD coords="1439,5890,1531,5833,5889">SP</WORD>
<WORD coords="1559,5890,1839,5833,5888">800-38A</WORD>
<WORD coords="1869,5890,2442,5833,5889">Recommendation</WORD>
<WORD coords="2471,5890,2556,5833,5888">for</WORD>
<WORD coords="2584,5890,2760,5833,5888">Block</WORD>
<WORD coords="2786,5904,3002,5833,5888">Cipher</WORD>
<WORD coords="3030,5890,3245,5833,5889">Modes</WORD>
<WORD coords="3271,5890,3330,5833,5889">of</WORD>
<WORD coords="3355,5904,3676,5833,5889">Operation</WORD>
<WORD coords="4253,5890,4330,5835,5889">28</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="586,6265,905,6202,6264">Software</WORD>
<WORD coords="940,6281,1186,6202,6263">Library</WORD>
<WORD coords="1213,6265,1307,6202,6263">for</WORD>
<WORD coords="1333,6265,1661,6202,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6202,6263">Encryption</WORD>
<WORD coords="2109,6265,2238,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6202,6264">Decryption</WORD>
<WORD coords="2693,6280,3257,6202,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3536,6202,6263">NOTE]</WORD>
<WORD coords="4243,6295,4257,6278,6295">^</WORD>
<WORD coords="4417,6295,4648,6193,6295">IT!©!</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0001.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0002.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0002.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1065,561,1162,506,560">7.3</WORD>
<WORD coords="1252,561,1406,504,559">SAM</WORD>
<WORD coords="1437,559,1480,504,559">D</WORD>
<WORD coords="1512,561,1731,504,560">Device</WORD>
<WORD coords="1763,561,2096,504,560">Datasheet</WORD>
<WORD coords="4253,560,4330,506,559">28</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,668,1163,615,668">7.4</WORD>
<WORD coords="1254,670,1568,613,668">Hardware</WORD>
<WORD coords="1595,670,1773,613,669">Tools</WORD>
<WORD coords="1804,670,1956,613,669">User</WORD>
<WORD coords="1980,670,2174,613,669">Guide</WORD>
<WORD coords="4253,669,4330,615,668">28</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1065,779,1162,724,778">7.5</WORD>
<WORD coords="1250,779,1435,722,777">Atmel</WORD>
<WORD coords="1465,779,1669,722,778">Studio</WORD>
<WORD coords="4253,778,4330,724,777">28</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="884,932,930,864,932">8</WORD>
<WORD coords="1075,932,1444,863,930">Revision</WORD>
<WORD coords="1481,950,1789,863,931">History</WORD>
<WORD coords="4234,932,4329,864,931">29</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0002.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0003.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0003.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="291,601,327,517,602">1</WORD>
<WORD coords="587,625,1081,513,602">Glossary</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,753,723,689,751">The</WORD>
<WORD coords="751,769,1067,689,751">following</WORD>
<WORD coords="1095,753,1303,695,751">terms</WORD>
<WORD coords="1333,753,1445,705,752">are</WORD>
<WORD coords="1477,753,1647,689,753">used</WORD>
<WORD coords="1675,769,2071,689,752">throughout</WORD>
<WORD coords="2097,753,2223,689,752">this</WORD>
<WORD coords="2253,769,2643,689,752">application</WORD>
<WORD coords="2675,753,2829,695,752">note</WORD>
<WORD coords="2857,753,3241,689,752">document:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,951,777,893,950">Table</WORD>
<WORD coords="803,949,925,895,946">1-1.</WORD>
<WORD coords="1107,965,1425,893,950">Glossary</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="5789784" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="846,1152,1163,1081,1137">Glossary</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="5789784" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="2734,1152,3137,1081,1136">Description</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15921906">
<PARAGRAPH>
<LINE>
<WORD coords="658,1287,802,1230,1285">AES</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15921906">
<PARAGRAPH>
<LINE>
<WORD coords="1449,1287,1777,1230,1285">Advanced</WORD>
<WORD coords="1808,1301,2150,1230,1285">Encryption</WORD>
<WORD coords="2181,1287,2475,1230,1286">Standard</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="660,1448,877,1377,1432">Cipher</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="1451,1434,1657,1377,1433">Series</WORD>
<WORD coords="1684,1434,1742,1377,1433">of</WORD>
<WORD coords="1766,1434,2277,1377,1433">transformations</WORD>
<WORD coords="2302,1434,2425,1378,1433">that</WORD>
<WORD coords="2450,1434,2693,1382,1433">convert</WORD>
<WORD coords="2720,1448,2868,1377,1432">plain</WORD>
<WORD coords="2895,1434,3012,1382,1433">text</WORD>
<WORD coords="3036,1434,3094,1382,1434">to</WORD>
<WORD coords="3121,1448,3323,1377,1432">cipher</WORD>
<WORD coords="3345,1434,3462,1382,1433">text</WORD>
<WORD coords="3490,1448,3659,1377,1433">using</WORD>
<WORD coords="3686,1434,3785,1377,1433">the</WORD>
<WORD coords="3814,1448,4030,1377,1432">Cipher</WORD>
<WORD coords="4058,1448,4179,1377,1433">Key</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15921906">
<PARAGRAPH>
<LINE>
<WORD coords="660,1595,877,1524,1579">Cipher</WORD>
<WORD coords="904,1595,1025,1524,1580">Key</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1451,1582,1663,1525,1581">Secret</WORD>
<WORD coords="1687,1596,2132,1526,1581">cryptographic</WORD>
<WORD coords="2159,1596,2270,1525,1581">key</WORD>
<WORD coords="2294,1582,2416,1526,1581">that</WORD>
<WORD coords="2444,1582,2489,1525,1581">is</WORD>
<WORD coords="2519,1582,2672,1525,1581">used</WORD>
<WORD coords="2701,1596,2775,1525,1582">by</WORD>
<WORD coords="2798,1582,2897,1526,1581">the</WORD>
<WORD coords="2928,1596,3049,1525,1581">Key</WORD>
<WORD coords="3079,1596,3416,1525,1580">Expansion</WORD>
<WORD coords="3449,1582,3698,1525,1581">Routine</WORD>
<WORD coords="3723,1582,3781,1530,1582">to</WORD>
<WORD coords="3807,1596,4097,1530,1581">generate</WORD>
<WORD coords="4124,1582,4161,1540,1582">a</WORD>
<WORD coords="4187,1582,4282,1530,1582">set</WORD>
<WORD coords="4308,1582,4366,1525,1581">of</WORD>
</LINE>
<LINE>
<WORD coords="1454,1676,1664,1620,1675">Round</WORD>
<WORD coords="1696,1690,1853,1619,1675">Keys</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="660,1836,877,1765,1820">Cipher</WORD>
<WORD coords="900,1822,1040,1765,1821">Text</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="1454,1822,1604,1765,1821">Data</WORD>
<WORD coords="1630,1836,1833,1770,1822">output</WORD>
<WORD coords="1857,1821,2000,1765,1820">from</WORD>
<WORD coords="2027,1822,2127,1766,1821">the</WORD>
<WORD coords="2156,1836,2372,1765,1820">Cipher</WORD>
<WORD coords="2396,1821,2459,1780,1820">or</WORD>
<WORD coords="2485,1836,2641,1765,1821">input</WORD>
<WORD coords="2665,1822,2722,1770,1822">to</WORD>
<WORD coords="2748,1822,2848,1766,1821">the</WORD>
<WORD coords="2880,1822,3114,1765,1820">Inverse</WORD>
<WORD coords="3143,1836,3359,1765,1820">Cipher</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="664,1969,898,1912,1967">Inverse</WORD>
<WORD coords="927,1983,1143,1912,1967">Cipher</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1451,1969,1657,1912,1968">Series</WORD>
<WORD coords="1684,1969,1742,1912,1968">of</WORD>
<WORD coords="1766,1969,2277,1912,1967">transformations</WORD>
<WORD coords="2302,1969,2425,1913,1968">that</WORD>
<WORD coords="2449,1969,2727,1917,1968">converts</WORD>
<WORD coords="2754,1983,2955,1912,1967">cipher</WORD>
<WORD coords="2977,1969,3094,1917,1968">text</WORD>
<WORD coords="3118,1969,3176,1917,1969">to</WORD>
<WORD coords="3205,1983,3354,1912,1967">plain</WORD>
<WORD coords="3382,1969,3497,1917,1968">text</WORD>
<WORD coords="3525,1983,3696,1912,1968">using</WORD>
<WORD coords="3722,1969,3822,1913,1968">the</WORD>
<WORD coords="3850,1983,4066,1912,1967">Cipher</WORD>
<WORD coords="4094,1983,4215,1912,1968">Key</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="662,2130,783,2060,2115">Key</WORD>
<WORD coords="812,2130,1150,2059,2114">Expansion</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="1454,2116,1703,2059,2115">Routine</WORD>
<WORD coords="1732,2116,1885,2059,2115">used</WORD>
<WORD coords="1911,2116,1969,2064,2116">to</WORD>
<WORD coords="1995,2130,2285,2064,2115">generate</WORD>
<WORD coords="2313,2116,2350,2074,2116">a</WORD>
<WORD coords="2375,2116,2569,2059,2115">series</WORD>
<WORD coords="2596,2115,2654,2059,2114">of</WORD>
<WORD coords="2684,2116,2893,2060,2115">Round</WORD>
<WORD coords="2924,2130,3081,2060,2115">Keys</WORD>
<WORD coords="3106,2115,3250,2059,2114">from</WORD>
<WORD coords="3277,2116,3377,2060,2115">the</WORD>
<WORD coords="3406,2130,3621,2059,2114">Cipher</WORD>
<WORD coords="3649,2130,3770,2059,2115">Key</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15921906">
<PARAGRAPH>
<LINE>
<WORD coords="662,2261,747,2206,2261">Nk</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1453,2263,1714,2206,2261">Number</WORD>
<WORD coords="1738,2262,1796,2206,2261">of</WORD>
<WORD coords="1822,2263,2005,2206,2262">32-bit</WORD>
<WORD coords="2028,2263,2223,2206,2261">words</WORD>
<WORD coords="2249,2277,2605,2206,2261">comprising</WORD>
<WORD coords="2632,2263,2731,2207,2262">the</WORD>
<WORD coords="2760,2277,2976,2206,2261">Cipher</WORD>
<WORD coords="3004,2277,3141,2206,2262">Key.</WORD>
<WORD coords="3176,2262,3280,2207,2261">For</WORD>
<WORD coords="3304,2272,3617,2206,2261">AES-128,</WORD>
<WORD coords="3651,2261,3735,2206,2261">Nk</WORD>
<WORD coords="3761,2253,3797,2235,2257">=</WORD>
<WORD coords="3824,2261,3878,2208,2261">4.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="663,2410,817,2353,2408">Plain</WORD>
<WORD coords="846,2410,986,2353,2409">Text</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="1454,2410,1604,2353,2409">Data</WORD>
<WORD coords="1632,2424,1788,2354,2409">input</WORD>
<WORD coords="1812,2410,1869,2358,2409">to</WORD>
<WORD coords="1894,2410,1993,2354,2409">the</WORD>
<WORD coords="2022,2424,2238,2353,2408">Cipher</WORD>
<WORD coords="2263,2410,2326,2368,2409">or</WORD>
<WORD coords="2350,2424,2554,2358,2409">output</WORD>
<WORD coords="2578,2409,2721,2353,2408">from</WORD>
<WORD coords="2748,2410,2848,2354,2409">the</WORD>
<WORD coords="2880,2410,3114,2353,2408">Inverse</WORD>
<WORD coords="3143,2424,3359,2353,2408">Cipher</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15921906">
<PARAGRAPH>
<LINE>
<WORD coords="663,2557,873,2500,2555">Round</WORD>
<WORD coords="904,2571,1025,2500,2556">Key</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1450,2557,1673,2500,2556">Values</WORD>
<WORD coords="1700,2557,1938,2500,2555">derived</WORD>
<WORD coords="1965,2556,2108,2500,2555">from</WORD>
<WORD coords="2136,2556,2235,2501,2555">the</WORD>
<WORD coords="2264,2571,2479,2500,2555">Cipher</WORD>
<WORD coords="2507,2571,2628,2500,2556">Key</WORD>
<WORD coords="2656,2571,2826,2500,2556">using</WORD>
<WORD coords="2852,2557,2952,2501,2556">the</WORD>
<WORD coords="2982,2571,3103,2500,2556">Key</WORD>
<WORD coords="3133,2571,3471,2500,2555">Expansion</WORD>
<WORD coords="3504,2557,3752,2500,2556">Routine</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="660,2704,828,2647,2704">State</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14277081">
<PARAGRAPH>
<LINE>
<WORD coords="1455,2704,1860,2647,2703">Intermediate</WORD>
<WORD coords="1889,2718,2105,2647,2702">Cipher</WORD>
<WORD coords="2132,2704,2308,2647,2703">result</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15921906">
<PARAGRAPH>
<LINE>
<WORD coords="660,2851,850,2794,2850">S-box</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1453,2852,1793,2795,2850">Non-linear</WORD>
<WORD coords="1817,2852,2187,2795,2851">substitution</WORD>
<WORD coords="2215,2852,2373,2795,2851">table</WORD>
<WORD coords="2402,2852,2555,2796,2851">used</WORD>
<WORD coords="2585,2850,2633,2795,2850">in</WORD>
<WORD coords="2662,2852,2896,2795,2851">several</WORD>
<WORD coords="2926,2866,3059,2795,2852">byte</WORD>
<WORD coords="3087,2852,3457,2795,2851">substitution</WORD>
<WORD coords="3485,2852,3960,2795,2850">transformation</WORD>
<WORD coords="3990,2852,4107,2795,2851">and</WORD>
<WORD coords="4137,2850,4185,2795,2850">in</WORD>
<WORD coords="4213,2852,4312,2796,2851">the</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1453,2960,1574,2889,2944">Key</WORD>
<WORD coords="1604,2960,1941,2889,2944">Expansion</WORD>
<WORD coords="1975,2946,2223,2889,2944">Routine</WORD>
<WORD coords="2248,2946,2306,2894,2946">to</WORD>
<WORD coords="2335,2960,2583,2889,2944">perform</WORD>
<WORD coords="2613,2946,2995,2889,2945">one-for-one</WORD>
<WORD coords="3022,2946,3393,2889,2945">substitution</WORD>
<WORD coords="3422,2946,3479,2889,2945">of</WORD>
<WORD coords="3504,2946,3541,2904,2946">a</WORD>
<WORD coords="3568,2960,3702,2889,2945">byte</WORD>
<WORD coords="3728,2946,3920,2889,2945">value.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="287,3429,343,3343,3429">2</WORD>
<WORD coords="591,3431,1111,3343,3430">Hardware</WORD>
<WORD coords="1151,3431,1347,3343,3430">and</WORD>
<WORD coords="1391,3431,1877,3341,3430">Software</WORD>
<WORD coords="1917,3453,2233,3341,3431">Setup</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,3581,723,3517,3579">The</WORD>
<WORD coords="753,3597,1141,3517,3580">application</WORD>
<WORD coords="1175,3581,1329,3523,3580">note</WORD>
<WORD coords="1361,3581,1485,3517,3580">has</WORD>
<WORD coords="1517,3581,1693,3517,3580">been</WORD>
<WORD coords="1723,3581,1945,3517,3581">tested</WORD>
<WORD coords="1977,3579,2031,3517,3579">in</WORD>
<WORD coords="2061,3581,2173,3517,3580">the</WORD>
<WORD coords="2201,3597,2517,3517,3579">following</WORD>
<WORD coords="2547,3581,2679,3523,3581">test</WORD>
<WORD coords="2707,3597,2925,3523,3581">setup:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,3711,677,3681,3717">•</WORD>
<WORD coords="811,3723,983,3659,3721">SAM</WORD>
<WORD coords="1017,3721,1147,3659,3721">D21</WORD>
<WORD coords="1189,3739,1505,3659,3721">Xplained</WORD>
<WORD coords="1541,3723,1659,3659,3721">Pro</WORD>
<WORD coords="1693,3723,1905,3659,3722">Board</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,3837,677,3807,3841">•</WORD>
<WORD coords="809,3847,1017,3785,3845">Atmel</WORD>
<WORD coords="1047,3847,1275,3783,3846">Studio</WORD>
<WORD coords="1307,3847,1413,3785,3846">6.2</WORD>
<WORD coords="1445,3847,1595,3783,3846">SP2</WORD>
<WORD coords="1627,3847,1793,3783,3846">build</WORD>
<WORD coords="1831,3847,2003,3785,3846">1563</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="4243,6295,4649,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0003.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0004.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0004.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,603,343,515,603">3</WORD>
<WORD coords="585,603,817,513,601">AES</WORD>
<WORD coords="859,625,1397,513,601">Algorithm</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,753,859,689,752">Federal</WORD>
<WORD coords="895,753,1297,689,751">Information</WORD>
<WORD coords="1333,769,1733,689,752">Processing</WORD>
<WORD coords="1765,753,2137,689,752">Standards</WORD>
<WORD coords="2171,753,2611,689,752">Publications</WORD>
<WORD coords="2643,769,2845,689,751">(FIPS</WORD>
<WORD coords="2879,767,3121,689,752">PUBS)</WORD>
<WORD coords="3153,753,3265,705,752">are</WORD>
<WORD coords="3299,753,3529,689,752">issued</WORD>
<WORD coords="3561,769,3643,689,753">by</WORD>
<WORD coords="3667,753,3779,689,752">the</WORD>
<WORD coords="3811,753,4107,689,752">National</WORD>
<WORD coords="4143,753,4423,689,752">Institute</WORD>
<WORD coords="4451,753,4517,689,752">of</WORD>
</LINE>
<LINE>
<WORD coords="585,861,943,797,860">standards</WORD>
<WORD coords="973,861,1103,797,859">and</WORD>
<WORD coords="1133,877,1561,797,860">Technology</WORD>
<WORD coords="1591,877,1847,797,859">(NIST).</WORD>
<WORD coords="1879,861,2019,797,859">The</WORD>
<WORD coords="2047,861,2409,797,860">Advanced</WORD>
<WORD coords="2443,877,2825,797,859">Encryption</WORD>
<WORD coords="2857,861,3187,797,860">Standard</WORD>
<WORD coords="3217,877,3559,797,859">Algorithm</WORD>
<WORD coords="3595,875,3805,797,859">(AES)</WORD>
<WORD coords="3837,877,4155,797,860">specifies</WORD>
<WORD coords="4183,861,4293,797,860">the</WORD>
<WORD coords="4327,861,4501,797,859">FIPS</WORD>
</LINE>
<LINE>
<WORD coords="585,985,923,905,968">approved</WORD>
<WORD coords="957,983,1161,905,967">(FIPS</WORD>
<WORD coords="1195,969,1353,905,968">Pub.</WORD>
<WORD coords="1391,983,1543,905,973">197)</WORD>
<WORD coords="1575,985,2069,905,968">cryptographic</WORD>
<WORD coords="2099,985,2433,905,967">algorithm</WORD>
<WORD coords="2463,969,2599,905,968">that</WORD>
<WORD coords="2625,969,2753,921,968">can</WORD>
<WORD coords="2785,969,2869,905,969">be</WORD>
<WORD coords="2901,969,3073,905,969">used</WORD>
<WORD coords="3101,969,3167,911,969">to</WORD>
<WORD coords="3199,985,3447,911,968">protect</WORD>
<WORD coords="3475,969,3825,905,968">electronic</WORD>
<WORD coords="3851,969,4029,905,969">data.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,1111,745,1047,1109">AES</WORD>
<WORD coords="775,1111,827,1047,1110">is</WORD>
<WORD coords="859,1111,899,1063,1111">a</WORD>
<WORD coords="927,1127,1301,1047,1110">symmetric</WORD>
<WORD coords="1331,1127,1455,1047,1110">key</WORD>
<WORD coords="1483,1127,1815,1047,1109">algorithm</WORD>
<WORD coords="1847,1111,1983,1047,1110">that</WORD>
<WORD coords="2009,1127,2327,1053,1110">operates</WORD>
<WORD coords="2357,1111,2441,1063,1110">on</WORD>
<WORD coords="2479,1111,2725,1047,1110">128-bit</WORD>
<WORD coords="2753,1111,2943,1047,1110">block</WORD>
<WORD coords="2971,1111,3035,1047,1110">of</WORD>
<WORD coords="3065,1127,3239,1047,1110">input</WORD>
<WORD coords="3265,1111,3423,1047,1111">data</WORD>
<WORD coords="3449,1111,3545,1047,1109">for</WORD>
<WORD coords="3573,1111,3613,1063,1111">a</WORD>
<WORD coords="3641,1127,3961,1047,1110">specified</WORD>
<WORD coords="3995,1111,4271,1047,1110">number</WORD>
<WORD coords="4299,1111,4363,1047,1110">of</WORD>
<WORD coords="4389,1111,4605,1047,1110">times.</WORD>
</LINE>
<LINE>
<WORD coords="583,1219,723,1155,1217">The</WORD>
<WORD coords="751,1235,1125,1155,1218">symmetric</WORD>
<WORD coords="1155,1235,1279,1155,1218">key</WORD>
<WORD coords="1309,1219,1551,1171,1218">means</WORD>
<WORD coords="1577,1219,1715,1155,1218">that</WORD>
<WORD coords="1741,1219,1941,1171,1218">same</WORD>
<WORD coords="1971,1235,2097,1155,1218">key</WORD>
<WORD coords="2123,1219,2175,1155,1218">is</WORD>
<WORD coords="2207,1219,2379,1155,1219">used</WORD>
<WORD coords="2407,1219,2501,1155,1217">for</WORD>
<WORD coords="2531,1219,2683,1155,1218">both</WORD>
<WORD coords="2715,1235,3089,1155,1218">encryption</WORD>
<WORD coords="3123,1219,3253,1155,1218">and</WORD>
<WORD coords="3281,1235,3681,1155,1218">decryption.</WORD>
<WORD coords="3717,1235,4101,1155,1217">Encryption</WORD>
<WORD coords="4135,1235,4419,1171,1218">process</WORD>
</LINE>
<LINE>
<WORD coords="585,1329,891,1271,1328">converts</WORD>
<WORD coords="919,1329,1031,1265,1328">the</WORD>
<WORD coords="1059,1329,1217,1265,1329">data</WORD>
<WORD coords="1243,1329,1309,1271,1329">to</WORD>
<WORD coords="1339,1345,1791,1265,1327">unintelligible</WORD>
<WORD coords="1819,1329,1977,1265,1327">form</WORD>
<WORD coords="2011,1329,2219,1265,1328">called</WORD>
<WORD coords="2249,1345,2473,1265,1327">cipher</WORD>
<WORD coords="2497,1329,2649,1271,1328">text.</WORD>
<WORD coords="2685,1345,3071,1265,1328">Decryption</WORD>
<WORD coords="3105,1345,3389,1281,1328">process</WORD>
<WORD coords="3419,1329,3729,1271,1328">converts</WORD>
<WORD coords="3755,1329,3867,1265,1328">the</WORD>
<WORD coords="3895,1329,4053,1265,1329">data</WORD>
<WORD coords="4083,1329,4253,1265,1328">back</WORD>
<WORD coords="4279,1329,4345,1271,1329">to</WORD>
<WORD coords="4375,1329,4451,1265,1328">its</WORD>
</LINE>
<LINE>
<WORD coords="585,1451,845,1371,1433">original</WORD>
<WORD coords="875,1435,1033,1371,1433">form</WORD>
<WORD coords="1065,1435,1275,1373,1434">called</WORD>
<WORD coords="1307,1451,1473,1373,1433">plain</WORD>
<WORD coords="1503,1435,1637,1377,1434">text</WORD>
<WORD coords="1663,1435,1821,1371,1433">from</WORD>
<WORD coords="1853,1435,1963,1373,1434">the</WORD>
<WORD coords="1993,1451,2215,1373,1433">cipher</WORD>
<WORD coords="2239,1435,2389,1377,1434">text.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,1579,723,1515,1577">The</WORD>
<WORD coords="753,1595,877,1515,1578">key</WORD>
<WORD coords="903,1579,1045,1515,1578">size</WORD>
<WORD coords="1075,1579,1247,1515,1578">used</WORD>
<WORD coords="1277,1579,1371,1515,1577">for</WORD>
<WORD coords="1399,1579,1483,1531,1578">an</WORD>
<WORD coords="1515,1579,1675,1515,1577">AES</WORD>
<WORD coords="1707,1595,2081,1515,1578">encryption</WORD>
<WORD coords="2113,1579,2245,1515,1578">and</WORD>
<WORD coords="2273,1595,2651,1515,1578">decryption</WORD>
<WORD coords="2681,1579,2807,1531,1578">can</WORD>
<WORD coords="2841,1579,2925,1515,1579">be</WORD>
<WORD coords="2961,1589,3107,1517,1582">128,</WORD>
<WORD coords="3145,1589,3295,1517,1582">192,</WORD>
<WORD coords="3327,1579,3397,1531,1578">or</WORD>
<WORD coords="3425,1579,3557,1517,1578">256</WORD>
<WORD coords="3589,1579,3709,1515,1578">bits</WORD>
<WORD coords="3737,1579,3833,1515,1577">for</WORD>
<WORD coords="3861,1579,3901,1531,1579">a</WORD>
<WORD coords="3927,1579,4097,1515,1577">fixed</WORD>
<WORD coords="4129,1595,4305,1515,1577">input</WORD>
<WORD coords="4333,1579,4521,1515,1578">block</WORD>
</LINE>
<LINE>
<WORD coords="585,1685,725,1623,1684">size</WORD>
<WORD coords="755,1685,821,1621,1684">of</WORD>
<WORD coords="853,1685,979,1623,1684">128</WORD>
<WORD coords="1011,1685,1153,1623,1684">bits.</WORD>
<WORD coords="1183,1685,1323,1621,1683">The</WORD>
<WORD coords="1351,1685,1493,1623,1684">size</WORD>
<WORD coords="1523,1685,1589,1621,1684">of</WORD>
<WORD coords="1615,1685,1725,1623,1684">the</WORD>
<WORD coords="1757,1701,1879,1623,1684">key</WORD>
<WORD coords="1907,1685,2315,1623,1684">determines</WORD>
<WORD coords="2343,1685,2453,1623,1684">the</WORD>
<WORD coords="2487,1685,2763,1623,1684">number</WORD>
<WORD coords="2791,1685,2855,1623,1684">of</WORD>
<WORD coords="2885,1685,3129,1623,1684">rounds</WORD>
<WORD coords="3157,1685,3221,1627,1685">to</WORD>
<WORD coords="3253,1685,3337,1623,1685">be</WORD>
<WORD coords="3369,1701,3741,1621,1684">performed</WORD>
<WORD coords="3771,1685,3855,1637,1684">on</WORD>
<WORD coords="3887,1685,3971,1637,1684">an</WORD>
<WORD coords="4003,1701,4179,1623,1684">input</WORD>
<WORD coords="4207,1685,4395,1623,1684">block</WORD>
<WORD coords="4423,1685,4489,1621,1684">of</WORD>
</LINE>
<LINE>
<WORD coords="585,1793,759,1731,1793">data.</WORD>
<WORD coords="791,1793,931,1729,1791">The</WORD>
<WORD coords="963,1793,1239,1731,1792">number</WORD>
<WORD coords="1265,1793,1329,1731,1792">of</WORD>
<WORD coords="1361,1793,1607,1731,1792">rounds</WORD>
<WORD coords="1635,1793,1701,1729,1792">of</WORD>
<WORD coords="1731,1809,2061,1729,1792">repetition</WORD>
<WORD coords="2095,1793,2147,1731,1792">is</WORD>
<WORD coords="2177,1793,2257,1747,1793">as</WORD>
<WORD coords="2285,1793,2557,1731,1791">follows:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1925,677,1895,1929">•</WORD>
<WORD coords="815,1933,837,1873,1934">1</WORD>
<WORD coords="857,1935,895,1873,1935">0</WORD>
<WORD coords="927,1935,1173,1873,1934">rounds</WORD>
<WORD coords="1201,1935,1267,1873,1934">of</WORD>
<WORD coords="1297,1951,1629,1871,1934">repetition</WORD>
<WORD coords="1659,1935,1753,1871,1933">for</WORD>
<WORD coords="1787,1933,1807,1873,1933">1</WORD>
<WORD coords="1827,1935,2031,1873,1934">28-bit</WORD>
<WORD coords="2061,1951,2225,1873,1934">keys</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,2051,677,2021,2055">•</WORD>
<WORD coords="815,2059,895,1999,2059">12</WORD>
<WORD coords="927,2061,1173,1999,2060">rounds</WORD>
<WORD coords="1201,2061,1267,1999,2060">of</WORD>
<WORD coords="1297,2077,1629,1997,2060">repetition</WORD>
<WORD coords="1659,2061,1755,1997,2059">for</WORD>
<WORD coords="1787,2061,2031,1999,2060">192-bit</WORD>
<WORD coords="2061,2077,2225,1999,2060">keys</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,2175,677,2145,2179">•</WORD>
<WORD coords="815,2183,897,2123,2183">14</WORD>
<WORD coords="927,2185,1173,2123,2184">rounds</WORD>
<WORD coords="1201,2185,1267,2123,2184">of</WORD>
<WORD coords="1297,2201,1629,2121,2184">repetition</WORD>
<WORD coords="1659,2185,1753,2121,2183">for</WORD>
<WORD coords="1781,2185,2031,2123,2184">256-bit</WORD>
<WORD coords="2061,2201,2225,2123,2184">keys</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,2327,723,2263,2325">The</WORD>
<WORD coords="751,2343,1067,2263,2325">following</WORD>
<WORD coords="1097,2327,1397,2265,2326">sections</WORD>
<WORD coords="1427,2343,1727,2265,2325">explains</WORD>
<WORD coords="1753,2327,1865,2265,2326">the</WORD>
<WORD coords="1893,2327,2055,2263,2325">AES</WORD>
<WORD coords="2085,2343,2459,2265,2326">encryption</WORD>
<WORD coords="2493,2327,2623,2265,2326">and</WORD>
<WORD coords="2653,2343,3029,2265,2326">decryption</WORD>
<WORD coords="3061,2343,3421,2263,2325">algorithm.</WORD>
<WORD coords="3457,2327,3573,2263,2325">For</WORD>
<WORD coords="3603,2327,3785,2279,2326">more</WORD>
<WORD coords="3813,2327,4047,2265,2326">details</WORD>
<WORD coords="4075,2327,4161,2279,2326">on</WORD>
<WORD coords="4189,2327,4301,2265,2326">the</WORD>
<WORD coords="4331,2327,4491,2263,2325">AES</WORD>
</LINE>
<LINE>
<WORD coords="585,2447,921,2373,2436">standard,</WORD>
<WORD coords="957,2437,1121,2373,2435">refer</WORD>
<WORD coords="1147,2437,1211,2379,2437">to</WORD>
<WORD coords="1239,2437,1351,2373,2436">the</WORD>
<WORD coords="1379,2437,1541,2373,2435">AES</WORD>
<WORD coords="1571,2437,1887,2373,2436">standard</WORD>
<WORD coords="1917,2437,2297,2373,2436">document.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,2675,403,2599,2673">3.1</WORD>
<WORD coords="585,2675,783,2597,2673">AES</WORD>
<WORD coords="821,2695,1329,2599,2673">Encryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,2819,723,2755,2817">The</WORD>
<WORD coords="751,2819,1077,2755,2817">AES-128</WORD>
<WORD coords="1107,2835,1483,2757,2818">encryption</WORD>
<WORD coords="1515,2835,1801,2771,2818">process</WORD>
<WORD coords="1831,2819,2125,2757,2817">involves</WORD>
<WORD coords="2159,2819,2241,2757,2818">10</WORD>
<WORD coords="2273,2819,2517,2757,2818">rounds</WORD>
<WORD coords="2547,2819,2613,2755,2818">of</WORD>
<WORD coords="2641,2835,3015,2757,2818">encryption</WORD>
<WORD coords="3049,2835,3243,2757,2818">along</WORD>
<WORD coords="3275,2819,3415,2757,2817">with</WORD>
<WORD coords="3447,2819,3531,2771,2818">an</WORD>
<WORD coords="3565,2819,3743,2755,2817">initial</WORD>
<WORD coords="3777,2819,3981,2757,2818">round</WORD>
<WORD coords="4011,2819,4105,2755,2817">for</WORD>
<WORD coords="4131,2819,4241,2757,2818">the</WORD>
<WORD coords="4277,2819,4403,2757,2818">128</WORD>
<WORD coords="4435,2819,4517,2757,2818">bit</WORD>
</LINE>
<LINE>
<WORD coords="583,2929,741,2865,2929">data</WORD>
<WORD coords="771,2945,1167,2865,2928">encryption.</WORD>
<WORD coords="1199,2929,1291,2865,2928">To</WORD>
<WORD coords="1323,2945,1515,2865,2928">begin</WORD>
<WORD coords="1547,2939,1709,2865,2927">with,</WORD>
<WORD coords="1741,2929,1851,2865,2928">the</WORD>
<WORD coords="1887,2929,2131,2865,2928">128-bit</WORD>
<WORD coords="2161,2945,2285,2865,2928">key</WORD>
<WORD coords="2315,2929,2367,2865,2928">is</WORD>
<WORD coords="2397,2945,2753,2865,2928">expanded</WORD>
<WORD coords="2785,2929,2911,2865,2928">into</WORD>
<WORD coords="2943,2929,2983,2881,2929">a</WORD>
<WORD coords="3011,2929,3117,2871,2929">set</WORD>
<WORD coords="3145,2929,3211,2865,2928">of</WORD>
<WORD coords="3241,2929,3477,2865,2928">eleven</WORD>
<WORD coords="3515,2929,3759,2865,2928">128-bit</WORD>
<WORD coords="3789,2929,3991,2865,2928">round</WORD>
<WORD coords="4023,2945,4187,2865,2928">keys</WORD>
<WORD coords="4219,2945,4407,2865,2928">using</WORD>
<WORD coords="4437,2929,4549,2865,2928">the</WORD>
</LINE>
<LINE>
<WORD coords="589,3053,725,2973,3036">Key</WORD>
<WORD coords="751,3053,1121,2973,3036">expansion</WORD>
<WORD coords="1155,3037,1421,2973,3036">routine.</WORD>
<WORD coords="1459,3037,1637,2973,3036">Each</WORD>
<WORD coords="1667,3037,1733,2973,3036">of</WORD>
<WORD coords="1759,3037,1883,2973,3036">this</WORD>
<WORD coords="1915,3053,2077,2973,3036">keys</WORD>
<WORD coords="2109,3037,2161,2973,3036">is</WORD>
<WORD coords="2191,3037,2363,2973,3036">used</WORD>
<WORD coords="2393,3037,2489,2973,3035">for</WORD>
<WORD coords="2513,3037,2625,2973,3036">the</WORD>
<WORD coords="2657,3047,2923,2973,3036">rounds,</WORD>
<WORD coords="2953,3053,3167,2973,3035">finally</WORD>
<WORD coords="3195,3053,3499,2973,3036">resulting</WORD>
<WORD coords="3535,3035,3587,2973,3035">in</WORD>
<WORD coords="3617,3037,3727,2973,3036">the</WORD>
<WORD coords="3757,3053,3979,2973,3035">cipher</WORD>
<WORD coords="4005,3037,4137,2979,3036">text</WORD>
<WORD coords="4165,3053,4411,2979,3037">output.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,3177,723,3113,3175">The</WORD>
<WORD coords="753,3177,933,3113,3175">initial</WORD>
<WORD coords="967,3177,1169,3115,3176">round</WORD>
<WORD coords="1201,3175,1255,3113,3175">in</WORD>
<WORD coords="1285,3177,1397,3115,3176">the</WORD>
<WORD coords="1425,3177,1587,3113,3175">AES</WORD>
<WORD coords="1621,3193,2001,3113,3175">Encryption</WORD>
<WORD coords="2033,3193,2407,3115,3176">comprises</WORD>
<WORD coords="2435,3177,2501,3113,3176">of</WORD>
<WORD coords="2527,3177,2637,3115,3176">the</WORD>
<WORD coords="2671,3177,2823,3115,3176">Add</WORD>
<WORD coords="2857,3177,3109,3115,3176">Round</WORD>
<WORD coords="3141,3193,3275,3115,3176">key</WORD>
<WORD coords="3303,3191,3455,3117,3176">step</WORD>
<WORD coords="3487,3175,3539,3115,3175">in</WORD>
<WORD coords="3571,3177,3777,3115,3175">which</WORD>
<WORD coords="3805,3177,3919,3115,3175">the</WORD>
<WORD coords="3951,3191,4115,3115,3175">plain</WORD>
<WORD coords="4145,3177,4277,3117,3175">text</WORD>
<WORD coords="4305,3177,4357,3115,3176">is</WORD>
<WORD coords="4385,3177,4669,3115,3176">XOR’ed</WORD>
</LINE>
<LINE>
<WORD coords="583,3285,723,3223,3283">with</WORD>
<WORD coords="753,3285,865,3223,3284">the</WORD>
<WORD coords="895,3301,1135,3221,3283">Cipher</WORD>
<WORD coords="1167,3301,1319,3221,3284">Key.</WORD>
<WORD coords="1351,3285,1489,3221,3283">The</WORD>
<WORD coords="1519,3301,1945,3223,3284">subsequent</WORD>
<WORD coords="1973,3285,2013,3223,3285">9</WORD>
<WORD coords="2045,3285,2289,3223,3284">rounds</WORD>
<WORD coords="2319,3301,2493,3237,3285">goes</WORD>
<WORD coords="2521,3301,2797,3223,3284">through</WORD>
<WORD coords="2827,3285,2969,3223,3284">four</WORD>
<WORD coords="2995,3285,3291,3221,3283">different</WORD>
<WORD coords="3321,3301,3469,3223,3285">byte</WORD>
<WORD coords="3499,3285,3793,3223,3284">oriented</WORD>
<WORD coords="3825,3285,4395,3223,3284">transformations</WORD>
<WORD coords="4425,3285,4507,3239,3285">as</WORD>
</LINE>
<LINE>
<WORD coords="587,3393,771,3331,3392">listed</WORD>
<WORD coords="803,3393,1033,3331,3392">below.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="651,3533,671,3473,3533">1</WORD>
<WORD coords="695,3533,705,3523,3533">.</WORD>
<WORD coords="813,3551,969,3471,3534">Byte</WORD>
<WORD coords="999,3535,1411,3471,3534">substitution</WORD>
<WORD coords="1445,3551,1633,3471,3534">using</WORD>
<WORD coords="1667,3535,1879,3471,3534">S-box</WORD>
<WORD coords="1911,3549,2087,3471,3535">(Sub</WORD>
<WORD coords="2119,3551,2315,3471,3534">Byte)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,3659,705,3599,3659">2.</WORD>
<WORD coords="813,3677,1083,3597,3659">Shifting</WORD>
<WORD coords="1115,3661,1281,3613,3660">rows</WORD>
<WORD coords="1311,3661,1377,3597,3660">of</WORD>
<WORD coords="1403,3661,1513,3597,3660">the</WORD>
<WORD coords="1543,3661,1717,3603,3661">state</WORD>
<WORD coords="1747,3677,1933,3613,3660">array</WORD>
<WORD coords="1961,3677,2043,3597,3661">by</WORD>
<WORD coords="2069,3661,2367,3597,3659">different</WORD>
<WORD coords="2395,3661,2635,3597,3660">offsets</WORD>
<WORD coords="2667,3675,2873,3597,3659">(Shift</WORD>
<WORD coords="2905,3675,3143,3597,3660">Rows)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,3785,705,3723,3783">3.</WORD>
<WORD coords="815,3801,1045,3723,3783">Mixing</WORD>
<WORD coords="1073,3785,1185,3723,3784">the</WORD>
<WORD coords="1215,3785,1373,3723,3785">data</WORD>
<WORD coords="1397,3785,1603,3721,3783">within</WORD>
<WORD coords="1637,3785,1807,3723,3784">each</WORD>
<WORD coords="1839,3785,2101,3723,3784">column</WORD>
<WORD coords="2133,3799,2295,3723,3783">(Mix</WORD>
<WORD coords="2323,3801,2697,3721,3784">Columns)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="643,3909,705,3849,3909">4.</WORD>
<WORD coords="813,3927,1063,3847,3909">Adding</WORD>
<WORD coords="1099,3911,1331,3847,3909">Round</WORD>
<WORD coords="1365,3927,1489,3847,3910">key</WORD>
<WORD coords="1513,3911,1579,3853,3911">to</WORD>
<WORD coords="1605,3911,1717,3847,3910">the</WORD>
<WORD coords="1747,3911,1921,3853,3911">state</WORD>
<WORD coords="1953,3925,2133,3847,3910">(Add</WORD>
<WORD coords="2169,3911,2419,3847,3910">Round</WORD>
<WORD coords="2453,3927,2623,3847,3910">Key)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,4051,645,3989,4051">In</WORD>
<WORD coords="675,4053,787,3989,4052">the</WORD>
<WORD coords="821,4053,901,3991,4052">10</WORD>
<WORD coords="905,4027,947,3985,4026">th</WORD>
<WORD coords="979,4061,1203,3989,4052">round,</WORD>
<WORD coords="1233,4053,1345,3989,4052">the</WORD>
<WORD coords="1375,4053,1595,3989,4052">above</WORD>
<WORD coords="1625,4069,1817,3995,4053">steps</WORD>
<WORD coords="1847,4053,1961,4005,4052">are</WORD>
<WORD coords="1993,4069,2311,3989,4052">repeated</WORD>
<WORD coords="2343,4069,2685,3989,4052">excluding</WORD>
<WORD coords="2715,4053,2827,3989,4052">the</WORD>
<WORD coords="2859,4051,2979,3989,4051">Mix</WORD>
<WORD coords="3011,4053,3335,3989,4052">Columns</WORD>
<WORD coords="3363,4069,3535,3995,4053">step.</WORD>
<WORD coords="3571,4069,3909,3989,4051">Following</WORD>
<WORD coords="3941,4053,4239,3989,4052">sections</WORD>
<WORD coords="4271,4069,4525,3989,4051">explain</WORD>
</LINE>
<LINE>
<WORD coords="585,4161,757,4099,4160">each</WORD>
<WORD coords="787,4161,853,4097,4160">of</WORD>
<WORD coords="879,4161,1057,4099,4160">them</WORD>
<WORD coords="1091,4159,1145,4099,4159">in</WORD>
<WORD coords="1177,4161,1389,4099,4160">detail.</WORD>
<WORD coords="1421,4161,1559,4097,4159">The</WORD>
<WORD coords="1589,4161,1827,4099,4159">overall</WORD>
<WORD coords="1859,4177,2143,4113,4160">process</WORD>
<WORD coords="2173,4161,2237,4099,4160">of</WORD>
<WORD coords="2265,4161,2425,4097,4159">AES</WORD>
<WORD coords="2455,4177,2831,4099,4160">encryption</WORD>
<WORD coords="2865,4161,2917,4099,4160">is</WORD>
<WORD coords="2947,4161,3295,4099,4160">illustrated</WORD>
<WORD coords="3327,4159,3381,4097,4159">in</WORD>
<WORD coords="3411,4161,3523,4099,4160">the</WORD>
<WORD coords="3549,4177,3753,4099,4159">figure</WORD>
<WORD coords="3785,4161,4017,4099,4160">below:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0004.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0005.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0005.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,565,811,495,549">Figure</WORD>
<WORD coords="837,551,959,495,546">3-1.</WORD>
<WORD coords="1107,551,1255,493,549">AES</WORD>
<WORD coords="1285,565,1665,493,549">Encryption</WORD>
<WORD coords="1697,551,1895,493,549">Block</WORD>
<WORD coords="1919,565,2205,495,550">diagram</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="585,3393,723,3329,3391">The</WORD>
<WORD coords="759,3393,1003,3329,3392">128-bit</WORD>
<WORD coords="1031,3409,1205,3329,3392">input</WORD>
<WORD coords="1235,3393,1423,3329,3392">block</WORD>
<WORD coords="1451,3393,1517,3329,3392">of</WORD>
<WORD coords="1543,3393,1701,3329,3393">data</WORD>
<WORD coords="1731,3393,1783,3329,3392">is</WORD>
<WORD coords="1813,3409,2189,3329,3392">processed</WORD>
<WORD coords="2221,3409,2673,3329,3393">byte-by-byte</WORD>
<WORD coords="2703,3393,2833,3329,3391">and</WORD>
<WORD coords="2867,3409,3157,3329,3392">mapped</WORD>
<WORD coords="3191,3393,3315,3329,3392">into</WORD>
<WORD coords="3347,3393,3387,3345,3393">a</WORD>
<WORD coords="3413,3391,3543,3331,3391">4x4</WORD>
<WORD coords="3575,3409,3723,3329,3393">byte</WORD>
<WORD coords="3755,3393,3973,3329,3391">matrix</WORD>
<WORD coords="4001,3393,4097,3329,3391">for</WORD>
<WORD coords="4125,3409,4517,3329,3392">processing</WORD>
</LINE>
<LINE>
<WORD coords="585,3501,1045,3437,3500">convenience</WORD>
<WORD coords="1075,3501,1157,3453,3501">as</WORD>
<WORD coords="1189,3517,1303,3453,3500">per</WORD>
<WORD coords="1327,3501,1439,3437,3499">the</WORD>
<WORD coords="1469,3501,1629,3437,3499">AES</WORD>
<WORD coords="1659,3501,1997,3437,3500">standard.</WORD>
<WORD coords="2033,3501,2209,3437,3500">Each</WORD>
<WORD coords="2243,3501,2433,3437,3500">block</WORD>
<WORD coords="2461,3501,2525,3437,3500">of</WORD>
<WORD coords="2557,3517,2727,3437,3500">input</WORD>
<WORD coords="2759,3501,2889,3437,3500">and</WORD>
<WORD coords="2917,3501,3029,3437,3500">the</WORD>
<WORD coords="3061,3501,3511,3437,3500">intermediate</WORD>
<WORD coords="3543,3517,3757,3437,3500">inputs</WORD>
<WORD coords="3787,3501,4091,3437,3500">between</WORD>
<WORD coords="4121,3501,4233,3437,3500">the</WORD>
<WORD coords="4261,3501,4559,3437,3499">different</WORD>
</LINE>
<LINE>
<WORD coords="589,3609,833,3547,3608">rounds</WORD>
<WORD coords="865,3609,917,3547,3608">is</WORD>
<WORD coords="949,3625,1239,3547,3608">mapped</WORD>
<WORD coords="1273,3609,1399,3547,3608">into</WORD>
<WORD coords="1429,3609,1469,3563,3609">a</WORD>
<WORD coords="1495,3607,1627,3547,3607">4x4</WORD>
<WORD coords="1655,3609,1829,3551,3609">state</WORD>
<WORD coords="1861,3609,2081,3547,3607">matrix</WORD>
<WORD coords="2111,3609,2191,3563,3609">as</WORD>
<WORD coords="2221,3609,2453,3547,3607">shown</WORD>
<WORD coords="2487,3607,2541,3545,3607">in</WORD>
<WORD coords="2571,3609,2683,3547,3608">the</WORD>
<WORD coords="2711,3625,2913,3545,3607">figure</WORD>
<WORD coords="2945,3609,3175,3547,3608">below:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,3823,811,3751,3807">Figure</WORD>
<WORD coords="835,3807,959,3751,3803">3-2.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="683,4067,806,3998,4062">So,Q</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="940,4067,1063,3998,4062">Sq.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,4067,1330,3998,4062">Sq.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1502,4067,1629,3998,4062">So,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="683,4254,806,4185,4249">Sl.Q</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="940,4254,1063,4185,4249">Si.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1201,4255,1333,4185,4253">Su</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1502,4249,1576,4185,4249">Si</WORD>
<WORD coords="1587,4254,1628,4206,4251">,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="683,4437,807,4367,4431">S2.Q</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="940,4442,1063,4367,4434">S2,l</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1202,4436,1330,4367,4436">S2.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1503,4433,1551,4367,4433">S</WORD>
<WORD coords="1555,4437,1629,4389,4437">2.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="683,4624,806,4554,4623">S&apos;3,0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="940,4623,1020,4554,4623">S3</WORD>
<WORD coords="1024,4629,1036,4613,4629">(</WORD>
<WORD coords="1042,4623,1063,4581,4623">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1206,4623,1330,4554,4623">$3.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1502,4629,1630,4554,4623">S3.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4947,451,4883,4945">3.1.1</WORD>
<WORD coords="585,4963,1157,4883,4946">AddRoundKey</WORD>
<WORD coords="1183,4947,1789,4883,4945">Transformation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,5089,645,5027,5089">In</WORD>
<WORD coords="675,5091,801,5027,5090">this</WORD>
<WORD coords="827,5101,1375,5027,5090">transformation,</WORD>
<WORD coords="1407,5091,1517,5027,5090">the</WORD>
<WORD coords="1553,5091,1785,5027,5090">Round</WORD>
<WORD coords="1817,5107,1941,5027,5090">key</WORD>
<WORD coords="1971,5091,2021,5027,5090">is</WORD>
<WORD coords="2051,5091,2275,5027,5091">added</WORD>
<WORD coords="2303,5091,2369,5033,5091">to</WORD>
<WORD coords="2397,5091,2507,5027,5090">the</WORD>
<WORD coords="2539,5091,2725,5027,5091">State</WORD>
<WORD coords="2757,5107,2839,5027,5091">by</WORD>
<WORD coords="2867,5091,3113,5027,5090">bitwise</WORD>
<WORD coords="3143,5091,3317,5027,5089">XOR</WORD>
<WORD coords="3347,5107,3707,5027,5090">operation.</WORD>
<WORD coords="3739,5091,3877,5027,5089">The</WORD>
<WORD coords="3911,5091,4145,5027,5090">Round</WORD>
<WORD coords="4177,5107,4301,5027,5090">key</WORD>
<WORD coords="4325,5091,4421,5027,5089">for</WORD>
<WORD coords="4449,5091,4621,5027,5090">each</WORD>
</LINE>
<LINE>
<WORD coords="587,5197,789,5135,5196">round</WORD>
<WORD coords="823,5197,947,5135,5196">has</WORD>
<WORD coords="975,5197,1039,5139,5197">to</WORD>
<WORD coords="1071,5197,1155,5135,5197">be</WORD>
<WORD coords="1185,5213,1553,5135,5196">generated</WORD>
<WORD coords="1583,5197,1741,5135,5195">from</WORD>
<WORD coords="1773,5197,1883,5135,5196">the</WORD>
<WORD coords="1917,5213,2051,5133,5196">Key</WORD>
<WORD coords="2083,5213,2459,5133,5195">Expansion</WORD>
<WORD coords="2491,5197,2695,5135,5195">which</WORD>
<WORD coords="2729,5197,2779,5135,5196">is</WORD>
<WORD coords="2809,5213,3159,5135,5196">explained</WORD>
<WORD coords="3191,5195,3245,5133,5195">in</WORD>
<WORD coords="3275,5197,3387,5135,5196">the</WORD>
<WORD coords="3415,5213,3677,5135,5195">coming</WORD>
<WORD coords="3707,5197,4027,5135,5196">sections.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4417,6295,4643,6193,6295">lTI©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0005.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0006.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0006.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,567,811,495,551">Figure</WORD>
<WORD coords="835,553,959,495,548">3-3.</WORD>
<WORD coords="1107,567,1625,495,551">AddRoundKey</WORD>
<WORD coords="1647,553,2191,495,551">Transformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="726,913,835,853,908">So.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="955,913,1060,853,908">So.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1189,908,1259,853,908">So</WORD>
<WORD coords="1264,913,1299,873,910">,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1453,908,1523,853,908">So</WORD>
<WORD coords="1528,913,1562,873,910">,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="726,1072,835,1012,1067">Si.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="955,1072,1060,1012,1067">Si.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1189,1067,1254,1012,1067">Si</WORD>
<WORD coords="1264,1072,1299,1032,1069">,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1453,1067,1518,1012,1067">Si</WORD>
<WORD coords="1528,1072,1562,1032,1069">,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="726,1222,766,1167,1222">S</WORD>
<WORD coords="771,1227,835,1187,1223">2.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="955,1222,995,1167,1222">S</WORD>
<WORD coords="1000,1227,1060,1187,1223">2.1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1189,1227,1299,1167,1223">82.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1453,1227,1562,1167,1222">S2.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="726,1386,835,1326,1381">S3.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="955,1386,1060,1326,1381">Ss.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1189,1381,1259,1326,1381">Ss</WORD>
<WORD coords="1264,1386,1299,1346,1383">.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1453,1386,1562,1326,1381">Ss.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2011,929,2137,873,929">Add</WORD>
<WORD coords="2151,929,2355,873,929">Round</WORD>
<WORD coords="2385,943,2491,873,929">key</WORD>
</LINE>
<LINE>
<WORD coords="2165,1059,2345,1003,1059">SXor</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2065,1169,2301,1097,1153">(Round</WORD>
<WORD coords="2309,1169,2441,1097,1153">key)</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2922,918,3046,858,913">S&apos;a.n</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3151,918,3270,858,913">S&apos;o.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3385,918,3509,858,913">S’o.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3649,913,3689,858,913">S</WORD>
<WORD coords="3708,918,3773,878,914">0.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2922,1077,3046,1017,1072">S&apos;i.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3151,1077,3270,1017,1072">S&apos;i.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3385,1077,3509,1017,1072">S&apos;l.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3649,1072,3703,1017,1072">S&apos;</WORD>
<WORD coords="3713,1077,3773,1037,1074">1,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2922,1232,3051,1172,1227">S&apos;2.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3151,1227,3191,1172,1227">S</WORD>
<WORD coords="3201,1192,3207,1172,1192">&apos;</WORD>
<WORD coords="3211,1227,3236,1192,1227">2</WORD>
<WORD coords="3240,1232,3245,1222,1229">,</WORD>
<WORD coords="3260,1227,3270,1192,0">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3385,1232,3509,1172,1227">S&apos;2.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3649,1232,3778,1172,1227">S&apos;2.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2922,1391,3046,1331,1386">S&apos;s.d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3151,1391,3270,1331,1386">S’3,1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3385,1391,3509,1331,1386">S&apos;a.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3649,1386,3703,1331,1386">S&apos;</WORD>
<WORD coords="3712,1391,3743,1351,1388">3,</WORD>
<WORD coords="3752,1386,3773,1351,0">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,1747,463,1683,1745">3.1.2</WORD>
<WORD coords="585,1763,961,1683,1746">SubBytes</WORD>
<WORD coords="989,1747,1593,1683,1745">Transformation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,1891,723,1827,1889">The</WORD>
<WORD coords="753,1907,1101,1827,1890">SubBytes</WORD>
<WORD coords="1129,1891,1681,1827,1889">Transformation</WORD>
<WORD coords="1717,1891,1767,1827,1890">is</WORD>
<WORD coords="1799,1891,1839,1843,1891">a</WORD>
<WORD coords="1869,1891,2235,1827,1889">non-linear</WORD>
<WORD coords="2263,1907,2411,1827,1891">byte</WORD>
<WORD coords="2441,1891,2853,1827,1890">substitution</WORD>
<WORD coords="2883,1891,3019,1827,1890">that</WORD>
<WORD coords="3047,1907,3367,1833,1890">operates</WORD>
<WORD coords="3399,1907,3911,1827,1890">independently</WORD>
<WORD coords="3937,1891,4021,1843,1890">on</WORD>
<WORD coords="4053,1891,4225,1827,1890">each</WORD>
<WORD coords="4259,1907,4407,1827,1891">byte</WORD>
<WORD coords="4437,1891,4503,1827,1890">of</WORD>
<WORD coords="4527,1891,4639,1827,1890">the</WORD>
</LINE>
<LINE>
<WORD coords="585,1999,759,1941,1999">state</WORD>
<WORD coords="789,2015,979,1935,1998">using</WORD>
<WORD coords="1011,1999,1051,1951,1999">a</WORD>
<WORD coords="1079,1999,1491,1935,1998">substitution</WORD>
<WORD coords="1521,2013,2001,1935,1998">table(S-Box).</WORD>
<WORD coords="2033,1999,2171,1935,1997">The</WORD>
<WORD coords="2199,2015,2401,1935,1997">figure</WORD>
<WORD coords="2433,1999,2645,1935,1998">below</WORD>
<WORD coords="2675,1999,3019,1935,1998">illustrates</WORD>
<WORD coords="3045,1999,3155,1935,1998">the</WORD>
<WORD coords="3187,1999,3409,1935,1998">S-Box</WORD>
<WORD coords="3435,1999,3963,1935,1998">transformation</WORD>
<WORD coords="3993,1999,4059,1935,1998">of</WORD>
<WORD coords="4087,1999,4129,1951,1999">a</WORD>
<WORD coords="4159,1999,4377,1935,1997">matrix</WORD>
<WORD coords="4407,1999,4471,1935,1998">of</WORD>
</LINE>
<LINE>
<WORD coords="587,2123,797,2043,2107">bytes.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,2319,809,2247,2303">Figure</WORD>
<WORD coords="835,2305,957,2249,2300">3-4.</WORD>
<WORD coords="1107,2319,1447,2247,2304">SubBytes</WORD>
<WORD coords="1471,2305,2017,2247,2303">Transformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="713,2519,759,2459,2519">S</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="737,2708,852,2643,2703">So.c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="987,2708,1097,2643,2703">Sd,i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1237,2708,1352,2643,2703">So,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1527,2708,1612,2643,2703">So.</WORD>
<WORD coords="1622,2703,1642,2668,2703">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="737,2878,852,2813,2873">Sl.G</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="987,2873,1052,2813,2873">Si</WORD>
<WORD coords="1067,2878,1097,2838,2875">.1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1237,2873,1307,2813,2873">Si</WORD>
<WORD coords="1317,2878,1352,2838,2875">,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1527,2873,1592,2813,2873">Si</WORD>
<WORD coords="1607,2878,1642,2838,2875">,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="737,3048,782,2988,3048">S</WORD>
<WORD coords="787,3048,812,3013,3048">2</WORD>
<WORD coords="817,3053,852,3013,3048">.C</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="987,3048,1032,2988,3048">S</WORD>
<WORD coords="1037,3053,1097,3013,3049">2.1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1237,3048,1282,2988,3048">S</WORD>
<WORD coords="1287,3053,1357,3013,3049">2.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1527,3053,1642,2988,3048">S2.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="737,3223,852,3158,3218">Ss.c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="987,3223,1098,3158,3218">Ss.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1237,3223,1353,3158,3218">S3.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1527,3223,1612,3158,3218">S3.</WORD>
<WORD coords="1622,3218,1642,3183,0">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3589,2529,3655,2459,2529">S&apos;</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="583,3491,723,3427,3489">The</WORD>
<WORD coords="753,3507,1101,3427,3490">SubBytes</WORD>
<WORD coords="1127,3491,1655,3427,3490">transformation</WORD>
<WORD coords="1687,3507,1945,3427,3490">applies</WORD>
<WORD coords="1975,3491,2195,3427,3490">S-Box</WORD>
<WORD coords="2221,3491,2287,3433,3491">to</WORD>
<WORD coords="2317,3491,2489,3427,3490">each</WORD>
<WORD coords="2523,3507,2671,3427,3491">byte</WORD>
<WORD coords="2703,3489,2757,3427,3489">in</WORD>
<WORD coords="2787,3491,2897,3427,3490">the</WORD>
<WORD coords="2927,3491,3121,3433,3491">state.</WORD>
<WORD coords="3157,3507,3385,3427,3489">Figure</WORD>
<WORD coords="3413,3491,3643,3427,3490">shows</WORD>
<WORD coords="3671,3491,3783,3427,3490">the</WORD>
<WORD coords="3813,3491,4035,3427,3490">S-Box</WORD>
<WORD coords="4063,3491,4477,3427,3490">substitution</WORD>
</LINE>
<LINE>
<WORD coords="583,3599,819,3537,3598">values</WORD>
<WORD coords="847,3599,941,3535,3597">for</WORD>
<WORD coords="965,3599,1077,3537,3598">the</WORD>
<WORD coords="1105,3599,1435,3535,3597">AES-128</WORD>
<WORD coords="1467,3615,1871,3535,3597">Encryption.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,3811,809,3739,3795">Figure</WORD>
<WORD coords="835,3797,957,3741,3793">3-5.</WORD>
<WORD coords="1105,3797,1317,3739,3796">S-Box</WORD>
<WORD coords="1339,3797,1439,3739,3795">for</WORD>
<WORD coords="1463,3797,1611,3739,3795">AES</WORD>
<WORD coords="1639,3811,2021,3739,3795">Encryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2538,4012,2588,3956,4012">y</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1026,4099,1063,4043,4099">0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1238,4099,1269,4043,4099">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1438,4099,1475,4043,4099">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1650,4099,1688,4043,4099">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1856,4093,1888,4043,4093">4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2063,4099,2100,4043,4099">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2269,4099,2306,4043,4099">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2475,4093,2513,4043,4093">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2681,4099,2719,4043,4099">8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2888,4099,2925,4043,4099">9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3094,4099,3132,4056,4099">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3294,4099,3344,4043,4099">b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3506,4099,3545,4056,4099">c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3713,4099,3756,4043,4099">d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3919,4099,3963,4056,4099">e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4125,4099,4169,4043,4099">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4199,881,4143,4199">0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="981,4199,1069,4143,4199">S3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1188,4199,1275,4143,4199">7c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1394,4199,1475,4143,4199">77</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1600,4199,1688,4143,4199">7b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4199,1894,4143,4199">£2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2013,4199,2100,4143,4199">6b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2156,4215,2180,4109,4215">i</WORD>
<WORD coords="2219,4199,2306,4143,4199">6f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4199,2513,4143,4199">□5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2631,4199,2719,4143,4199">30</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2838,4199,2925,4143,4199">01</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,4199,3131,4143,4196">67</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4199,3344,4143,4199">2b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3456,4199,3544,4143,4199">fm</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4199,3750,4143,4199">d7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3869,4199,3963,4149,4199">ab</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4075,4199,4163,4143,4199">76</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4299,875,4243,4299">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="975,4299,1069,4262,4299">ca</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,4299,1269,4243,4299">82</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1388,4299,1481,4243,4299">c9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,4299,1688,4243,4299">7d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4299,1894,4243,4299">£a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4299,2100,4243,4299">59</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,4299,2300,4243,4299">47</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4299,2513,4243,4299">£0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4299,2725,4243,4299">ad</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2831,4299,2919,4243,4299">d4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,4299,3131,4243,4299">a2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4299,3288,4262,4299">a</WORD>
<WORD coords="3306,4299,3338,4243,4299">£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,4299,3545,4243,4299">9c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4299,3750,4243,4299">a4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,4299,3956,4243,4299">72</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4299,4163,4243,4299">cG</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4399,881,4343,4399">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="917,4399,944,4330,4399">r</WORD>
<WORD coords="974,4399,1063,4343,4396">hi</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,4399,1275,4343,4397">fd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,4399,1481,4343,4399">93</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1594,4399,1688,4343,4399">26</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4399,1894,4343,4399">36</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4399,2100,4343,4399">3f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,4399,2300,4343,4398">£7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4399,2519,4356,4399">cc</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4399,2713,4343,4396">34</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,4399,2971,4333,4399">a5l</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3038,4399,3131,4343,4399">e5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4399,3338,4343,4399">£1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,4395,3544,4343,4394">71</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4399,3750,4343,4399">d8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,4399,3956,4343,4399">31</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4399,4163,4343,4399">15</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4493,881,4443,4493">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="975,4499,1063,4442,4496">04</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1181,4493,1269,4443,4493">c7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1388,4499,1481,4437,4496">23</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1537,4499,1564,4430,4499">r</WORD>
<WORD coords="1594,4499,1688,4437,4499">c3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4493,1894,4443,4493">13</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4493,2100,4443,4493">96</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,4498,2306,4443,4495">05</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4493,2519,4443,4493">9a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4493,2719,4443,4493">07</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,4531,2971,4433,4505">12]</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,4493,3131,4443,4493">80</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4493,3338,4443,4493">02</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3450,4493,3545,4443,4493">&amp;h</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4493,3750,4443,4493">27</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3863,4493,3956,4443,4493">b2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4075,4495,4168,4443,4494">75</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4593,881,4543,4593">4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="976,4593,1069,4537,4593">09</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,4593,1275,4537,4593">03</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1388,4593,1481,4537,4593">2c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,4593,1688,4543,4593">la</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4593,1894,4543,4593">lb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4593,2100,4543,4593">60</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2219,4593,2306,4543,4593">5a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4593,2513,4543,4593">aO</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4593,2719,4537,4593">52</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,4593,2931,4537,4593">3b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3038,4593,3131,4537,4593">d6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3244,4593,3338,4537,4593">b3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,4593,3544,4537,4593">29</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4593,3750,4537,4593">e3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,4593,3963,4543,4593">2f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4593,4163,4542,4593">64</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4693,881,4637,4693">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="975,4693,1069,4637,4693">53</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1181,4693,1275,4637,4693">dl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,4693,1481,4637,4693">00</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1594,4693,1688,4637,4693">ed</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4693,1894,4637,4693">20</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4693,2100,4637,4693">£c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2213,4693,2304,4637,4693">bl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4693,2519,4637,4693">5b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4693,2719,4637,4693">6a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,4693,2925,4637,4693">cb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3038,4693,3131,4637,4693">be</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4693,3338,4637,4693">39</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3456,4693,3544,4637,4693">4a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4693,3756,4637,4693">4c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3869,4693,3956,4637,4693">5a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4693,4169,4637,4693">cf</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4793,881,4737,4793">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="917,4793,919,4693,4793">1</WORD>
<WORD coords="975,4793,1063,4737,4793">dQ</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1181,4793,1275,4737,4793">e£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1388,4793,1481,4756,4793">aa</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,4793,1688,4737,4793">fb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4793,1894,4737,4791">43</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4793,2106,4737,4793">4d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,4793,2306,4737,4793">33</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4793,2513,4737,4793">85</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4793,2719,4737,4793">45</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,4793,2875,4737,4793">f</WORD>
<WORD coords="2888,4835,2971,4718,4784">9~j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,4793,3131,4737,4791">02</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4793,3338,4737,4790">7£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,4793,3544,4737,4793">50</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4793,3756,4737,4793">3c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3875,4793,3956,4737,4793">9£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4793,4119,4756,4793">a</WORD>
<WORD coords="4131,4793,4163,4737,4793">8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="719,4937,763,4900,4937">X</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="844,4887,881,4837,4887">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="975,4888,1069,4837,4887">51</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1181,4892,1275,4837,4887">a3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,4889,1481,4837,4888">40</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,4887,1688,4837,4887">flf</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4887,1894,4837,4887">92</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4887,2106,4837,4887">9d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,4893,2301,4837,4890">30</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4893,2513,4837,4890">£5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2625,4887,2719,4837,4887">be</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2831,4887,2925,4837,4887">b6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3042,4887,3138,4837,4887">da</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4887,3338,4837,4887">21</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,4887,3544,4837,4887">10</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4887,3756,4837,4887">ff</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,4893,3956,4837,4887">f3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4890,4163,4837,4890">d2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,4987,881,4937,4987">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="975,4987,1075,4937,4987">cd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,4987,1275,4931,4987">Oc</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,4987,1481,4931,4987">13</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1594,4987,1688,4950,4987">ec</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,4987,1894,4937,4987">5£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,4987,2100,4937,4987">97</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,4987,2300,4937,4987">44</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,4987,2513,4937,4987">17</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,4987,2719,4937,4987">c4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,4987,2881,4950,4987">a.</WORD>
<WORD coords="2888,4987,2925,4937,4987">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16645629">
<PARAGRAPH>
<LINE>
<WORD coords="3044,4987,3131,4937,4987">70</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,4987,3344,4931,4987">3d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,4987,3544,4937,4987">64</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16645629">
<PARAGRAPH>
<LINE>
<WORD coords="3663,4987,3756,4937,4987">5d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,4987,3956,4931,4987">19</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,4987,4163,4937,4987">73</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,5087,881,5031,5087">9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="981,5087,1068,5031,5087">60</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,5087,1275,5031,5087">31</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,5087,1481,5031,5087">4f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1594,5087,1688,5037,5087">dc</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,5087,1894,5031,5087">22</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,5087,2100,5031,5087">2a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2158,5103,2183,5007,5103">1</WORD>
<WORD coords="2219,5087,2306,5031,5087">$0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,5087,2513,5031,5087">S8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,5087,2669,5037,5087">4</WORD>
<WORD coords="2688,5087,2719,5031,5087">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,5087,2925,5050,5087">aa</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3038,5087,3131,5031,5087">b8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,5087,3338,5031,5087">14</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3450,5087,3544,5037,5087">d0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,5087,3750,5037,5087">50</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,5087,3963,5031,5087">0b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,5087,4169,5037,5087">db</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,5187,881,5150,5187">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="975,5187,1063,5131,5187">eQ</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,5187,1269,5131,5187">32</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,5187,1431,5131,5187">3</WORD>
<WORD coords="1439,5187,1481,5150,5187">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,5187,1638,5131,5187">0</WORD>
<WORD coords="1644,5187,1688,5150,5187">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,5187,1838,5131,5187">4</WORD>
<WORD coords="1856,5187,1894,5131,5187">9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,5187,2100,5131,5187">06</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2213,5187,2250,5131,5187">2</WORD>
<WORD coords="2269,5187,2300,5131,5187">4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,5187,2519,5131,5187">5c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,5187,2719,5131,5187">c2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2831,5187,2971,5120,5187">d3l</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3043,5187,3139,5143,5187">at</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3256,5187,3338,5131,5187">62</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3463,5187,3538,5131,5187">91</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3669,5187,3750,5131,5187">95</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,5187,3956,5131,5187">e4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,5182,4113,5131,5184">7</WORD>
<WORD coords="4131,5187,4163,5131,5187">9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="838,5287,883,5231,5287">b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="975,5287,1063,5231,5287">e7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1181,5287,1271,5231,5287">c8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,5287,1481,5231,5284">37</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,5287,1694,5231,5287">6d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,5287,1900,5231,5287">3d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2006,5287,2100,5231,5287">d5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,5287,2306,5231,5284">4£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,5287,2513,5231,5287">a9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,5287,2669,5231,5287">0</WORD>
<WORD coords="2681,5287,2721,5243,5287">c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,5329,2971,5220,5301">56]</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,5287,3131,5231,5284">£4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3250,5287,3344,5243,5287">ea</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,5287,3544,5231,5287">05</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,5287,3756,5231,5287">7a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,5287,3963,5243,5287">ae</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,5287,4163,5231,5287">08</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,5381,881,5343,5381">c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="975,5381,1069,5331,5381">ba</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,5381,1220,5331,5381">7</WORD>
<WORD coords="1238,5381,1271,5331,5381">0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1388,5381,1481,5326,5381">25</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1594,5381,1688,5325,5381">2e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,5381,1894,5331,5381">1c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,5381,2050,5343,5381">a</WORD>
<WORD coords="2069,5381,2100,5331,5381">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2213,5381,2300,5331,5381">b4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,5381,2513,5331,5381">c6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2627,5381,2719,5331,5381">08</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2831,5381,2931,5331,5381">dd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,5381,3131,5331,5381">74</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,5381,3344,5331,5381">if</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,5381,3550,5331,5381">4b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3656,5381,3756,5331,5381">bd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,5381,3963,5331,5381">8b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4081,5381,4169,5331,5381">0a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="838,5481,888,5431,5481">d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="975,5481,1069,5425,5481">70</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,5481,1275,5425,5481">3e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1388,5481,1481,5425,5481">b5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,5481,1688,5425,5481">66</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,5481,1894,5431,5481">43</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,5481,2100,5425,5481">03</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,5481,2256,5431,5481">f</WORD>
<WORD coords="2269,5481,2306,5425,5481">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,5481,2513,5431,5481">Oc</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,5481,2719,5425,5481">61</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,5481,2925,5425,5481">35</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,5481,3131,5430,5481">57</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3244,5481,3338,5425,5481">b9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,5481,3544,5425,5481">86</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,5481,3750,5425,5481">cl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,5481,3963,5425,5481">Id</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4081,5481,4169,5425,5481">9e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="838,5581,881,5543,5581">e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="975,5581,1063,5525,5581">el</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1188,5581,1271,5525,5581">£8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,5581,1481,5525,5581">9S</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1600,5581,1681,5525,5581">11</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1806,5581,1894,5525,5581">69</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2013,5581,2100,5525,5581">69</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,5581,2306,5525,5581">Be</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2431,5581,2512,5525,5581">94</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2638,5581,2725,5525,5581">9b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2838,5581,2925,5525,5581">le</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,5581,3131,5525,5578">87</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,5581,3338,5525,5581">e9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3456,5581,3544,5543,5581">ce</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,5581,3750,5525,5581">55</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3869,5581,3956,5525,5581">28</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,5581,4169,5525,5581">df</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="844,5681,881,5625,5681">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="981,5681,1013,5625,5681">0</WORD>
<WORD coords="1025,5681,1069,5637,5681">C</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1181,5681,1269,5625,5681">al</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1394,5681,1481,5625,5681">B9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1600,5681,1689,5625,5681">Qd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1800,5681,1894,5625,5679">bf</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2006,5681,2100,5625,5681">c6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2219,5681,2300,5625,5679">42</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2425,5681,2513,5625,5681">68</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2631,5675,2719,5625,5675">41</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2838,5712,2971,5611,5691">99]</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3044,5681,3138,5625,5681">2d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3250,5681,3338,5625,5681">0£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3450,5681,3544,5625,5681">b0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3663,5681,3750,5625,5678">54</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3863,5681,3963,5625,5681">bb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4075,5681,4163,5625,5679">16</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4621,6271,4661,6211,6271">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0006.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0007.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0007.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="285,569,381,505,567">3.1</WORD>
<WORD coords="401,569,463,505,284">.3</WORD>
<WORD coords="585,567,987,505,567">ShiftRows</WORD>
<WORD coords="1011,567,1061,505,567">T</WORD>
<WORD coords="1067,569,1617,505,567">ransformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="589,709,645,647,709">In</WORD>
<WORD coords="675,711,801,647,710">this</WORD>
<WORD coords="827,721,1375,647,710">transformation,</WORD>
<WORD coords="1405,711,1517,647,710">the</WORD>
<WORD coords="1549,727,1739,647,711">bytes</WORD>
<WORD coords="1771,709,1825,647,709">in</WORD>
<WORD coords="1855,711,1967,647,710">the</WORD>
<WORD coords="1999,711,2121,647,710">last</WORD>
<WORD coords="2145,711,2331,647,710">three</WORD>
<WORD coords="2363,711,2531,663,710">rows</WORD>
<WORD coords="2559,711,2625,647,710">of</WORD>
<WORD coords="2651,711,2763,647,710">the</WORD>
<WORD coords="2791,711,2965,653,711">state</WORD>
<WORD coords="2995,711,3109,663,710">are</WORD>
<WORD coords="3139,727,3463,647,710">cyclically</WORD>
<WORD coords="3489,711,3727,647,710">shifted</WORD>
<WORD coords="3761,711,3865,647,710">left</WORD>
<WORD coords="3895,711,4053,663,710">over</WORD>
<WORD coords="4079,711,4377,647,709">different</WORD>
<WORD coords="4405,711,4665,647,710">offsets.</WORD>
</LINE>
<LINE>
<WORD coords="583,819,723,755,817">The</WORD>
<WORD coords="753,819,1083,757,818">elements</WORD>
<WORD coords="1113,817,1167,757,817">in</WORD>
<WORD coords="1197,819,1309,757,818">the</WORD>
<WORD coords="1337,819,1469,755,817">first</WORD>
<WORD coords="1499,819,1627,773,817">row</WORD>
<WORD coords="1655,819,1767,771,818">are</WORD>
<WORD coords="1799,819,1909,761,818">not</WORD>
<WORD coords="1935,819,2195,757,818">shifted.</WORD>
<WORD coords="2227,819,2365,755,817">The</WORD>
<WORD coords="2395,819,2607,757,818">below</WORD>
<WORD coords="2637,835,3161,757,818">representation</WORD>
<WORD coords="3193,819,3691,757,818">demonstrates</WORD>
<WORD coords="3717,819,3829,757,818">the</WORD>
<WORD coords="3859,819,4229,755,817">ShiftRows</WORD>
</LINE>
<LINE>
<WORD coords="583,929,1107,865,928">transformation</WORD>
<WORD coords="1139,945,1401,865,928">applied</WORD>
<WORD coords="1431,929,1515,881,928">on</WORD>
<WORD coords="1545,929,1657,865,928">the</WORD>
<WORD coords="1685,929,1859,871,929">state</WORD>
<WORD coords="1891,945,2093,881,928">array.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,1141,811,1069,1125">Figure</WORD>
<WORD coords="837,1127,959,1071,1123">3-6.</WORD>
<WORD coords="1107,1127,1471,1069,1125">ShiftRows</WORD>
<WORD coords="1493,1127,2039,1069,1125">Transformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,2347,463,2283,1954">3.1.4</WORD>
<WORD coords="587,2347,1075,2283,2345">MixColumns</WORD>
<WORD coords="1101,2347,1705,2283,2345">Transformation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,2489,1037,2425,2487">MixColumns</WORD>
<WORD coords="1065,2489,1589,2427,2488">transformation</WORD>
<WORD coords="1621,2505,1939,2431,2488">operates</WORD>
<WORD coords="1969,2489,2231,2427,2488">column</WORD>
<WORD coords="2263,2505,2345,2427,2489">by</WORD>
<WORD coords="2371,2489,2631,2427,2488">column</WORD>
<WORD coords="2663,2489,2747,2441,2488">on</WORD>
<WORD coords="2777,2489,2889,2427,2488">the</WORD>
<WORD coords="2917,2489,3091,2431,2489">state</WORD>
<WORD coords="3123,2489,3343,2427,2487">matrix</WORD>
<WORD coords="3373,2505,3673,2425,2487">applying</WORD>
<WORD coords="3707,2505,4097,2425,2487">polynomial</WORD>
<WORD coords="4125,2489,4651,2427,2488">transformation</WORD>
</LINE>
<LINE>
<WORD coords="585,2597,669,2549,2596">on</WORD>
<WORD coords="701,2597,871,2535,2596">each</WORD>
<WORD coords="903,2597,1187,2535,2596">column.</WORD>
<WORD coords="1217,2597,1357,2533,2595">The</WORD>
<WORD coords="1385,2597,1689,2535,2596">columns</WORD>
<WORD coords="1719,2597,1833,2549,2596">are</WORD>
<WORD coords="1861,2597,2261,2535,2596">considered</WORD>
<WORD coords="2293,2597,2373,2549,2597">as</WORD>
<WORD coords="2401,2597,2733,2533,2596">four-term</WORD>
<WORD coords="2769,2613,3199,2535,2595">polynomials</WORD>
<WORD coords="3229,2597,3387,2551,2596">over</WORD>
<WORD coords="3413,2613,3597,2533,2596">GF(2</WORD>
<WORD coords="3603,2571,3631,2531,2571">8</WORD>
<WORD coords="3635,2613,3653,2535,2613">)</WORD>
<WORD coords="3687,2597,3817,2535,2596">and</WORD>
<WORD coords="3851,2613,4193,2535,2595">multiplied</WORD>
<WORD coords="4225,2597,4489,2535,2596">modulo</WORD>
</LINE>
<LINE>
<WORD coords="585,2705,621,2661,2705">x</WORD>
<WORD coords="625,2681,653,2641,2681">4</WORD>
<WORD coords="657,2707,731,2645,2705">+1</WORD>
<WORD coords="773,2707,913,2645,2705">with</WORD>
<WORD coords="945,2707,987,2661,2707">a</WORD>
<WORD coords="1013,2707,1183,2643,2705">fixed</WORD>
<WORD coords="1215,2723,1605,2645,2705">polynomial</WORD>
<WORD coords="1635,2723,1793,2645,2706">a(x),</WORD>
<WORD coords="1825,2723,2015,2645,2705">given</WORD>
<WORD coords="2049,2723,2151,2645,2707">by:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1981,2863,2115,2785,2846">a(x)</WORD>
<WORD coords="2149,2837,2189,2815,2850">=</WORD>
<WORD coords="2219,2863,2403,2785,2845">{03}x</WORD>
<WORD coords="2407,2821,2433,2781,2821">3</WORD>
<WORD coords="2463,2847,2503,2805,2852">+</WORD>
<WORD coords="2535,2863,2635,2785,2854">{01</WORD>
<WORD coords="2653,2863,2717,2785,2845">}x</WORD>
<WORD coords="2723,2821,2749,2781,2821">2</WORD>
<WORD coords="2779,2847,2819,2805,2852">+</WORD>
<WORD coords="2849,2863,2949,2785,2854">{01</WORD>
<WORD coords="2969,2863,3033,2785,2845">}x</WORD>
<WORD coords="3063,2847,3105,2805,2855">+</WORD>
<WORD coords="3135,2863,3273,2785,2854">{02}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,3061,811,2991,3045">Figure</WORD>
<WORD coords="837,3047,959,2991,3042">3-7.</WORD>
<WORD coords="1109,3047,1549,2989,3045">MixColumns</WORD>
<WORD coords="1573,3047,2117,2989,3045">Transformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4207,463,4143,3504">3.1.5</WORD>
<WORD coords="585,4207,639,4143,4207">C</WORD>
<WORD coords="669,4223,1273,4143,4205">Implementation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4349,723,4285,4347">The</WORD>
<WORD coords="751,4349,911,4285,4347">AES</WORD>
<WORD coords="945,4365,1325,4287,4347">Encryption</WORD>
<WORD coords="1359,4349,1411,4287,4348">is</WORD>
<WORD coords="1443,4365,1911,4287,4348">implemented</WORD>
<WORD coords="1943,4347,1997,4285,4347">in</WORD>
<WORD coords="2027,4349,2137,4287,4348">the</WORD>
<WORD coords="2167,4349,2451,4285,4348">function</WORD>
<WORD coords="2483,4365,2967,4285,4348">aes_cipher()</WORD>
<WORD coords="2999,4347,3053,4287,4347">in</WORD>
<WORD coords="3083,4349,3195,4287,4348">the</WORD>
<WORD coords="3225,4349,3437,4301,4349">aes.c.</WORD>
<WORD coords="3469,4349,3607,4285,4347">The</WORD>
<WORD coords="3637,4365,3829,4291,4349">steps</WORD>
<WORD coords="3859,4365,4209,4285,4348">SubBytes</WORD>
<WORD coords="4239,4349,4369,4287,4348">and</WORD>
</LINE>
<LINE>
<WORD coords="585,4457,953,4393,4455">ShiftRows</WORD>
<WORD coords="983,4457,1095,4409,4456">are</WORD>
<WORD coords="1125,4457,1479,4393,4456">combined</WORD>
<WORD coords="1513,4455,1567,4395,4455">in</WORD>
<WORD coords="1599,4457,1641,4411,4457">a</WORD>
<WORD coords="1667,4473,1879,4395,4455">single</WORD>
<WORD coords="1907,4457,2191,4393,4456">function</WORD>
<WORD coords="2221,4457,2287,4399,4457">to</WORD>
<WORD coords="2315,4473,2619,4395,4455">optimize</WORD>
<WORD coords="2647,4457,2757,4395,4456">the</WORD>
<WORD coords="2787,4457,2981,4395,4457">code.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4599,677,4535,4598">To</WORD>
<WORD coords="707,4615,899,4535,4598">begin</WORD>
<WORD coords="929,4609,1093,4535,4597">with,</WORD>
<WORD coords="1125,4599,1257,4551,4598">one</WORD>
<WORD coords="1289,4599,1477,4535,4598">block</WORD>
<WORD coords="1505,4599,1571,4535,4598">of</WORD>
<WORD coords="1597,4599,1707,4535,4598">the</WORD>
<WORD coords="1739,4615,1905,4535,4597">plain</WORD>
<WORD coords="1933,4599,2065,4541,4598">text</WORD>
<WORD coords="2095,4599,2147,4535,4598">is</WORD>
<WORD coords="2175,4615,2415,4535,4598">copied</WORD>
<WORD coords="2447,4599,2573,4535,4598">into</WORD>
<WORD coords="2603,4599,2687,4551,4598">an</WORD>
<WORD coords="2719,4599,3169,4535,4598">intermediate</WORD>
<WORD coords="3201,4599,3399,4535,4599">State</WORD>
<WORD coords="3429,4615,3633,4551,4598">array.</WORD>
<WORD coords="3669,4597,3725,4535,4597">In</WORD>
<WORD coords="3761,4599,3995,4535,4598">Round</WORD>
<WORD coords="4027,4609,4085,4537,4605">0,</WORD>
<WORD coords="4117,4599,4227,4535,4598">the</WORD>
<WORD coords="4257,4599,4431,4541,4599">state</WORD>
<WORD coords="4463,4615,4647,4551,4598">array</WORD>
</LINE>
<LINE>
<WORD coords="587,4707,639,4645,4706">is</WORD>
<WORD coords="667,4707,961,4643,4706">XOR-ed</WORD>
<WORD coords="991,4707,1131,4645,4705">with</WORD>
<WORD coords="1161,4707,1271,4645,4706">the</WORD>
<WORD coords="1307,4707,1539,4645,4706">Round</WORD>
<WORD coords="1573,4723,1697,4645,4706">key</WORD>
<WORD coords="1723,4707,1783,4645,4705">0.</WORD>
<WORD coords="1815,4707,1953,4643,4705">The</WORD>
<WORD coords="1983,4723,2407,4645,4706">subsequent</WORD>
<WORD coords="2435,4707,2475,4645,4707">9</WORD>
<WORD coords="2509,4707,2785,4645,4706">Rounds</WORD>
<WORD coords="2817,4707,2929,4659,4706">are</WORD>
<WORD coords="2961,4723,3429,4643,4706">implemented</WORD>
<WORD coords="3459,4707,3541,4661,4707">as</WORD>
<WORD coords="3571,4705,3625,4643,4705">in</WORD>
<WORD coords="3655,4707,3767,4645,4706">the</WORD>
<WORD coords="3797,4707,4011,4645,4706">below</WORD>
<WORD coords="4037,4707,4211,4645,4707">code</WORD>
<WORD coords="4241,4723,4529,4643,4706">snippet:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="685,4961,927,4903,4957">//Round</WORD>
<WORD coords="973,4957,1003,4909,4957">1</WORD>
<WORD coords="1039,4957,1107,4909,4957">to</WORD>
<WORD coords="1151,4957,1179,4909,4957">9</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="685,5049,783,4995,5049">for</WORD>
<WORD coords="833,5067,1035,4995,5049">(round</WORD>
<WORD coords="1079,5037,1111,5019,5043">=</WORD>
<WORD coords="1151,5061,1209,5001,5049">lj</WORD>
<WORD coords="1259,5049,1429,4995,5049">round</WORD>
<WORD coords="1475,5049,1501,5007,5049">&lt;</WORD>
<WORD coords="1691,5049,1861,4995,5049">round</WORD>
<WORD coords="1903,5067,2041,4995,5058">++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="825,5147,891,5089,5135">/*</WORD>
<WORD coords="937,5141,1035,5089,5141">Sub</WORD>
<WORD coords="1079,5159,1251,5095,5141">Bytes</WORD>
<WORD coords="1295,5141,1393,5089,5141">and</WORD>
<WORD coords="1439,5141,1609,5089,5141">Shift</WORD>
<WORD coords="1655,5141,1789,5095,5141">Rows</WORD>
<WORD coords="1835,5147,1897,5089,5132">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="829,5253,1497,5183,5235">SubBytes_ShiftRows(</WORD>
<WORD coords="1511,5235,1681,5189,5235">state</WORD>
</LINE>
<LINE>
<WORD coords="825,5333,891,5275,5333">l*</WORD>
<WORD coords="931,5327,1039,5275,5327">Mix</WORD>
<WORD coords="1075,5327,1323,5275,5327">Columns</WORD>
<WORD coords="1367,5333,1429,5275,5319">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="823,5437,1245,5367,5420">MixCcluimnns(</WORD>
<WORD coords="1259,5421,1429,5373,5421">state</WORD>
<WORD coords="1445,5437,1491,5367,5417">)&apos;</WORD>
<WORD coords="1475,5431,1497,5407,5431">3</WORD>
</LINE>
<LINE>
<WORD coords="823,5521,891,5461,5506">/*</WORD>
<WORD coords="931,5515,1035,5461,5515">Add</WORD>
<WORD coords="1079,5531,1359,5461,5515">RoundKey</WORD>
<WORD coords="1403,5521,1465,5461,5506">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="823,5623,1245,5553,5607">AddRoundKey(</WORD>
<WORD coords="1259,5607,1429,5559,5607">state</WORD>
<WORD coords="1439,5617,1461,5593,5617">j</WORD>
<WORD coords="1475,5607,1645,5553,5607">round</WORD>
<WORD coords="1659,5623,1677,5553,5623">)</WORD>
<WORD coords="1691,5617,1713,5571,5617">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="685,5717,711,5647,5717">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,5887,723,5823,5885">The</WORD>
<WORD coords="751,5887,897,5825,5885">final</WORD>
<WORD coords="931,5887,1133,5825,5886">round</WORD>
<WORD coords="1167,5887,1219,5825,5886">is</WORD>
<WORD coords="1249,5903,1619,5823,5886">performed</WORD>
<WORD coords="1651,5903,1993,5825,5886">excluding</WORD>
<WORD coords="2023,5887,2135,5825,5886">the</WORD>
<WORD coords="2167,5887,2619,5823,5885">MixColumns</WORD>
<WORD coords="2647,5903,2799,5829,5887">step</WORD>
<WORD coords="2825,5887,2891,5829,5887">to</WORD>
<WORD coords="2921,5903,3067,5825,5885">give</WORD>
<WORD coords="3093,5887,3205,5825,5886">the</WORD>
<WORD coords="3235,5903,3475,5823,5885">Cipher</WORD>
<WORD coords="3501,5887,3633,5829,5886">text</WORD>
<WORD coords="3661,5903,3905,5829,5887">output.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4417,6295,4643,6193,6295">lTI©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0007.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0008.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0008.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,575,417,499,573">3.2</WORD>
<WORD coords="589,595,765,499,574">Key</WORD>
<WORD coords="799,595,1291,499,573">Expansion</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,719,723,655,717">The</WORD>
<WORD coords="751,719,911,655,717">AES</WORD>
<WORD coords="941,735,1275,655,717">algorithm</WORD>
<WORD coords="1307,735,1457,661,719">gets</WORD>
<WORD coords="1485,719,1595,655,718">the</WORD>
<WORD coords="1627,735,1867,655,717">Cipher</WORD>
<WORD coords="1897,735,2033,655,718">Key</WORD>
<WORD coords="2059,719,2219,655,717">from</WORD>
<WORD coords="2249,719,2359,655,718">the</WORD>
<WORD coords="2391,719,2547,671,718">user</WORD>
<WORD coords="2575,719,2705,655,717">and</WORD>
<WORD coords="2737,719,2905,671,719">uses</WORD>
<WORD coords="2933,719,3045,655,718">the</WORD>
<WORD coords="3079,735,3215,655,718">Key</WORD>
<WORD coords="3245,735,3621,655,717">Expansion</WORD>
<WORD coords="3657,719,3933,655,718">Routine</WORD>
<WORD coords="3961,719,4025,661,719">to</WORD>
<WORD coords="4055,735,4377,661,718">generate</WORD>
<WORD coords="4405,719,4517,655,718">the</WORD>
<WORD coords="4547,719,4667,655,719">Set</WORD>
</LINE>
<LINE>
<WORD coords="585,827,649,765,826">of</WORD>
<WORD coords="683,827,915,763,826">Round</WORD>
<WORD coords="947,843,1109,765,826">keys</WORD>
<WORD coords="1141,827,1371,765,825">known</WORD>
<WORD coords="1403,827,1485,781,827">as</WORD>
<WORD coords="1511,827,1625,765,826">the</WORD>
<WORD coords="1657,843,1793,763,826">Key</WORD>
<WORD coords="1821,827,2181,763,826">Schedule.</WORD>
<WORD coords="2217,827,2333,763,825">For</WORD>
<WORD coords="2359,827,2471,765,826">the</WORD>
<WORD coords="2499,827,2829,763,825">AES-128</WORD>
<WORD coords="2859,843,3235,765,826">encryption</WORD>
<WORD coords="3267,827,3397,765,826">and</WORD>
<WORD coords="3429,843,3825,765,826">decryption,</WORD>
<WORD coords="3857,827,3967,765,826">the</WORD>
<WORD coords="4001,843,4137,763,826">Key</WORD>
<WORD coords="4169,843,4543,763,825">Expansion</WORD>
</LINE>
<LINE>
<WORD coords="589,935,865,871,934">Routine</WORD>
<WORD coords="893,951,1257,877,934">generates</WORD>
<WORD coords="1289,935,1329,889,935">a</WORD>
<WORD coords="1357,935,1463,877,935">set</WORD>
<WORD coords="1491,935,1555,873,934">of</WORD>
<WORD coords="1585,935,1823,873,934">eleven</WORD>
<WORD coords="1859,935,2105,871,934">128-bit</WORD>
<WORD coords="2137,935,2369,871,934">Round</WORD>
<WORD coords="2401,951,2565,873,934">keys</WORD>
<WORD coords="2595,935,2753,871,933">from</WORD>
<WORD coords="2783,935,2895,873,934">the</WORD>
<WORD coords="2931,935,3175,873,934">128-bit</WORD>
<WORD coords="3203,951,3443,871,933">Cipher</WORD>
<WORD coords="3475,951,3629,871,934">Key.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,1079,723,1015,1077">The</WORD>
<WORD coords="751,1079,881,1015,1077">first</WORD>
<WORD coords="909,1077,951,1017,1077">4</WORD>
<WORD coords="977,1079,1193,1015,1077">words</WORD>
<WORD coords="1225,1093,1383,1015,1081">(128</WORD>
<WORD coords="1413,1079,1535,1015,1078">bits</WORD>
<WORD coords="1565,1079,1631,1015,1078">of</WORD>
<WORD coords="1657,1079,1789,1015,1077">first</WORD>
<WORD coords="1819,1079,2021,1015,1078">round</WORD>
<WORD coords="2053,1095,2199,1015,1078">key)</WORD>
<WORD coords="2233,1079,2297,1015,1078">of</WORD>
<WORD coords="2323,1079,2435,1015,1078">the</WORD>
<WORD coords="2465,1095,2823,1015,1078">expanded</WORD>
<WORD coords="2855,1095,2981,1015,1078">key</WORD>
<WORD coords="3007,1079,3333,1015,1078">schedule</WORD>
<WORD coords="3365,1079,3477,1031,1078">are</WORD>
<WORD coords="3509,1095,3661,1015,1077">kept</WORD>
<WORD coords="3687,1079,3887,1031,1078">same</WORD>
<WORD coords="3917,1079,3997,1031,1079">as</WORD>
<WORD coords="4025,1079,4135,1015,1078">the</WORD>
<WORD coords="4165,1079,4381,1015,1078">actual</WORD>
<WORD coords="4411,1095,4635,1015,1077">cipher</WORD>
</LINE>
<LINE>
<WORD coords="587,1203,727,1123,1186">key.</WORD>
<WORD coords="759,1187,897,1123,1185">The</WORD>
<WORD coords="929,1203,1283,1123,1185">remaining</WORD>
<WORD coords="1315,1187,1403,1125,1186">40</WORD>
<WORD coords="1429,1187,1649,1123,1186">words</WORD>
<WORD coords="1679,1201,1799,1123,1185">(for</WORD>
<WORD coords="1829,1203,2181,1123,1185">remaining</WORD>
<WORD coords="2219,1187,2299,1125,1186">10</WORD>
<WORD coords="2331,1187,2533,1123,1186">round</WORD>
<WORD coords="2567,1203,2755,1123,1186">keys)</WORD>
<WORD coords="2791,1187,2903,1139,1186">are</WORD>
<WORD coords="2933,1187,3301,1123,1186">calculated</WORD>
<WORD coords="3333,1203,3521,1123,1186">using</WORD>
<WORD coords="3551,1187,3663,1123,1186">the</WORD>
<WORD coords="3691,1187,3731,1125,1187">3</WORD>
<WORD coords="3761,1203,4145,1123,1186">operations</WORD>
<WORD coords="4171,1167,4219,1159,1176">-</WORD>
<WORD coords="4249,1197,4505,1123,1186">Rotate,</WORD>
</LINE>
<LINE>
<WORD coords="589,1293,771,1231,1292">Rcon</WORD>
<WORD coords="803,1293,933,1231,1292">and</WORD>
<WORD coords="965,1293,1205,1229,1292">S-Box.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,1435,837,1371,1434">Rotate</WORD>
<WORD coords="871,1433,927,1373,1433">In</WORD>
<WORD coords="957,1435,1083,1373,1434">this</WORD>
<WORD coords="1111,1451,1283,1377,1435">step,</WORD>
<WORD coords="1315,1435,1647,1373,1434">elements</WORD>
<WORD coords="1679,1433,1733,1373,1433">in</WORD>
<WORD coords="1765,1435,1937,1373,1434">each</WORD>
<WORD coords="1967,1435,2229,1373,1434">column</WORD>
<WORD coords="2263,1433,2317,1373,1433">in</WORD>
<WORD coords="2345,1435,2457,1373,1434">the</WORD>
<WORD coords="2489,1435,2691,1373,1434">round</WORD>
<WORD coords="2723,1451,2847,1373,1434">key</WORD>
<WORD coords="2877,1435,3097,1373,1433">matrix</WORD>
<WORD coords="3129,1435,3377,1373,1434">rotated</WORD>
<WORD coords="3407,1451,3727,1373,1433">vertically</WORD>
<WORD coords="3753,1435,4103,1373,1434">clockwise</WORD>
<WORD coords="4135,1451,4217,1373,1435">by</WORD>
<WORD coords="4249,1433,4271,1373,1434">1</WORD>
<WORD coords="4315,1451,4485,1373,1435">byte.</WORD>
</LINE>
<LINE>
<WORD coords="589,1577,813,1515,1576">Rcon:</WORD>
<WORD coords="843,1577,995,1513,1575">This</WORD>
<WORD coords="1025,1593,1177,1519,1577">step</WORD>
<WORD coords="1207,1577,1499,1515,1575">involves</WORD>
<WORD coords="1529,1577,1703,1513,1575">XOR</WORD>
<WORD coords="1731,1577,1871,1515,1575">with</WORD>
<WORD coords="1901,1577,2013,1515,1576">the</WORD>
<WORD coords="2047,1577,2281,1515,1576">Round</WORD>
<WORD coords="2311,1577,2621,1519,1576">constant</WORD>
<WORD coords="2647,1577,2743,1515,1575">for</WORD>
<WORD coords="2767,1577,2879,1515,1576">the</WORD>
<WORD coords="2907,1577,3123,1515,1576">words</WORD>
<WORD coords="3155,1575,3209,1515,1575">in</WORD>
<WORD coords="3239,1577,3351,1515,1576">the</WORD>
<WORD coords="3383,1593,3659,1515,1576">position</WORD>
<WORD coords="3689,1577,3755,1515,1576">of</WORD>
<WORD coords="3785,1593,4063,1513,1575">multiple</WORD>
<WORD coords="4093,1577,4157,1515,1576">of</WORD>
<WORD coords="4189,1575,4303,1515,1575">Nk.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,1719,845,1655,1718">S-Box:</WORD>
<WORD coords="875,1719,1027,1655,1717">This</WORD>
<WORD coords="1055,1719,1251,1655,1718">takes</WORD>
<WORD coords="1277,1719,1389,1655,1718">the</WORD>
<WORD coords="1417,1735,1643,1655,1719">4-byte</WORD>
<WORD coords="1675,1735,1849,1655,1718">input</WORD>
<WORD coords="1877,1719,2007,1655,1718">and</WORD>
<WORD coords="2039,1735,2297,1655,1718">applies</WORD>
<WORD coords="2323,1719,2435,1655,1718">the</WORD>
<WORD coords="2465,1719,2707,1655,1718">S-Box.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,1935,451,1871,1933">3.2.1</WORD>
<WORD coords="585,1935,639,1871,1935">C</WORD>
<WORD coords="671,1951,1273,1871,1933">implementation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,2077,723,2013,2075">The</WORD>
<WORD coords="753,2093,875,2015,2076">key</WORD>
<WORD coords="905,2093,1275,2015,2076">expansion</WORD>
<WORD coords="1309,2077,1555,2015,2076">routine</WORD>
<WORD coords="1587,2077,1639,2015,2076">is</WORD>
<WORD coords="1669,2093,2137,2015,2076">implemented</WORD>
<WORD coords="2169,2075,2223,2013,2075">in</WORD>
<WORD coords="2253,2077,2365,2015,2076">the</WORD>
<WORD coords="2393,2077,2677,2013,2076">function</WORD>
<WORD coords="2713,2093,3275,2013,2075">KeyExpansion</WORD>
<WORD coords="3309,2075,3363,2015,2075">in</WORD>
<WORD coords="3393,2077,3505,2015,2076">the</WORD>
<WORD coords="3535,2077,3749,2029,2077">aes.c.</WORD>
<WORD coords="3779,2077,3919,2013,2075">The</WORD>
<WORD coords="3947,2093,4169,2015,2075">cipher</WORD>
<WORD coords="4197,2093,4321,2015,2076">key</WORD>
<WORD coords="4351,2077,4403,2015,2076">is</WORD>
</LINE>
<LINE>
<WORD coords="587,2187,877,2123,2186">retained</WORD>
<WORD coords="909,2187,991,2139,2187">as</WORD>
<WORD coords="1017,2187,1127,2123,2186">the</WORD>
<WORD coords="1159,2203,1285,2123,2186">key</WORD>
<WORD coords="1309,2187,1403,2123,2185">for</WORD>
<WORD coords="1435,2187,1669,2123,2186">Round</WORD>
<WORD coords="1701,2187,1759,2125,2185">0.</WORD>
<WORD coords="1791,2187,1931,2123,2185">The</WORD>
<WORD coords="1959,2203,2385,2123,2186">subsequent</WORD>
<WORD coords="2415,2203,2607,2123,2187">bytes</WORD>
<WORD coords="2639,2185,2691,2123,2185">in</WORD>
<WORD coords="2721,2187,2831,2123,2186">the</WORD>
<WORD coords="2863,2203,2987,2123,2186">key</WORD>
<WORD coords="3013,2187,3341,2123,2186">schedule</WORD>
<WORD coords="3371,2187,3485,2139,2186">are</WORD>
<WORD coords="3513,2203,3873,2123,2186">computed</WORD>
<WORD coords="3905,2203,3987,2123,2187">by</WORD>
<WORD coords="4015,2203,4205,2123,2186">using</WORD>
<WORD coords="4233,2187,4345,2123,2186">the</WORD>
<WORD coords="4379,2197,4635,2123,2186">Rotate,</WORD>
</LINE>
<LINE>
<WORD coords="589,2293,771,2231,2292">Rcon</WORD>
<WORD coords="803,2293,933,2231,2292">and</WORD>
<WORD coords="965,2293,1175,2229,2292">S-box</WORD>
<WORD coords="1203,2293,1791,2231,2292">transformations.</WORD>
<WORD coords="1823,2293,1961,2229,2291">The</WORD>
<WORD coords="1991,2293,2229,2231,2291">overall</WORD>
<WORD coords="2263,2309,2817,2231,2291">implementation</WORD>
<WORD coords="2847,2293,2913,2229,2292">of</WORD>
<WORD coords="2937,2293,3049,2231,2292">the</WORD>
<WORD coords="3083,2309,3217,2229,2292">Key</WORD>
<WORD coords="3247,2309,3617,2231,2292">expansion</WORD>
<WORD coords="3651,2293,3895,2229,2292">routine</WORD>
<WORD coords="3929,2293,3979,2231,2292">is</WORD>
<WORD coords="4009,2293,4091,2247,2293">as</WORD>
<WORD coords="4119,2293,4391,2229,2291">follows:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="627,2400,848,2359,2396">//Retain</WORD>
<WORD coords="880,2396,962,2359,2396">the</WORD>
<WORD coords="999,2396,1192,2359,2396">initial</WORD>
<WORD coords="1224,2396,1307,2359,2396">for</WORD>
<WORD coords="1343,2396,1478,2359,2396">round</WORD>
<WORD coords="1511,2396,1536,2363,2396">0</WORD>
</LINE>
<LINE>
<WORD coords="626,2461,704,2424,2461">for</WORD>
<WORD coords="745,2473,758,2424,2473">(</WORD>
<WORD coords="798,2461,820,2424,2461">i</WORD>
<WORD coords="855,2453,880,2441,2453">=</WORD>
<WORD coords="909,2469,958,2428,2462">■&amp;;</WORD>
<WORD coords="999,2461,1024,2424,2461">i</WORD>
<WORD coords="1055,2461,1077,2433,2461">&lt;</WORD>
<WORD coords="1114,2469,1187,2428,2465">16;</WORD>
<WORD coords="1228,2473,1363,2424,2461">i+t){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,2539,1015,2490,2527">round_key[</WORD>
<WORD coords="1056,2527,1078,2490,2527">i</WORD>
<WORD coords="1114,2539,1130,2490,2539">]</WORD>
<WORD coords="1168,2518,1195,2506,2522">=</WORD>
<WORD coords="1228,2539,1331,2490,2527">key[</WORD>
<WORD coords="1371,2527,1396,2490,2527">i</WORD>
<WORD coords="1429,2539,1474,2490,2537">];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="627,2604,647,2555,2604">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711421">
<PARAGRAPH>
<LINE>
<WORD coords="627,2727,676,2686,2727">//</WORD>
<WORD coords="712,2735,905,2690,2723">Compute</WORD>
<WORD coords="942,2735,1020,2690,2723">Key</WORD>
<WORD coords="1056,2723,1277,2686,2723">schedule</WORD>
<WORD coords="1310,2723,1364,2686,2723">of</WORD>
<WORD coords="1400,2723,1539,2686,2723">block</WORD>
<WORD coords="1572,2723,1678,2699,2723">size</WORD>
<WORD coords="1711,2723,1794,2686,2723">for</WORD>
<WORD coords="1827,2723,1936,2686,2723">each</WORD>
<WORD coords="1973,2723,2108,2686,2723">round</WORD>
</LINE>
<LINE>
<WORD coords="626,2789,708,2752,2789">for</WORD>
<WORD coords="745,2789,762,2752,2789">f</WORD>
<WORD coords="798,2789,823,2752,2789">i</WORD>
<WORD coords="852,2780,880,2767,2784">=</WORD>
<WORD coords="913,2797,958,2756,2794">1;</WORD>
<WORD coords="999,2789,1024,2752,2789">i</WORD>
<WORD coords="1052,2789,1077,2760,2795">&lt;</WORD>
<WORD coords="1118,2801,1220,2752,2789">(AES</WORD>
<WORD coords="1257,2789,1339,2756,2789">MUM</WORD>
<WORD coords="1367,2789,1421,2756,2789">OF</WORD>
<WORD coords="1457,2789,1621,2756,2789">ROUNDS</WORD>
<WORD coords="1654,2789,1679,2760,2789">4</WORD>
<WORD coords="1715,2801,1789,2752,2796">1);</WORD>
<WORD coords="1830,2801,1965,2752,2789">i44){</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="737,2866,848,2821,2854">temp</WORD>
<WORD coords="881,2846,909,2834,2850">=</WORD>
<WORD coords="942,2866,1216,2817,2854">round_key[</WORD>
<WORD coords="1257,2854,1363,2817,2854">i*16</WORD>
</LINE>
<LINE>
<WORD coords="741,2932,993,2883,2920">round_key</WORD>
<WORD coords="1003,2932,1015,2883,2932">[</WORD>
<WORD coords="1028,2920,1134,2883,2920">i*16</WORD>
<WORD coords="1167,2920,1192,2891,2920">4</WORD>
<WORD coords="1253,2932,1302,2883,2920">O]</WORD>
<WORD coords="1340,2911,1367,2899,2911">=</WORD>
</LINE>
<LINE>
<WORD coords="741,2997,1015,2948,2985">round_key[</WORD>
<WORD coords="1028,2985,1134,2948,2985">i*16</WORD>
<WORD coords="1167,2985,1192,2956,2985">4</WORD>
<WORD coords="1257,2997,1302,2948,2993">1]</WORD>
<WORD coords="1339,2977,1367,2965,2977">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3063,1134,3014,3051">round_key[i*16</WORD>
<WORD coords="1167,3051,1192,3022,3051">4</WORD>
<WORD coords="1257,3063,1302,3014,3059">2]</WORD>
<WORD coords="1340,3042,1367,3030,3042">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3128,1136,3079,3116">round_key[i*16</WORD>
<WORD coords="1167,3116,1192,3087,3116">4</WORD>
<WORD coords="1257,3128,1302,3079,3124">3]</WORD>
<WORD coords="1340,3108,1367,3096,3108">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,3259,993,3210,3247">round_key</WORD>
<WORD coords="1003,3259,1015,3210,3259">[</WORD>
<WORD coords="1028,3247,1134,3210,3247">i*16</WORD>
<WORD coords="1167,3247,1192,3218,3247">4</WORD>
<WORD coords="1253,3259,1302,3210,3255">4]</WORD>
<WORD coords="1339,3239,1367,3227,3239">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3325,1135,3276,3312">round_key[i*16</WORD>
<WORD coords="1167,3312,1192,3284,3312">4</WORD>
<WORD coords="1257,3325,1302,3276,3312">S]</WORD>
<WORD coords="1340,3304,1367,3292,3304">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3390,1015,3341,3378">round_key[</WORD>
<WORD coords="1028,3378,1134,3341,3378">i*16</WORD>
<WORD coords="1168,3378,1192,3349,3378">4</WORD>
<WORD coords="1257,3390,1302,3341,3386">6]</WORD>
<WORD coords="1339,3370,1367,3357,3370">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3456,1015,3407,3443">round_key[</WORD>
<WORD coords="1028,3443,1134,3407,3443">i*16</WORD>
<WORD coords="1167,3443,1192,3415,3443">4</WORD>
<WORD coords="1257,3456,1302,3407,3451">7]</WORD>
<WORD coords="1340,3435,1367,3423,3435">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,3574,819,3550,3574">rou</WORD>
<WORD coords="827,3587,995,3538,3574">nd_key</WORD>
<WORD coords="1003,3587,1018,3538,3587">[</WORD>
<WORD coords="1028,3574,1077,3538,3574">i*</WORD>
<WORD coords="1085,3574,1106,3542,3574">1</WORD>
<WORD coords="1114,3574,1136,3542,3574">6</WORD>
<WORD coords="1167,3574,1192,3546,3574">4</WORD>
<WORD coords="1257,3587,1302,3538,3582">8]</WORD>
<WORD coords="1340,3566,1367,3554,3566">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3652,1015,3603,3640">round_key[</WORD>
<WORD coords="1028,3640,1134,3603,3640">i*16</WORD>
<WORD coords="1167,3640,1192,3611,3640">4</WORD>
<WORD coords="1257,3652,1302,3603,3648">9]</WORD>
<WORD coords="1339,3632,1367,3619,3632">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3718,1015,3669,3705">round_key[</WORD>
<WORD coords="1028,3705,1134,3669,3705">i*16</WORD>
<WORD coords="1167,3705,1192,3677,3705">4</WORD>
<WORD coords="1228,3718,1302,3669,3711">10]</WORD>
<WORD coords="1339,3697,1367,3685,3697">=</WORD>
</LINE>
<LINE>
<WORD coords="741,3783,1134,3734,3771">round_key[i*16</WORD>
<WORD coords="1168,3771,1192,3742,3771">+</WORD>
<WORD coords="1228,3783,1302,3734,3777">11]</WORD>
<WORD coords="1340,3763,1367,3750,3763">=</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1400,2842,1421,2838,2848">-</WORD>
<WORD coords="1453,2854,1482,2821,2860">4</WORD>
<WORD coords="1515,2866,1560,2817,2862">]i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1400,2932,1531,2883,2920">sbo&gt;c[</WORD>
<WORD coords="1572,2932,1965,2883,2920">round_key[i*16</WORD>
<WORD coords="2002,2907,2022,2903,2913">-</WORD>
<WORD coords="2059,2932,2104,2883,2926">3]</WORD>
</LINE>
<LINE>
<WORD coords="1400,2997,1531,2948,2985">sbo&gt;c[</WORD>
<WORD coords="1572,2997,1965,2948,2985">round_key[i*16</WORD>
<WORD coords="2002,2973,2022,2969,2979">-</WORD>
<WORD coords="2059,2997,2104,2948,2991">2]</WORD>
</LINE>
<LINE>
<WORD coords="1400,3063,1531,3014,3051">sbox[</WORD>
<WORD coords="1572,3063,1965,3014,3051">round_key[i*16</WORD>
<WORD coords="2002,3038,2022,3034,3044">-</WORD>
<WORD coords="2059,3063,2104,3014,3057">1]</WORD>
</LINE>
<LINE>
<WORD coords="1400,3128,1531,3079,3116">sbox[</WORD>
<WORD coords="1568,3128,1678,3083,3116">temp</WORD>
<WORD coords="1715,3128,1732,3079,3128">]</WORD>
<WORD coords="1830,3128,2107,3079,3116">round_key[</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1400,3259,1674,3210,3247">round_key[</WORD>
<WORD coords="1691,3259,1908,3210,3247">(i-l)*16</WORD>
<WORD coords="1940,3247,1966,3218,3247">4</WORD>
<WORD coords="1998,3259,2047,3210,3253">4]</WORD>
</LINE>
<LINE>
<WORD coords="1400,3325,1674,3276,3312">round_key[</WORD>
<WORD coords="1691,3325,1908,3276,3312">(i-l)*16</WORD>
<WORD coords="1940,3312,1966,3284,3312">4</WORD>
<WORD coords="2002,3325,2047,3276,3320">5]</WORD>
<WORD coords="2088,3296,2108,3280,3296">A</WORD>
</LINE>
<LINE>
<WORD coords="1400,3390,1674,3341,3378">round_key[</WORD>
<WORD coords="1691,3390,1908,3341,3378">(i-l)*16</WORD>
<WORD coords="1940,3378,1966,3349,3378">4</WORD>
<WORD coords="2002,3390,2047,3341,3386">6]</WORD>
<WORD coords="2088,3362,2108,3345,3362">A</WORD>
</LINE>
<LINE>
<WORD coords="1400,3456,1674,3407,3443">round_key[</WORD>
<WORD coords="1691,3456,1908,3407,3443">(i-l)*16</WORD>
<WORD coords="1940,3443,1966,3415,3443">4</WORD>
<WORD coords="2002,3456,2047,3407,3451">7]</WORD>
<WORD coords="2088,3427,2108,3411,3427">A</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1400,3587,1674,3538,3574">round_key[</WORD>
<WORD coords="1691,3587,1908,3538,3574">(i-l)*16</WORD>
<WORD coords="1940,3574,1966,3546,3574">4</WORD>
<WORD coords="2002,3587,2047,3538,3582">8]</WORD>
<WORD coords="2088,3558,2108,3542,3558">A</WORD>
</LINE>
<LINE>
<WORD coords="1400,3652,1908,3603,3640">round_key[(i-l)*16</WORD>
<WORD coords="1940,3640,1966,3611,3640">4</WORD>
<WORD coords="2002,3652,2047,3603,3648">9]</WORD>
<WORD coords="2085,3624,2108,3607,3624">A</WORD>
</LINE>
<LINE>
<WORD coords="1400,3718,1674,3669,3705">round_key[</WORD>
<WORD coords="1691,3718,1908,3669,3705">(i-l)*16</WORD>
<WORD coords="1940,3718,2047,3669,3710">410]</WORD>
<WORD coords="2088,3689,2108,3673,3689">A</WORD>
</LINE>
<LINE>
<WORD coords="1400,3783,1674,3734,3771">round_key[</WORD>
<WORD coords="1691,3783,1908,3734,3771">(i-l)*16</WORD>
<WORD coords="1940,3783,2047,3734,3775">411]</WORD>
<WORD coords="2088,3754,2108,3738,3754">A</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2145,2932,2161,2883,2932">]</WORD>
<WORD coords="2202,2903,2223,2887,2911">*</WORD>
<WORD coords="2260,2932,2534,2883,2920">round_key[</WORD>
<WORD coords="2550,2932,2767,2883,2920">(i-l)*16</WORD>
<WORD coords="2800,2920,2826,2891,2920">4</WORD>
<WORD coords="2857,2932,2906,2883,2920">O]</WORD>
<WORD coords="2947,2903,2968,2887,2903">A</WORD>
</LINE>
<LINE>
<WORD coords="2145,2997,2161,2948,2997">]</WORD>
<WORD coords="2202,2969,2223,2952,2969">A</WORD>
<WORD coords="2260,2997,2534,2948,2985">round_key[</WORD>
<WORD coords="2550,2997,2767,2948,2985">(i-l)*16</WORD>
<WORD coords="2800,2985,2826,2956,2985">4</WORD>
<WORD coords="2861,2997,2935,2948,2991">1]^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2145,3063,2161,3014,3063">]</WORD>
<WORD coords="2202,3034,2223,3018,3034">A</WORD>
<WORD coords="2260,3063,2534,3014,3051">round_key[</WORD>
<WORD coords="2550,3063,2767,3014,3051">(i-l)*16</WORD>
<WORD coords="2800,3051,2826,3022,3051">4</WORD>
<WORD coords="2861,3063,2935,3014,3057">2]j</WORD>
</LINE>
<LINE>
<WORD coords="2149,3128,2161,3079,3128">(</WORD>
<WORD coords="2174,3128,2276,3079,3116">i-1)</WORD>
<WORD coords="2288,3116,2367,3079,3116">*16</WORD>
<WORD coords="2399,3116,2427,3087,3116">4</WORD>
<WORD coords="2460,3128,2563,3079,3122">3];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="2145,3259,2539,3210,3247">pound_key[i*16</WORD>
<WORD coords="2571,3247,2596,3218,3247">4</WORD>
<WORD coords="2628,3259,2706,3210,3253">0];</WORD>
</LINE>
<LINE>
<WORD coords="2145,3325,2540,3276,3312">round_key[i*16</WORD>
<WORD coords="2571,3312,2596,3284,3312">4</WORD>
<WORD coords="2632,3325,2706,3276,3319">1];</WORD>
</LINE>
<LINE>
<WORD coords="2145,3390,2539,3341,3378">round_key[i*16</WORD>
<WORD coords="2571,3378,2596,3349,3378">4</WORD>
<WORD coords="2631,3390,2706,3341,3384">2];</WORD>
</LINE>
<LINE>
<WORD coords="2145,3456,2419,3407,3443">round_key[</WORD>
<WORD coords="2432,3443,2538,3407,3443">i*16</WORD>
<WORD coords="2571,3443,2596,3415,3443">4</WORD>
<WORD coords="2632,3456,2706,3407,3450">3];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="2145,3587,2399,3538,3574">round_key</WORD>
<WORD coords="2407,3587,2421,3538,3587">[</WORD>
<WORD coords="2432,3574,2539,3538,3574">i*16</WORD>
<WORD coords="2571,3587,2706,3538,3579">44];</WORD>
</LINE>
<LINE>
<WORD coords="2145,3652,2419,3603,3640">round_key[</WORD>
<WORD coords="2432,3640,2538,3603,3640">i*16</WORD>
<WORD coords="2571,3640,2596,3611,3640">4</WORD>
<WORD coords="2632,3652,2706,3603,3646">5];</WORD>
</LINE>
<LINE>
<WORD coords="2145,3718,2419,3669,3705">round_key[</WORD>
<WORD coords="2432,3705,2538,3669,3705">i*16</WORD>
<WORD coords="2571,3705,2596,3677,3705">4</WORD>
<WORD coords="2632,3718,2706,3669,3712">6];</WORD>
</LINE>
<LINE>
<WORD coords="2145,3783,2419,3734,3771">round_key[</WORD>
<WORD coords="2432,3771,2538,3734,3771">i*16</WORD>
<WORD coords="2571,3783,2706,3734,3776">47];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="3005,2932,3136,2883,2920">RCon[</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="741,3902,819,3877,3902">rou</WORD>
<WORD coords="827,3914,995,3865,3902">nd_key</WORD>
<WORD coords="1003,3914,1016,3865,3914">[</WORD>
<WORD coords="1028,3902,1077,3865,3902">i*</WORD>
<WORD coords="1085,3902,1106,3869,3902">1</WORD>
<WORD coords="1114,3902,1135,3869,3902">6</WORD>
<WORD coords="1167,3902,1192,3873,3902">4</WORD>
<WORD coords="1228,3914,1302,3865,3906">12]</WORD>
</LINE>
<LINE>
<WORD coords="741,3980,1015,3930,3967">round_key[</WORD>
<WORD coords="1028,3967,1134,3930,3967">i*16</WORD>
<WORD coords="1167,3967,1192,3939,3967">4</WORD>
<WORD coords="1228,3980,1302,3930,3971">13]</WORD>
</LINE>
<LINE>
<WORD coords="741,4045,1134,3996,4033">round_key[i*16</WORD>
<WORD coords="1168,4033,1192,4004,4033">4</WORD>
<WORD coords="1228,4045,1302,3996,4037">14]</WORD>
</LINE>
<LINE>
<WORD coords="741,4111,1015,4061,4098">round_key[</WORD>
<WORD coords="1028,4098,1134,4061,4098">i*16</WORD>
<WORD coords="1167,4098,1192,4070,4098">4</WORD>
<WORD coords="1228,4111,1302,4061,4102">15]</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711421">
<PARAGRAPH>
<LINE>
<WORD coords="1400,3914,1674,3865,3902">round_key[</WORD>
<WORD coords="1691,3914,1908,3865,3902">(i-l)*16</WORD>
<WORD coords="1940,3914,2047,3865,3906">412]</WORD>
<WORD coords="2088,3885,2108,3869,3885">A</WORD>
<WORD coords="2145,3914,2452,3865,3902">round_key[i</WORD>
<WORD coords="2460,3885,2481,3865,3882">!|:</WORD>
<WORD coords="2489,3902,2538,3869,3902">16</WORD>
<WORD coords="2571,3902,2596,3873,3902">4</WORD>
<WORD coords="2632,3914,2706,3865,3908">8];</WORD>
</LINE>
<LINE>
<WORD coords="1400,3980,1908,3930,3967">round_key[(i-l)*ie</WORD>
<WORD coords="1940,3980,2047,3930,3972">413]</WORD>
<WORD coords="2088,3951,2108,3935,3951">A</WORD>
<WORD coords="2145,3980,2538,3930,3967">round_key[i*16</WORD>
<WORD coords="2571,3967,2596,3939,3967">4</WORD>
<WORD coords="2629,3980,2706,3930,3974">9];</WORD>
</LINE>
<LINE>
<WORD coords="1400,4045,1674,3996,4033">round_key[</WORD>
<WORD coords="1691,4045,1908,3996,4033">(i-l)*16</WORD>
<WORD coords="1940,4045,2047,3996,4037">414]</WORD>
<WORD coords="2088,4016,2108,4000,4016">A</WORD>
<WORD coords="2145,4045,2538,3996,4033">round_key[i*16</WORD>
<WORD coords="2572,4045,2706,3996,4037">410];</WORD>
</LINE>
<LINE>
<WORD coords="1400,4111,1674,4061,4098">round_key[</WORD>
<WORD coords="1691,4111,1908,4061,4098">(i-l)*16</WORD>
<WORD coords="1940,4111,2047,4061,4103">415]</WORD>
<WORD coords="2088,4082,2108,4066,4082">A</WORD>
<WORD coords="2145,4111,2538,4061,4098">round_key[i*16</WORD>
<WORD coords="2571,4111,2706,4061,4102">411];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4419,417,4345,4418">3.3</WORD>
<WORD coords="585,4419,783,4343,4417">AES</WORD>
<WORD coords="821,4439,1329,4343,4418">Decryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4563,723,4499,4561">The</WORD>
<WORD coords="751,4563,1077,4499,4561">AES-128</WORD>
<WORD coords="1107,4579,1483,4501,4562">decryption</WORD>
<WORD coords="1515,4579,1801,4515,4562">process</WORD>
<WORD coords="1831,4563,2123,4501,4561">involves</WORD>
<WORD coords="2151,4563,2389,4501,4561">similar</WORD>
<WORD coords="2419,4563,2695,4501,4562">number</WORD>
<WORD coords="2721,4563,2787,4501,4562">of</WORD>
<WORD coords="2817,4563,3063,4501,4562">rounds</WORD>
<WORD coords="3093,4563,3175,4515,4563">as</WORD>
<WORD coords="3201,4563,3311,4501,4562">the</WORD>
<WORD coords="3341,4563,3671,4499,4561">AES-128</WORD>
<WORD coords="3705,4579,4087,4499,4561">Encryption</WORD>
<WORD coords="4119,4579,4403,4515,4562">process</WORD>
<WORD coords="4431,4563,4571,4501,4561">with</WORD>
</LINE>
<LINE>
<WORD coords="585,4689,1103,4611,4672">corresponding</WORD>
<WORD coords="1137,4673,1397,4609,4671">inverse</WORD>
<WORD coords="1425,4673,2015,4611,4672">transformations.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4813,723,4749,4811">The</WORD>
<WORD coords="755,4813,933,4749,4811">initial</WORD>
<WORD coords="967,4813,1169,4751,4812">round</WORD>
<WORD coords="1203,4813,1499,4751,4812">includes</WORD>
<WORD coords="1527,4829,1677,4751,4811">only</WORD>
<WORD coords="1701,4813,1813,4751,4812">the</WORD>
<WORD coords="1841,4829,2375,4749,4812">AddRoundKey</WORD>
<WORD coords="2403,4829,2555,4755,4813">step</WORD>
<WORD coords="2581,4813,2787,4751,4811">which</WORD>
<WORD coords="2823,4813,2873,4751,4812">is</WORD>
<WORD coords="2901,4813,3011,4751,4812">the</WORD>
<WORD coords="3041,4813,3241,4765,4812">same</WORD>
<WORD coords="3271,4813,3351,4765,4813">as</WORD>
<WORD coords="3383,4811,3437,4751,4811">in</WORD>
<WORD coords="3467,4813,3797,4749,4811">AES-128</WORD>
<WORD coords="3831,4829,4233,4749,4811">Encryption.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4955,723,4891,4953">The</WORD>
<WORD coords="755,4955,1013,4891,4953">inverse</WORD>
<WORD coords="1041,4955,1611,4893,4954">transformations</WORD>
<WORD coords="1639,4955,1735,4893,4953">for</WORD>
<WORD coords="1759,4955,1871,4893,4954">the</WORD>
<WORD coords="1899,4971,2325,4893,4954">subsequent</WORD>
<WORD coords="2355,4955,2601,4893,4954">rounds</WORD>
<WORD coords="2631,4955,2745,4907,4954">are</WORD>
<WORD coords="2775,4955,2855,4907,4955">as</WORD>
<WORD coords="2887,4955,3119,4893,4954">below:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="651,5095,671,5035,5095">1</WORD>
<WORD coords="695,5095,705,5087,5095">.</WORD>
<WORD coords="815,5097,1077,5035,5095">Inverse</WORD>
<WORD coords="1107,5097,1269,5033,5095">Shift</WORD>
<WORD coords="1301,5097,1497,5033,5096">Rows</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,5221,705,5161,5221">2.</WORD>
<WORD coords="817,5223,1079,5161,5221">Inverse</WORD>
<WORD coords="1109,5239,1459,5159,5222">SubBytes</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,5349,705,5287,5347">3.</WORD>
<WORD coords="813,5349,953,5285,5348">Add</WORD>
<WORD coords="989,5349,1221,5285,5348">Round</WORD>
<WORD coords="1255,5365,1391,5285,5348">Key</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,5471,705,5411,5471">4.</WORD>
<WORD coords="817,5473,1079,5411,5471">Inverse</WORD>
<WORD coords="1111,5471,1231,5411,5471">Mix</WORD>
<WORD coords="1261,5473,1585,5409,5472">Columns</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,5615,645,5553,5615">In</WORD>
<WORD coords="675,5617,787,5553,5616">the</WORD>
<WORD coords="821,5617,901,5555,5616">10</WORD>
<WORD coords="905,5591,947,5549,5590">th</WORD>
<WORD coords="979,5627,1203,5553,5616">round,</WORD>
<WORD coords="1233,5617,1345,5553,5616">the</WORD>
<WORD coords="1375,5617,1595,5553,5616">above</WORD>
<WORD coords="1625,5633,1817,5559,5617">steps</WORD>
<WORD coords="1849,5617,1961,5569,5616">are</WORD>
<WORD coords="1993,5633,2313,5553,5616">repeated</WORD>
<WORD coords="2343,5633,2687,5553,5615">excluding</WORD>
<WORD coords="2715,5617,2827,5553,5616">the</WORD>
<WORD coords="2859,5617,3291,5553,5615">Mixcolumns</WORD>
<WORD coords="3321,5633,3491,5559,5617">step.</WORD>
<WORD coords="3523,5617,3661,5553,5615">The</WORD>
<WORD coords="3689,5617,3927,5553,5615">overall</WORD>
<WORD coords="3961,5633,4245,5569,5616">process</WORD>
<WORD coords="4273,5617,4339,5553,5616">of</WORD>
<WORD coords="4367,5617,4527,5553,5615">AES</WORD>
</LINE>
<LINE>
<WORD coords="585,5741,959,5661,5724">decryption</WORD>
<WORD coords="993,5725,1045,5661,5724">is</WORD>
<WORD coords="1077,5725,1423,5661,5724">illustrated</WORD>
<WORD coords="1457,5723,1511,5661,5723">in</WORD>
<WORD coords="1539,5725,1651,5661,5724">the</WORD>
<WORD coords="1679,5741,1881,5661,5723">figure</WORD>
<WORD coords="1913,5725,2145,5661,5724">below:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0008.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0009.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0009.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,565,811,495,549">Figure</WORD>
<WORD coords="837,551,959,495,546">3-8.</WORD>
<WORD coords="1105,551,1253,493,549">AES</WORD>
<WORD coords="1283,565,1663,493,550">Decryption</WORD>
<WORD coords="1695,551,1893,493,549">Block</WORD>
<WORD coords="1917,565,2203,493,550">diagram</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="285,3213,451,3151,3211">3.3.1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="587,3215,871,3151,3213">Inverse</WORD>
<WORD coords="899,3215,973,3151,3214">of</WORD>
<WORD coords="1003,3231,1575,3151,3214">AddRoundKey</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,3357,737,3293,3355">This</WORD>
<WORD coords="769,3357,821,3295,3356">is</WORD>
<WORD coords="849,3357,1047,3309,3356">same</WORD>
<WORD coords="1077,3357,1157,3311,3357">as</WORD>
<WORD coords="1185,3357,1295,3295,3356">the</WORD>
<WORD coords="1325,3373,1859,3293,3356">AddRoundKey</WORD>
<WORD coords="1883,3357,2411,3295,3356">transformation</WORD>
<WORD coords="2441,3357,2523,3311,3357">as</WORD>
<WORD coords="2551,3357,2677,3295,3356">this</WORD>
<WORD coords="2709,3357,3001,3293,3355">involves</WORD>
<WORD coords="3031,3373,3179,3295,3355">only</WORD>
<WORD coords="3205,3357,3381,3293,3355">XOR</WORD>
<WORD coords="3409,3373,3749,3295,3356">operation</WORD>
<WORD coords="3783,3357,4087,3295,3356">between</WORD>
<WORD coords="4119,3357,4203,3309,3356">an</WORD>
<WORD coords="4237,3373,4411,3293,3356">input</WORD>
<WORD coords="4439,3357,4569,3295,3356">and</WORD>
</LINE>
<LINE>
<WORD coords="585,3481,813,3407,3465">output</WORD>
<WORD coords="841,3465,1091,3401,3464">blocks.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="681,3796,797,3733,3791">So.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="923,3796,1033,3733,3791">Sa.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1169,3791,1243,3733,3791">So</WORD>
<WORD coords="1248,3796,1285,3754,3793">,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1447,3796,1531,3733,3791">So,</WORD>
<WORD coords="1537,3791,1563,3754,0">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="681,3964,797,3901,3959">Si.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="923,3959,965,3901,3959">S</WORD>
<WORD coords="980,3964,1032,3922,3959">i.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1169,3959,1211,3901,3959">S</WORD>
<WORD coords="1226,3964,1285,3922,3960">1.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1447,3964,1563,3901,3959">Sl,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="681,4127,797,4064,4122">S2.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="923,4122,965,4064,4122">S</WORD>
<WORD coords="970,4127,1033,4085,4123">2.1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1169,4127,1285,4064,4122">S2.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1447,4127,1563,4064,4122">S2.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="681,4295,797,4232,4290">Ss.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="923,4295,1033,4232,4290">S3.1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1169,4295,1285,4232,4290">Ss,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1447,4295,1563,4232,4290">S3.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2173,3767,2415,3711,3767">Inverse</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2035,3865,2167,3807,3865">Add</WORD>
<WORD coords="2183,3865,2399,3807,3865">Round</WORD>
<WORD coords="2429,3881,2541,3807,3865">key</WORD>
</LINE>
<LINE>
<WORD coords="2199,3997,2389,3939,3997">SXor</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2093,4111,2341,4037,4097">(Round</WORD>
<WORD coords="2351,4111,2487,4037,4097">key)</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3163,3613,3221,3555,3613">S&apos;</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2995,3801,3128,3738,3796">S&apos;o.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3237,3801,3363,3738,3796">S&apos;a.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3484,3801,3615,3738,3796">S&apos;d.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3762,3801,3893,3738,3796">S’o.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2995,3970,3126,3907,3964">S&apos;i.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3237,3964,3279,3907,3964">S</WORD>
<WORD coords="3289,3928,3295,3907,3928">1</WORD>
<WORD coords="3305,3964,3321,3928,3964">1</WORD>
<WORD coords="3331,3970,3337,3959,3970">.</WORD>
<WORD coords="3347,3964,3363,3928,3964">i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3484,3970,3615,3907,3964">S&apos;l,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3762,3964,3804,3907,3964">S</WORD>
<WORD coords="3813,3928,3819,3907,3928">1</WORD>
<WORD coords="3830,3964,3846,3928,3967">1</WORD>
<WORD coords="3856,3970,3861,3959,3964">,</WORD>
<WORD coords="3871,3964,3893,3928,0">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2995,4132,3132,4069,4127">S&apos;2.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3237,4132,3363,4069,4127">S&apos;2,1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3484,4132,3615,4069,4127">S&apos;2.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3762,4132,3898,4069,4127">S&apos;2.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2995,4295,3053,4238,4295">S&apos;</WORD>
<WORD coords="3062,4301,3126,4259,4297">3,0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3237,4295,3295,4238,4295">S&apos;</WORD>
<WORD coords="3304,4301,3337,4259,4298">3,</WORD>
<WORD coords="3347,4295,3363,4259,0">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3484,4295,3541,4238,4295">S&apos;</WORD>
<WORD coords="3550,4301,3615,4259,4297">3,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3762,4301,3893,4238,4295">S&apos;3,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4689,463,4625,4687">3.3.2</WORD>
<WORD coords="587,4689,871,4625,4687">Inverse</WORD>
<WORD coords="899,4705,1277,4625,4688">SubBytes</WORD>
<WORD coords="1303,4689,1907,4625,4687">Transformation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4831,737,4767,4829">This</WORD>
<WORD coords="769,4831,819,4769,4830">is</WORD>
<WORD coords="847,4831,957,4769,4830">the</WORD>
<WORD coords="989,4831,1249,4769,4829">inverse</WORD>
<WORD coords="1277,4831,1343,4767,4830">of</WORD>
<WORD coords="1369,4831,1479,4769,4830">the</WORD>
<WORD coords="1511,4847,1861,4767,4830">SubBytes</WORD>
<WORD coords="1889,4841,2463,4767,4829">Transformation,</WORD>
<WORD coords="2499,4829,2553,4767,4829">in</WORD>
<WORD coords="2583,4831,2789,4769,4829">which</WORD>
<WORD coords="2817,4831,2929,4769,4830">the</WORD>
<WORD coords="2961,4831,3221,4767,4829">inverse</WORD>
<WORD coords="3253,4831,3473,4767,4830">S-Box</WORD>
<WORD coords="3505,4831,3557,4769,4830">is</WORD>
<WORD coords="3587,4847,3847,4769,4830">applied</WORD>
<WORD coords="3875,4831,3939,4773,4831">to</WORD>
<WORD coords="3971,4831,4141,4769,4830">each</WORD>
<WORD coords="4175,4831,4465,4769,4830">element</WORD>
<WORD coords="4497,4829,4549,4769,4829">in</WORD>
</LINE>
<LINE>
<WORD coords="583,4939,693,4877,4938">the</WORD>
<WORD coords="725,4939,931,4875,4939">State.</WORD>
<WORD coords="963,4939,1101,4875,4937">The</WORD>
<WORD coords="1133,4939,1393,4877,4937">inverse</WORD>
<WORD coords="1423,4939,1643,4875,4938">S-Box</WORD>
<WORD coords="1675,4939,1845,4877,4939">used</WORD>
<WORD coords="1879,4937,1933,4875,4937">in</WORD>
<WORD coords="1961,4939,2087,4877,4938">this</WORD>
<WORD coords="2113,4939,2641,4877,4938">transformation</WORD>
<WORD coords="2675,4939,2725,4877,4938">is</WORD>
<WORD coords="2757,4939,2837,4893,4939">as</WORD>
<WORD coords="2867,4939,3099,4877,4938">below:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4417,6295,4643,6193,6295">lTI©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0009.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0010.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0010.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,565,811,495,549">Figure</WORD>
<WORD coords="837,551,959,495,546">3-9.</WORD>
<WORD coords="1107,551,1363,493,549">Inverse</WORD>
<WORD coords="1389,551,1601,493,550">S-Box</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645629">
<PARAGRAPH>
<LINE>
<WORD coords="2569,753,2613,703,753">y</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1025,840,1063,784,840">0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1232,840,1269,784,840">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1432,840,1470,784,840">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1644,840,1682,784,840">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1851,840,1882,790,840">4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2057,840,2094,790,840">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2263,840,2301,790,840">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2470,840,2507,790,840">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2676,840,2713,788,840">B</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2882,840,2920,790,840">9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3082,840,3126,802,840">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3288,840,3332,790,840">b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3501,840,3539,802,840">□</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3701,840,3751,790,840">d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3912,840,3951,802,840">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4120,840,4158,790,840">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,946,907,890,946">0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,946,1082,890,946">52</WORD>
<WORD coords="1110,944,1140,873,944">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,947,1295,891,947">09</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,946,1500,890,946">6a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1613,946,1707,890,946">d5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,946,1913,890,946">30</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2032,946,2119,890,946">36</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2232,946,2326,890,946">a5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,946,2532,890,946">33</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2645,946,2738,890,946">bf</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,946,2945,890,943">40</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3057,946,3151,890,946">a3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,946,3357,890,946">9a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,946,3564,890,946">31</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,946,3720,890,946">f</WORD>
<WORD coords="3732,946,3770,890,946">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3882,946,3976,890,946">d7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,946,4182,890,946">fb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="869,1040,907,990,1040">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1000,1040,1088,990,1040">7c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1200,1079,1347,977,1040">e3]</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1407,1046,1500,984,1045">39</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1040,1707,984,1040">B2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,1040,1913,990,1040">9b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1040,2119,984,1040">2f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,1040,2326,990,1040">ff</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1040,2532,990,1040">B7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2651,1046,2732,988,1043">34</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1040,2945,990,1040">Ba</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1040,3151,990,1040">43</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3270,1040,3357,990,1040">44</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,1040,3564,990,1040">c4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3676,1040,3770,990,1040">da</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3882,1040,3976,990,1040">a9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1040,4189,990,1040">cb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1140,907,1084,1140">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1140,1082,1090,1140">54</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,1140,1294,1090,1140">7b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,1140,1494,1084,1140">94</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1140,1702,1084,1140">32</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1819,1140,1913,1090,1140">a6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1140,2119,1084,1140">c2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2232,1140,2326,1084,1140">23</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1140,2538,1084,1140">3d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2645,1140,2738,1103,1140">ea</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1140,2945,1090,1140">4c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1140,3151,1090,1140">95</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,1140,3364,1090,1140">Ob</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,1140,3564,1084,1140">42</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,1140,3771,1090,1140">fa</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,1140,3976,1084,1140">e3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1140,4132,1090,1140">4</WORD>
<WORD coords="4140,1140,4182,1103,1140">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1240,907,1184,1240">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1240,1088,1184,1240">OB</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1200,1240,1294,1184,1240">2e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1408,1240,1495,1184,1240">al</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1619,1240,1707,1184,1240">66</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1824,1240,1857,1184,1240">2</WORD>
<WORD coords="1876,1240,1913,1184,1240">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1240,2119,1184,1240">d9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2238,1240,2319,1184,1240">24</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2438,1240,2526,1184,1240">b2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2651,1240,2738,1184,1240">76</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1240,2945,1184,1240">5b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3063,1240,3101,1203,1240">a</WORD>
<WORD coords="3113,1240,3145,1184,1240">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3270,1240,3357,1184,1240">49</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3476,1240,3570,1184,1240">6d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3682,1240,3776,1184,1240">8b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3882,1240,3970,1184,1240">dl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4095,1240,4182,1184,1240">25</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1334,901,1284,1334">4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1000,1340,1082,1284,1339">12</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,1340,1294,1284,1340">fS</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,1340,1552,1274,1340">f6l</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1340,1701,1284,1340">64</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,1340,1913,1284,1340">36</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2032,1340,2118,1284,1340">63</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,1340,2326,1284,1340">93</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1340,2532,1284,1340">16</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2645,1340,2732,1284,1340">d4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2853,1340,2895,1297,1340">a</WORD>
<WORD coords="2907,1334,2938,1284,1334">4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1340,3151,1284,1340">5e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3265,1340,3364,1297,1340">cc</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,1340,3570,1284,1340">5d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,1340,3770,1284,1340">65</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3882,1340,3976,1284,1340">b6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1340,4182,1284,1340">92</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1441,907,1384,1441">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1434,1038,1384,1434">6</WORD>
<WORD coords="1048,1434,1088,1397,1434">c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,1441,1294,1384,1437">70</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,1434,1444,1384,1434">4</WORD>
<WORD coords="1463,1434,1495,1384,1434">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1435,1707,1384,1434">50</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,1434,1919,1384,1434">fd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1434,2126,1384,1434">ed</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2232,1441,2326,1384,1441">b9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2438,1434,2532,1384,1434">da</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2651,1434,2738,1384,1434">5a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1434,2945,1384,1434">15</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1434,3151,1384,1434">46</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,1434,3357,1384,1434">57</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3470,1440,3564,1384,1440">a7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,1434,3776,1384,1434">Sd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,1434,3982,1384,1434">9d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1434,4182,1384,1434">84</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1534,907,1478,1534">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1534,1088,1478,1534">90</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1200,1534,1288,1484,1534">da</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1407,1534,1500,1484,1534">ab</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1534,1707,1478,1534">00</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,1534,1913,1484,1534">Be</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16645629">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1534,2119,1484,1534">be</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2232,1534,2326,1484,1534">d3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1534,2532,1478,1534">0a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2651,1534,2688,1484,1534">f</WORD>
<WORD coords="2701,1534,2738,1484,1534">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2851,1534,2939,1484,1534">a4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1534,3151,1484,1534">53</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,1534,3357,1483,1534">05</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3470,1534,3564,1484,1534">bS</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3676,1534,3770,1478,1534">b3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,1534,3976,1484,1534">45</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1534,4182,1484,1534">06</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1634,907,1583,1634">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="995,1635,1083,1585,1635">d0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1200,1634,1294,1578,1634">2c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,1634,1500,1578,1634">le</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1634,1707,1578,1634">af</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1819,1634,1913,1597,1634">ca</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2032,1634,2119,1578,1634">3f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,1634,2326,1578,1634">Of</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1634,2532,1578,1634">02</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2645,1634,2738,1578,1634">cl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1634,2945,1584,1634">af</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3057,1634,3157,1583,1634">bd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,1634,3357,1578,1634">03</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,1634,3564,1578,1634">01</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,1634,3770,1578,1634">13</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,1634,3976,1578,1634">8a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1634,4189,1578,1634">6b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1735,907,1678,1735">8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1735,1088,1678,1735">3a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1207,1735,1288,1678,1735">91</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,1735,1500,1678,1735">11</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1619,1735,1707,1678,1735">41</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,1735,1913,1678,1735">4f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2032,1735,2113,1678,1735">67</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2232,1735,2326,1678,1735">dc</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2438,1735,2532,1697,1735">ea</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2651,1735,2732,1678,1735">97</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1735,2895,1678,1735">f</WORD>
<WORD coords="2907,1735,2945,1678,1735">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1735,3151,1678,1735">cf</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,1735,3357,1693,1735">ce</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,1735,3564,1678,1735">fO</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3676,1735,3769,1678,1735">b4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3882,1735,3976,1678,1735">€6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1735,4182,1678,1731">73</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="875,1835,907,1778,1835">9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1878,1140,1765,1849">96]</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1200,1835,1347,1751,1835">acl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1413,1834,1494,1778,1831">74</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1613,1835,1701,1778,1835">22</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1819,1835,1913,1778,1835">a7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1835,2126,1778,1835">ad</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,1835,2326,1778,1835">35</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1835,2532,1778,1835">35</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2645,1835,2733,1778,1835">a2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,1835,2945,1778,1831">£9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3063,1835,3151,1778,1831">37</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3263,1835,3357,1778,1835">*3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3476,1835,3569,1778,1835">1c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3682,1835,3770,1778,1831">75</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3882,1835,3976,1778,1835">df</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1835,4182,1778,1835">6a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,1928,913,1891,1928">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,1928,1088,1878,1928">47</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,1928,1294,1878,1928">fl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,1928,1500,1878,1928">la</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,1928,1707,1877,1928">71</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,1928,1919,1878,1928">Id</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,1928,2119,1872,1928">29</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,1928,2276,1891,1928">□</WORD>
<WORD coords="2288,1928,2326,1878,1928">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,1928,2532,1878,1928">B9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2651,1928,2738,1878,1928">6f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2851,1928,2945,1878,1928">b7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,1928,3151,1878,1928">62</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,1928,3357,1878,1928">Oa</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,1928,3514,1891,1928">a</WORD>
<WORD coords="3526,1928,3564,1891,1928">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,1928,3770,1878,1928">18</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3882,1928,3976,1878,1928">ba</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,1928,4189,1878,1928">lb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="863,2029,913,1972,2029">b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,2029,1088,1972,2029">£c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,2029,1294,1972,2029">56</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,2029,1500,1978,2029">3a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,2029,1707,1979,2029">4b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1825,2029,1913,1972,2029">c6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16645629">
<PARAGRAPH>
<LINE>
<WORD coords="2026,2029,2113,1972,2029">d2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,2029,2326,1972,2029">79</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2438,2029,2532,1972,2029">20</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2651,2029,2738,1972,2029">9a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16645629">
<PARAGRAPH>
<LINE>
<WORD coords="2851,2029,2945,1979,2029">db</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3057,2029,3151,1972,2029">cO</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,2029,3307,1979,2029">f</WORD>
<WORD coords="3320,2029,3357,1991,2029">e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,2029,3564,1972,2029">7S</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,2029,3776,1979,2029">cd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,2029,3981,1979,2029">5a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,2029,4182,1978,2029">£4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,2129,913,2091,2129">c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,2129,1088,2072,2129">if</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1200,2129,1299,2072,2129">dd</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1407,2129,1450,2091,2129">a</WORD>
<WORD coords="1463,2129,1500,2072,2129">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,2129,1707,2072,2129">33</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,2129,1913,2072,2129">33</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2032,2129,2113,2072,2129">07</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,2129,2326,2072,2129">c7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,2129,2526,2072,2129">31</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2645,2129,2732,2072,2129">bl</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,2129,2945,2072,2129">12</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3063,2129,3151,2072,2129">10</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3270,2129,3357,2072,2129">59</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,2129,3564,2072,2125">27</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3682,2129,3770,2072,2129">80</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3881,2129,3978,2091,2129">ec</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4095,2129,4182,2072,2129">5f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,2229,913,2172,2229">d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1000,2229,1140,2159,2229">60l</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1207,2229,1347,2129,2229">5l1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,2229,1500,2172,2229">7f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1613,2229,1707,2172,2229">a9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1826,2229,1913,2172,2229">19</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,2229,2119,2172,2229">b5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,2229,2326,2172,2229">4a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2445,2229,2538,2172,2229">Od</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2645,2229,2745,2172,2229">2d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2851,2229,2945,2172,2229">a5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3063,2229,3151,2172,2229">7a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,2229,3357,2172,2229">9£</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,2229,3564,2172,2229">93</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,2229,3770,2172,2229">c9</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,2229,3976,2172,2229">9c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4089,2229,4182,2172,2229">af</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="863,2329,907,2285,2329">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="994,2329,1088,2273,2329">aO</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1200,2329,1294,2266,2329">e0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,2329,1500,2273,2329">3b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1619,2323,1713,2273,2323">4d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1818,2328,1914,2285,2325">ae</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2026,2329,2119,2273,2329">2a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2238,2328,2326,2273,2323">f5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2438,2329,2532,2273,2329">bO</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2645,2329,2732,2273,2327">cS</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2851,2329,2945,2273,2329">ab</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3057,2329,3151,2273,2329">bb</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3270,2329,3357,2273,2329">3c</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,2324,3564,2273,2323">S3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,2329,3770,2273,2329">53</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,2323,3976,2273,2323">99</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,2323,4182,2273,2323">61</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="869,2423,913,2373,2423">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1000,2423,1088,2366,2423">17</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1200,2423,1294,2366,2423">2b</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1413,2423,1494,2366,2423">04</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1613,2423,1707,2373,2423">7a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1819,2423,1913,2373,2423">ba</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2030,2423,2119,2366,2423">77</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2231,2423,2327,2373,2423">de</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2438,2423,2532,2366,2423">26</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2645,2423,2738,2366,2423">el</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2857,2423,2945,2366,2423">69</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3063,2423,3145,2373,2423">14</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3270,2423,3357,2366,2423">63</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3476,2423,3564,2373,2423">55</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3682,2423,3770,2366,2423">21</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3889,2423,3976,2367,2423">0e</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4095,2423,4189,2373,2423">7d</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,2697,463,2633,2696">3.3.3</WORD>
<WORD coords="587,2697,871,2633,2695">Inverse</WORD>
<WORD coords="899,2697,1301,2633,2695">ShiftRows</WORD>
<WORD coords="1327,2697,1931,2633,2695">Transformation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,2839,737,2775,2837">This</WORD>
<WORD coords="769,2839,819,2777,2838">is</WORD>
<WORD coords="847,2839,957,2777,2838">the</WORD>
<WORD coords="989,2839,1249,2777,2837">inverse</WORD>
<WORD coords="1279,2839,1343,2777,2838">of</WORD>
<WORD coords="1369,2839,1481,2777,2838">the</WORD>
<WORD coords="1511,2839,1879,2775,2837">ShiftRows</WORD>
<WORD coords="1905,2839,2455,2777,2838">transformation.</WORD>
<WORD coords="2485,2839,2625,2775,2837">The</WORD>
<WORD coords="2655,2855,2847,2777,2839">bytes</WORD>
<WORD coords="2877,2837,2933,2777,2837">in</WORD>
<WORD coords="2961,2839,3073,2777,2838">the</WORD>
<WORD coords="3105,2839,3227,2777,2838">last</WORD>
<WORD coords="3253,2839,3439,2777,2838">three</WORD>
<WORD coords="3471,2839,3639,2793,2838">rows</WORD>
<WORD coords="3669,2839,3781,2791,2838">are</WORD>
<WORD coords="3811,2855,4133,2777,2838">cyclically</WORD>
<WORD coords="4161,2839,4399,2777,2838">shifted</WORD>
<WORD coords="4427,2839,4493,2781,2839">to</WORD>
<WORD coords="4521,2839,4633,2777,2838">the</WORD>
</LINE>
<LINE>
<WORD coords="587,2963,741,2885,2945">right</WORD>
<WORD coords="769,2947,927,2901,2946">over</WORD>
<WORD coords="955,2947,995,2899,2947">a</WORD>
<WORD coords="1023,2947,1321,2883,2945">different</WORD>
<WORD coords="1351,2947,1627,2885,2946">number</WORD>
<WORD coords="1653,2947,1719,2883,2946">of</WORD>
<WORD coords="1749,2963,1957,2885,2947">bytes.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,3161,811,3091,3145">Figure</WORD>
<WORD coords="837,3147,1001,3091,3143">3-10.</WORD>
<WORD coords="1109,3147,1365,3089,3145">Inverse</WORD>
<WORD coords="1391,3147,1753,3089,3145">ShiftRows</WORD>
<WORD coords="1777,3147,2323,3089,3145">Transformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4405,463,4343,4403">3.3.4</WORD>
<WORD coords="587,4405,871,4343,4403">Inverse</WORD>
<WORD coords="901,4405,1389,4341,4403">MixColumns</WORD>
<WORD coords="1415,4405,2019,4341,4403">Transformation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,4549,737,4485,4547">This</WORD>
<WORD coords="769,4549,819,4487,4548">is</WORD>
<WORD coords="849,4549,933,4501,4548">an</WORD>
<WORD coords="965,4549,1225,4485,4547">inverse</WORD>
<WORD coords="1255,4549,1319,4485,4548">of</WORD>
<WORD coords="1351,4549,1801,4485,4547">MixColumns</WORD>
<WORD coords="1829,4549,2377,4485,4548">transformation.</WORD>
<WORD coords="2407,4549,2559,4485,4547">This</WORD>
<WORD coords="2589,4565,2907,4491,4548">operates</WORD>
<WORD coords="2937,4549,3021,4501,4548">on</WORD>
<WORD coords="3053,4549,3095,4503,4549">a</WORD>
<WORD coords="3121,4565,3797,4487,4548">column-by-column</WORD>
<WORD coords="3829,4549,4015,4487,4548">basis</WORD>
<WORD coords="4045,4549,4129,4501,4548">on</WORD>
<WORD coords="4159,4549,4271,4487,4548">the</WORD>
<WORD coords="4299,4549,4473,4491,4549">state</WORD>
</LINE>
<LINE>
<WORD coords="587,4657,807,4593,4655">matrix</WORD>
<WORD coords="837,4673,1135,4593,4655">applying</WORD>
<WORD coords="1169,4673,1557,4593,4655">polynomial</WORD>
<WORD coords="1587,4657,2133,4593,4656">transformation.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,4871,811,4799,4855">Figure</WORD>
<WORD coords="835,4855,1001,4799,4852">3-11.</WORD>
<WORD coords="1109,4857,1365,4799,4855">Inverse</WORD>
<WORD coords="1393,4857,1833,4799,4855">MixColumns</WORD>
<WORD coords="1855,4857,2401,4799,4855">Transformation</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="688,5192,800,5131,5187">So.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="922,5203,1032,5131,5189">Soj</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1160,5192,1272,5131,5187">So,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1429,5192,1510,5131,5187">So,</WORD>
<WORD coords="1515,5187,1541,5152,0">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="688,5355,800,5294,5350">Si.o</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="922,5365,1028,5294,5353">Si/t</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="688,5507,729,5451,5507">S</WORD>
<WORD coords="734,5512,800,5472,5508">2.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="922,5512,1028,5451,5507">S21</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1160,5512,1272,5451,5508">82.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1429,5512,1541,5451,5508">82.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="688,5675,800,5614,5670">S3.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="922,5680,1028,5614,5673">Ss.i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1160,5675,1272,5614,5671">83.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1429,5675,1541,5614,5671">83.3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2119,5215,2359,5157,5215">Inverse</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2033,5309,2441,5253,5309">MixColumns</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2926,5197,3053,5137,5192">S&apos;o.D</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3159,5209,3261,5137,5193">S\</WORD>
<WORD coords="3271,5197,3287,5163,5203">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3398,5197,3525,5137,5192">S&apos;n.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3667,5197,3795,5137,5186">8*0,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3159,5371,3293,5299,5358">s\i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3398,5360,3525,5299,5348">8*1,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3667,5360,3799,5299,5348">8*1,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2926,5512,2967,5456,5494">8</WORD>
<WORD coords="2977,5477,2982,5456,0">&apos;</WORD>
<WORD coords="2987,5517,3058,5477,5513">2,0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3159,5513,3231,5455,5513">S’</WORD>
<WORD coords="3231,5529,3287,5481,5523">2,1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3398,5512,3439,5456,5494">8</WORD>
<WORD coords="3449,5477,3454,5456,0">&apos;</WORD>
<WORD coords="3459,5517,3525,5477,5513">2,2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3667,5517,3794,5456,5512">S&apos;2,3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2926,5675,2967,5619,5675">S</WORD>
<WORD coords="2972,5639,2982,5619,5639">J</WORD>
<WORD coords="2987,5680,3058,5639,5676">3.0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3159,5691,3295,5619,5683">sv</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3398,5675,3439,5619,5657">8</WORD>
<WORD coords="3449,5680,3525,5619,5676">&apos;3.2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3667,5675,3708,5619,5657">8</WORD>
<WORD coords="3718,5680,3764,5619,5676">&apos;3.</WORD>
<WORD coords="3774,5675,3794,5639,0">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="4579,6271,4645,6211,6271">11</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0010.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0011.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0011.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,569,463,505,568">3.3.5</WORD>
<WORD coords="585,569,639,505,569">C</WORD>
<WORD coords="669,585,1273,505,567">Implementation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,709,723,645,707">The</WORD>
<WORD coords="751,709,911,645,707">AES</WORD>
<WORD coords="941,725,1315,647,708">decryption</WORD>
<WORD coords="1351,709,1401,647,708">is</WORD>
<WORD coords="1433,725,1901,647,708">implemented</WORD>
<WORD coords="1933,707,1987,645,707">in</WORD>
<WORD coords="2017,709,2127,647,708">the</WORD>
<WORD coords="2157,709,2441,645,708">function</WORD>
<WORD coords="2473,725,3295,647,708">aes_inverse_cipher()</WORD>
<WORD coords="3327,707,3383,647,707">in</WORD>
<WORD coords="3411,709,3523,647,708">the</WORD>
<WORD coords="3555,709,3767,661,709">aes.c.</WORD>
<WORD coords="3797,709,3937,645,707">The</WORD>
<WORD coords="3965,725,4159,651,709">steps</WORD>
<WORD coords="4189,709,4449,647,707">inverse</WORD>
</LINE>
<LINE>
<WORD coords="585,835,935,755,818">SubBytes</WORD>
<WORD coords="965,819,1095,757,818">and</WORD>
<WORD coords="1129,819,1389,755,817">inverse</WORD>
<WORD coords="1419,819,1787,755,817">ShiftRows</WORD>
<WORD coords="1817,819,1929,771,818">are</WORD>
<WORD coords="1959,819,2313,755,818">combined</WORD>
<WORD coords="2345,817,2401,757,817">in</WORD>
<WORD coords="2433,819,2473,771,819">a</WORD>
<WORD coords="2501,835,2711,757,817">single</WORD>
<WORD coords="2741,819,3025,755,818">function</WORD>
<WORD coords="3053,819,3119,761,819">to</WORD>
<WORD coords="3149,835,3453,757,817">optimize</WORD>
<WORD coords="3479,819,3591,757,818">the</WORD>
<WORD coords="3621,819,3815,757,819">code.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,961,677,897,960">To</WORD>
<WORD coords="707,977,899,897,960">begin</WORD>
<WORD coords="927,971,1091,897,959">with,</WORD>
<WORD coords="1121,961,1255,913,960">one</WORD>
<WORD coords="1285,961,1473,897,960">block</WORD>
<WORD coords="1501,961,1565,897,960">of</WORD>
<WORD coords="1589,961,1701,897,960">the</WORD>
<WORD coords="1729,977,1951,897,959">cipher</WORD>
<WORD coords="1975,961,2107,903,960">text</WORD>
<WORD coords="2137,961,2187,897,960">is</WORD>
<WORD coords="2215,977,2453,897,960">copied</WORD>
<WORD coords="2487,961,2611,897,960">into</WORD>
<WORD coords="2641,961,2723,913,960">an</WORD>
<WORD coords="2757,961,3209,897,960">intermediate</WORD>
<WORD coords="3237,961,3435,897,961">State</WORD>
<WORD coords="3463,977,3667,913,960">array.</WORD>
<WORD coords="3703,959,3759,897,959">In</WORD>
<WORD coords="3795,961,4027,897,959">Round</WORD>
<WORD coords="4059,971,4117,899,967">0,</WORD>
<WORD coords="4147,961,4259,897,960">the</WORD>
<WORD coords="4287,961,4461,903,961">state</WORD>
<WORD coords="4491,977,4675,913,960">array</WORD>
</LINE>
<LINE>
<WORD coords="587,1069,639,1007,1068">is</WORD>
<WORD coords="667,1069,961,1005,1068">XOR-ed</WORD>
<WORD coords="991,1069,1131,1007,1067">with</WORD>
<WORD coords="1161,1069,1271,1007,1068">the</WORD>
<WORD coords="1307,1069,1539,1005,1068">Round</WORD>
<WORD coords="1573,1085,1697,1007,1068">key</WORD>
<WORD coords="1723,1069,1783,1007,1067">0.</WORD>
<WORD coords="1815,1069,1953,1005,1067">The</WORD>
<WORD coords="1983,1085,2407,1007,1068">subsequent</WORD>
<WORD coords="2435,1069,2475,1007,1069">9</WORD>
<WORD coords="2509,1069,2785,1007,1068">Rounds</WORD>
<WORD coords="2817,1069,2929,1021,1068">are</WORD>
<WORD coords="2961,1085,3429,1005,1068">implemented</WORD>
<WORD coords="3459,1069,3541,1023,1069">as</WORD>
<WORD coords="3573,1067,3625,1007,1067">in</WORD>
<WORD coords="3655,1069,3767,1007,1068">the</WORD>
<WORD coords="3797,1069,4011,1007,1068">below</WORD>
<WORD coords="4037,1069,4211,1007,1069">code</WORD>
<WORD coords="4241,1085,4525,1005,1068">snippet:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="698,1209,759,1158,1209">//</WORD>
<WORD coords="804,1204,971,1158,1204">Round</WORD>
<WORD coords="1017,1204,1042,1163,1204">9</WORD>
<WORD coords="1083,1204,1149,1163,1204">to</WORD>
<WORD coords="1194,1204,1221,1163,1204">1</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="698,1285,794,1239,1285">for</WORD>
<WORD coords="809,1300,1007,1239,1285">(round</WORD>
<WORD coords="1048,1274,1083,1259,1279">=</WORD>
<WORD coords="1123,1295,1179,1244,1291">9;</WORD>
<WORD coords="1230,1285,1397,1239,1285">round</WORD>
<WORD coords="1407,1295,1498,1244,1290">&gt;0;</WORD>
<WORD coords="1549,1300,1817,1239,1285">round--)</WORD>
<WORD coords="1832,1300,1857,1239,1300">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="840,1371,900,1320,1360">/*</WORD>
<WORD coords="946,1366,1184,1325,1366">Inverse</WORD>
<WORD coords="1226,1366,1326,1320,1366">Sub</WORD>
<WORD coords="1371,1381,1538,1325,1366">Bytes</WORD>
<WORD coords="1584,1366,1680,1320,1366">and</WORD>
<WORD coords="1722,1366,1893,1320,1366">Shift</WORD>
<WORD coords="1939,1366,2070,1325,1366">Rows</WORD>
<WORD coords="2116,1371,2176,1320,1358">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="840,1447,865,1406,1447">I</WORD>
<WORD coords="875,1447,900,1416,1447">n</WORD>
<WORD coords="906,1462,1007,1406,1447">v_S</WORD>
<WORD coords="1017,1447,1042,1401,1447">h</WORD>
<WORD coords="1052,1447,1114,1401,1447">if</WORD>
<WORD coords="1118,1447,1149,1406,1447">t</WORD>
<WORD coords="1159,1447,1184,1406,1447">R</WORD>
<WORD coords="1190,1462,1361,1406,1447">ows_5</WORD>
<WORD coords="1371,1447,1397,1416,1447">u</WORD>
<WORD coords="1407,1447,1432,1401,1447">b</WORD>
<WORD coords="1442,1462,1609,1406,1447">Bytes</WORD>
<WORD coords="1625,1462,1888,1401,1447">(state);</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="840,1533,900,1482,1522">/*</WORD>
<WORD coords="946,1528,1184,1487,1528">Inverse</WORD>
<WORD coords="1225,1528,1326,1482,1528">Add</WORD>
<WORD coords="1371,1528,1538,1482,1528">Round</WORD>
<WORD coords="1584,1543,1681,1487,1528">Key</WORD>
<WORD coords="1726,1533,1787,1482,1520">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="840,1609,865,1568,1609">I</WORD>
<WORD coords="875,1624,1078,1563,1609">nv_A.dd</WORD>
<WORD coords="1088,1609,1255,1563,1609">Round</WORD>
<WORD coords="1265,1624,1362,1568,1609">Key</WORD>
<WORD coords="1376,1624,1392,1563,1624">(</WORD>
<WORD coords="1407,1609,1468,1568,1609">st</WORD>
<WORD coords="1478,1609,1503,1578,1609">a</WORD>
<WORD coords="1513,1609,1538,1568,1609">t</WORD>
<WORD coords="1549,1609,1574,1578,1609">e</WORD>
<WORD coords="1584,1619,1604,1598,1619">*</WORD>
<WORD coords="1655,1609,1719,1578,1609">ro</WORD>
<WORD coords="1726,1609,1751,1578,1609">u</WORD>
<WORD coords="1761,1609,1822,1563,1609">nd</WORD>
<WORD coords="1832,1624,1852,1563,1624">)</WORD>
<WORD coords="1868,1619,1888,1578,1619">;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="840,1695,900,1644,1684">/*</WORD>
<WORD coords="946,1690,1184,1649,1690">Inverse</WORD>
<WORD coords="1225,1690,1331,1644,1690">Mix</WORD>
<WORD coords="1371,1690,1609,1644,1690">Columns</WORD>
<WORD coords="1655,1695,1716,1644,1682">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="838,1786,1326,1725,1771">Inv_MixColumns</WORD>
<WORD coords="1341,1786,1360,1725,1786">(</WORD>
<WORD coords="1371,1771,1538,1730,1771">state</WORD>
<WORD coords="1549,1781,1569,1760,1781">*</WORD>
<WORD coords="1620,1786,1817,1725,1771">round)</WORD>
<WORD coords="1832,1781,1852,1740,1781">;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="697,1867,723,1805,1867">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,2057,723,1993,2055">The</WORD>
<WORD coords="751,2057,895,1993,2055">final</WORD>
<WORD coords="929,2057,1131,1993,2056">round</WORD>
<WORD coords="1167,2057,1217,1993,2056">is</WORD>
<WORD coords="1249,2073,1619,1993,2056">performed</WORD>
<WORD coords="1651,2073,1993,1993,2056">excluding</WORD>
<WORD coords="2021,2057,2133,1993,2056">the</WORD>
<WORD coords="2165,2057,2617,1993,2055">MixColumns</WORD>
<WORD coords="2647,2073,2799,1999,2057">step</WORD>
<WORD coords="2825,2057,2889,1999,2057">to</WORD>
<WORD coords="2919,2073,3065,1993,2055">give</WORD>
<WORD coords="3093,2057,3205,1993,2056">the</WORD>
<WORD coords="3237,2073,3401,1993,2055">plain</WORD>
<WORD coords="3431,2057,3563,1999,2056">text</WORD>
<WORD coords="3591,2073,3835,1999,2057">output.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,2363,345,2279,2363">4</WORD>
<WORD coords="593,2365,899,2275,2363">Block</WORD>
<WORD coords="939,2387,1301,2275,2363">Cipher</WORD>
<WORD coords="1343,2365,1701,2277,2364">Modes</WORD>
<WORD coords="1741,2365,1845,2277,2364">of</WORD>
<WORD coords="1883,2387,2423,2275,2364">Operation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,2513,647,2453,2513">In</WORD>
<WORD coords="681,2515,855,2451,2513">FIPS</WORD>
<WORD coords="887,2525,1325,2451,2513">SP800-38A,</WORD>
<WORD coords="1361,2515,1543,2451,2513">NIST</WORD>
<WORD coords="1575,2515,2047,2453,2514">recommends</WORD>
<WORD coords="2073,2515,2199,2451,2513">five</WORD>
<WORD coords="2227,2531,2727,2451,2514">confidentiality</WORD>
<WORD coords="2757,2515,2999,2453,2514">modes</WORD>
<WORD coords="3029,2515,3093,2453,2514">of</WORD>
<WORD coords="3121,2531,3461,2453,2514">operation</WORD>
<WORD coords="3497,2515,3681,2453,2514">listed</WORD>
<WORD coords="3713,2515,3925,2453,2514">below</WORD>
<WORD coords="3951,2515,4047,2453,2513">for</WORD>
<WORD coords="4075,2515,4201,2467,2515">use</WORD>
<WORD coords="4231,2515,4371,2453,2513">with</WORD>
<WORD coords="4403,2515,4487,2467,2514">an</WORD>
</LINE>
<LINE>
<WORD coords="587,2639,961,2559,2621">underlying</WORD>
<WORD coords="991,2639,1367,2561,2622">symmetric</WORD>
<WORD coords="1397,2639,1521,2561,2622">key</WORD>
<WORD coords="1549,2623,1739,2561,2622">block</WORD>
<WORD coords="1765,2639,1987,2561,2621">cipher</WORD>
<WORD coords="2015,2639,2373,2559,2621">algorithm.</WORD>
<WORD coords="2407,2623,2605,2561,2622">Mode</WORD>
<WORD coords="2635,2623,2701,2559,2622">of</WORD>
<WORD coords="2729,2639,3067,2561,2622">operation</WORD>
<WORD coords="3101,2623,3151,2561,2622">is</WORD>
<WORD coords="3181,2623,3265,2575,2622">an</WORD>
<WORD coords="3297,2639,3631,2561,2621">algorithm</WORD>
<WORD coords="3663,2623,3799,2561,2622">that</WORD>
<WORD coords="3829,2623,4179,2561,2622">describes</WORD>
<WORD coords="4211,2623,4357,2561,2621">how</WORD>
<WORD coords="4381,2623,4447,2565,2623">to</WORD>
</LINE>
<LINE>
<WORD coords="589,2749,969,2669,2732">repeatedly</WORD>
<WORD coords="999,2749,1193,2669,2732">apply</WORD>
<WORD coords="1221,2733,1261,2685,2733">a</WORD>
<WORD coords="1289,2747,1571,2669,2731">cipher’s</WORD>
<WORD coords="1599,2747,2037,2669,2731">single-block</WORD>
<WORD coords="2065,2749,2403,2669,2732">operation</WORD>
<WORD coords="2431,2733,2497,2675,2733">to</WORD>
<WORD coords="2527,2749,2795,2675,2732">encrypt</WORD>
<WORD coords="2821,2733,2981,2669,2733">data</WORD>
<WORD coords="3011,2749,3217,2669,2731">larger</WORD>
<WORD coords="3241,2733,3397,2669,2732">than</WORD>
<WORD coords="3429,2733,3471,2685,2733">a</WORD>
<WORD coords="3501,2733,3707,2669,2732">block.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,2863,677,2833,2867">•</WORD>
<WORD coords="815,2873,1169,2811,2872">Electronic</WORD>
<WORD coords="1199,2873,1575,2809,2872">Codebook</WORD>
<WORD coords="1605,2873,1805,2811,2872">mode</WORD>
<WORD coords="1837,2889,2051,2809,2871">(ECB)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,2987,677,2957,2993">•</WORD>
<WORD coords="811,3015,1051,2935,2997">Cipher</WORD>
<WORD coords="1081,2999,1277,2935,2997">Block</WORD>
<WORD coords="1307,3015,1625,2935,2997">Chaining</WORD>
<WORD coords="1659,2999,1859,2935,2998">mode</WORD>
<WORD coords="1891,3013,2111,2935,2998">(CBC)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,3111,677,3081,3117">•</WORD>
<WORD coords="811,3139,1051,3059,3121">Cipher</WORD>
<WORD coords="1081,3123,1439,3059,3122">Feedback</WORD>
<WORD coords="1469,3123,1669,3059,3122">mode</WORD>
<WORD coords="1701,3137,1911,3059,3121">(CFB)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,3237,677,3207,3243">•</WORD>
<WORD coords="811,3265,1055,3185,3249">Output</WORD>
<WORD coords="1087,3249,1445,3185,3248">Feedback</WORD>
<WORD coords="1475,3249,1675,3185,3248">mode</WORD>
<WORD coords="1707,3263,1921,3185,3247">(OFB)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,3361,677,3331,3367">•</WORD>
<WORD coords="811,3373,1103,3309,3372">Counter</WORD>
<WORD coords="1133,3373,1333,3309,3372">mode</WORD>
<WORD coords="1365,3387,1579,3309,3371">(CTR)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,3515,723,3451,3513">The</WORD>
<WORD coords="751,3531,1067,3451,3513">following</WORD>
<WORD coords="1097,3515,1397,3451,3514">sections</WORD>
<WORD coords="1427,3531,1683,3451,3513">explain</WORD>
<WORD coords="1711,3515,1823,3451,3514">the</WORD>
<WORD coords="1855,3531,2189,3451,3513">algorithm</WORD>
<WORD coords="2221,3515,2287,3451,3514">of</WORD>
<WORD coords="2315,3515,2487,3451,3514">each</WORD>
<WORD coords="2519,3515,2761,3451,3514">modes</WORD>
<WORD coords="2791,3515,2921,3451,3514">and</WORD>
<WORD coords="2949,3515,3109,3451,3513">their</WORD>
<WORD coords="3139,3515,3191,3451,3515">C</WORD>
<WORD coords="3223,3531,3777,3451,3513">implementation</WORD>
<WORD coords="3809,3513,3865,3451,3513">in</WORD>
<WORD coords="3893,3515,4019,3451,3514">this</WORD>
<WORD coords="4049,3531,4439,3451,3514">application</WORD>
<WORD coords="4473,3515,4649,3457,3514">note.</WORD>
</LINE>
<LINE>
<WORD coords="585,3623,723,3559,3621">The</WORD>
<WORD coords="755,3639,1307,3559,3621">implementation</WORD>
<WORD coords="1343,3623,1393,3561,3622">is</WORD>
<WORD coords="1423,3623,1603,3561,3622">done</WORD>
<WORD coords="1633,3621,1687,3559,3621">in</WORD>
<WORD coords="1719,3639,2049,3561,3622">crypt.c/.h</WORD>
<WORD coords="2079,3623,2199,3559,3621">file.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,3765,723,3701,3763">The</WORD>
<WORD coords="753,3765,1067,3701,3764">standard</WORD>
<WORD coords="1097,3765,1461,3701,3764">document</WORD>
<WORD coords="1491,3781,1693,3701,3763">(FIPS</WORD>
<WORD coords="1727,3765,1867,3701,3764">Pub</WORD>
<WORD coords="1895,3779,2229,3701,3763">800-38A)</WORD>
<WORD coords="2261,3765,2499,3701,3764">should</WORD>
<WORD coords="2531,3765,2617,3701,3765">be</WORD>
<WORD coords="2649,3765,2931,3701,3764">referred</WORD>
<WORD coords="2959,3765,3055,3701,3763">for</WORD>
<WORD coords="3081,3765,3365,3701,3764">detailed</WORD>
<WORD coords="3395,3781,3789,3701,3764">description</WORD>
<WORD coords="3821,3765,3887,3701,3764">of</WORD>
<WORD coords="3917,3765,4341,3701,3764">mathematic</WORD>
</LINE>
<LINE>
<WORD coords="585,3889,979,3809,3872">description</WORD>
<WORD coords="1011,3873,1075,3809,3872">of</WORD>
<WORD coords="1105,3873,1275,3809,3872">each</WORD>
<WORD coords="1309,3873,1571,3809,3872">modes.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,4109,405,4037,4109">4.1</WORD>
<WORD coords="591,4111,1063,4035,4110">Electronic</WORD>
<WORD coords="1099,4111,1581,4033,4110">Codebook</WORD>
<WORD coords="1617,4111,1869,4035,4110">Mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,4255,647,4193,4255">In</WORD>
<WORD coords="675,4257,801,4193,4255">this</WORD>
<WORD coords="833,4267,1053,4193,4256">mode,</WORD>
<WORD coords="1083,4257,1195,4193,4256">the</WORD>
<WORD coords="1227,4273,1399,4193,4256">input</WORD>
<WORD coords="1429,4257,1481,4193,4256">is</WORD>
<WORD coords="1509,4257,1767,4193,4256">divided</WORD>
<WORD coords="1799,4255,1853,4193,4255">in</WORD>
<WORD coords="1883,4257,1949,4199,4257">to</WORD>
<WORD coords="1977,4273,2295,4199,4256">separate</WORD>
<WORD coords="2327,4257,2515,4193,4256">block</WORD>
<WORD coords="2543,4257,2609,4193,4256">of</WORD>
<WORD coords="2643,4257,2769,4195,4256">128</WORD>
<WORD coords="2799,4257,2941,4193,4256">bits.</WORD>
<WORD coords="2977,4257,3155,4193,4256">Each</WORD>
<WORD coords="3187,4257,3377,4193,4256">block</WORD>
<WORD coords="3407,4257,3459,4193,4256">is</WORD>
<WORD coords="3489,4273,4233,4193,4256">encrypted/decrypted</WORD>
</LINE>
<LINE>
<WORD coords="587,4381,1117,4301,4364">independently.</WORD>
<WORD coords="1153,4363,1211,4301,4363">In</WORD>
<WORD coords="1247,4365,1407,4301,4363">ECB</WORD>
<WORD coords="1437,4381,1835,4301,4364">encryption,</WORD>
<WORD coords="1865,4365,1977,4301,4364">the</WORD>
<WORD coords="2007,4381,2229,4301,4363">cipher</WORD>
<WORD coords="2255,4365,2539,4301,4364">function</WORD>
<WORD coords="2573,4365,2625,4301,4364">is</WORD>
<WORD coords="2653,4381,2913,4301,4364">directly</WORD>
<WORD coords="2941,4381,3201,4301,4364">applied</WORD>
<WORD coords="3229,4365,3295,4307,4365">to</WORD>
<WORD coords="3325,4365,3497,4301,4364">each</WORD>
<WORD coords="3531,4381,3703,4301,4364">input</WORD>
<WORD coords="3733,4365,3921,4301,4364">block</WORD>
<WORD coords="3953,4381,4255,4301,4364">resulting</WORD>
<WORD coords="4289,4363,4343,4301,4363">in</WORD>
<WORD coords="4375,4365,4417,4317,4365">a</WORD>
<WORD coords="4443,4381,4667,4301,4363">cipher</WORD>
</LINE>
<LINE>
<WORD coords="583,4473,733,4415,4472">text.</WORD>
<WORD coords="771,4471,827,4409,4471">In</WORD>
<WORD coords="861,4473,1023,4409,4471">ECB</WORD>
<WORD coords="1051,4489,1449,4409,4472">decryption,</WORD>
<WORD coords="1481,4473,1591,4409,4472">the</WORD>
<WORD coords="1623,4473,1885,4409,4471">inverse</WORD>
<WORD coords="1913,4489,2137,4409,4471">cipher</WORD>
<WORD coords="2163,4473,2447,4409,4472">function</WORD>
<WORD coords="2481,4473,2533,4409,4472">is</WORD>
<WORD coords="2563,4489,2823,4409,4472">applied</WORD>
<WORD coords="2851,4473,2917,4415,4473">to</WORD>
<WORD coords="2947,4473,3119,4409,4472">each</WORD>
<WORD coords="3151,4473,3339,4409,4472">block</WORD>
<WORD coords="3365,4473,3431,4415,4473">to</WORD>
<WORD coords="3463,4473,3731,4409,4472">retrieve</WORD>
<WORD coords="3759,4473,3869,4409,4472">the</WORD>
<WORD coords="3901,4489,4067,4409,4471">plain</WORD>
<WORD coords="4097,4473,4247,4415,4472">text.</WORD>
<WORD coords="4283,4473,4321,4409,4472">It</WORD>
<WORD coords="4351,4473,4401,4409,4472">is</WORD>
</LINE>
<LINE>
<WORD coords="589,4581,933,4517,4580">illustrated</WORD>
<WORD coords="967,4579,1021,4519,4579">in</WORD>
<WORD coords="1049,4581,1161,4519,4580">the</WORD>
<WORD coords="1195,4597,1421,4517,4579">Figure</WORD>
<WORD coords="1449,4579,1585,4519,4574">4-1.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4383,6295,4643,6193,6295">TYl©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0011.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0012.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0012.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,565,811,495,549">Figure</WORD>
<WORD coords="835,549,929,495,545">4-1</WORD>
<WORD coords="947,549,959,537,549">.</WORD>
<WORD coords="1109,551,1463,493,550">Electronic</WORD>
<WORD coords="1489,551,1853,493,550">Codebook</WORD>
<WORD coords="1879,551,2069,493,550">Mode</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="651,759,789,697,759">ECB</WORD>
<WORD coords="819,775,1221,697,759">Encryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="799,965,973,899,963">Plain</WORD>
<WORD coords="997,965,1151,903,964">Text</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="956,1224,964,1206,1224">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="978,1225,987,1205,1225">r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="679,1395,925,1315,1379">Cipher</WORD>
<WORD coords="947,1381,1263,1313,1379">function</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="978,1656,987,1637,1656">r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="763,1821,1009,1741,1805">Cipher</WORD>
<WORD coords="1031,1807,1183,1745,1806">Text</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2055,775,2193,713,773">ECB</WORD>
<WORD coords="2223,791,2633,711,774">Decryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2177,979,2577,899,963">CipherText</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2383,1227,2391,1204,1227">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2111,1323,2375,1263,1323">Inverse</WORD>
<WORD coords="2401,1341,2647,1257,1323">Cipher</WORD>
</LINE>
<LINE>
<WORD coords="2217,1435,2533,1369,1435">function</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="2383,1655,2392,1637,1655">r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2203,1807,2377,1741,1805">Plain</WORD>
<WORD coords="2403,1807,2555,1745,1805">Text</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="589,2155,749,2091,2153">ECB</WORD>
<WORD coords="781,2155,833,2091,2154">is</WORD>
<WORD coords="859,2155,971,2091,2154">the</WORD>
<WORD coords="1001,2171,1301,2091,2154">simplest</WORD>
<WORD coords="1331,2155,1531,2091,2154">mode</WORD>
<WORD coords="1561,2155,1625,2091,2154">of</WORD>
<WORD coords="1655,2155,1749,2091,2153">all.</WORD>
<WORD coords="1783,2155,1873,2091,2154">As</WORD>
<WORD coords="1905,2155,1939,2091,2154">it</WORD>
<WORD coords="1969,2155,2263,2091,2153">involves</WORD>
<WORD coords="2291,2155,2493,2091,2154">direct</WORD>
<WORD coords="2521,2171,2895,2091,2154">encryption</WORD>
<WORD coords="2927,2155,2993,2091,2154">of</WORD>
<WORD coords="3021,2155,3191,2091,2154">each</WORD>
<WORD coords="3225,2165,3433,2091,2154">block,</WORD>
<WORD coords="3467,2155,3501,2091,2154">it</WORD>
<WORD coords="3527,2155,3703,2091,2155">does</WORD>
<WORD coords="3735,2155,3843,2097,2154">not</WORD>
<WORD coords="3873,2171,4139,2091,2154">provide</WORD>
<WORD coords="4171,2155,4377,2091,2154">better</WORD>
</LINE>
<LINE>
<WORD coords="585,2279,1085,2199,2262">confidentiality</WORD>
<WORD coords="1111,2263,1243,2199,2262">and</WORD>
<WORD coords="1273,2263,1355,2215,2263">so</WORD>
<WORD coords="1387,2263,1423,2199,2262">it</WORD>
<WORD coords="1453,2263,1505,2199,2262">is</WORD>
<WORD coords="1537,2263,1645,2205,2262">not</WORD>
<WORD coords="1675,2263,2197,2199,2262">recommended</WORD>
<WORD coords="2227,2263,2321,2199,2261">for</WORD>
<WORD coords="2349,2279,2843,2199,2262">cryptographic</WORD>
<WORD coords="2873,2279,3223,2199,2262">protocols.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,2477,463,2415,2477">4.1.2</WORD>
<WORD coords="587,2479,639,2415,2479">C</WORD>
<WORD coords="671,2495,1275,2415,2477">Implementation</WORD>
<WORD coords="1305,2479,1381,2415,2478">of</WORD>
<WORD coords="1413,2479,1577,2415,2477">ECB</WORD>
<WORD coords="1609,2479,1825,2415,2478">mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,2621,677,2559,2620">As</WORD>
<WORD coords="709,2631,1109,2559,2620">mentioned,</WORD>
<WORD coords="1137,2621,1249,2559,2620">the</WORD>
<WORD coords="1281,2637,1835,2559,2619">implementation</WORD>
<WORD coords="1871,2621,1921,2559,2620">is</WORD>
<WORD coords="1949,2637,2103,2573,2619">very</WORD>
<WORD coords="2129,2621,2329,2559,2620">direct</WORD>
<WORD coords="2355,2621,2491,2559,2620">that</WORD>
<WORD coords="2521,2637,2695,2559,2620">input</WORD>
<WORD coords="2727,2621,2777,2559,2620">is</WORD>
<WORD coords="2805,2621,3061,2559,2620">divided</WORD>
<WORD coords="3095,2621,3221,2557,2620">into</WORD>
<WORD coords="3249,2621,3423,2559,2620">each</WORD>
<WORD coords="3455,2621,3645,2559,2620">block</WORD>
<WORD coords="3673,2621,3737,2559,2620">of</WORD>
<WORD coords="3771,2621,3897,2559,2620">128</WORD>
<WORD coords="3929,2621,4069,2557,2620">bits.</WORD>
<WORD coords="4103,2621,4243,2557,2619">The</WORD>
<WORD coords="4275,2621,4551,2559,2620">number</WORD>
<WORD coords="4579,2621,4643,2559,2620">of</WORD>
</LINE>
<LINE>
<WORD coords="589,2747,761,2667,2730">input</WORD>
<WORD coords="789,2731,1019,2667,2730">blocks</WORD>
<WORD coords="1051,2747,1709,2667,2730">(input_block_size)</WORD>
<WORD coords="1743,2731,1855,2683,2730">are</WORD>
<WORD coords="1885,2731,2253,2667,2730">calculated</WORD>
<WORD coords="2281,2731,2441,2667,2729">from</WORD>
<WORD coords="2473,2731,2583,2667,2730">the</WORD>
<WORD coords="2613,2731,2753,2667,2730">size</WORD>
<WORD coords="2783,2731,2849,2667,2730">of</WORD>
<WORD coords="2875,2731,2985,2667,2730">the</WORD>
<WORD coords="3017,2747,3191,2667,2730">input</WORD>
<WORD coords="3219,2747,3385,2667,2729">plain</WORD>
<WORD coords="3415,2731,3565,2673,2730">text.</WORD>
<WORD coords="3605,2731,3899,2667,2729">Forward</WORD>
<WORD coords="3931,2731,4061,2667,2729">and</WORD>
<WORD coords="4095,2731,4355,2667,2729">inverse</WORD>
<WORD coords="4383,2747,4605,2667,2729">cipher</WORD>
</LINE>
<LINE>
<WORD coords="585,2839,869,2775,2838">function</WORD>
<WORD coords="903,2839,953,2775,2838">is</WORD>
<WORD coords="983,2855,1243,2775,2838">applied</WORD>
<WORD coords="1271,2839,1337,2781,2839">to</WORD>
<WORD coords="1365,2839,1543,2775,2838">them</WORD>
<WORD coords="1575,2839,1639,2781,2839">to</WORD>
<WORD coords="1669,2855,1779,2781,2839">get</WORD>
<WORD coords="1805,2839,1917,2775,2838">the</WORD>
<WORD coords="1947,2855,2169,2775,2837">cipher</WORD>
<WORD coords="2193,2839,2325,2781,2838">text</WORD>
<WORD coords="2353,2839,2485,2775,2838">and</WORD>
<WORD coords="2517,2855,2683,2775,2837">plain</WORD>
<WORD coords="2713,2839,2847,2781,2838">text</WORD>
<WORD coords="2877,2855,3311,2775,2838">respectively</WORD>
<WORD coords="3337,2839,3419,2791,2839">as</WORD>
<WORD coords="3449,2839,3661,2775,2838">below</WORD>
<WORD coords="3691,2837,3745,2775,2837">in</WORD>
<WORD coords="3775,2839,3887,2775,2838">the</WORD>
<WORD coords="3919,2855,4067,2775,2838">loop</WORD>
<WORD coords="4095,2839,4189,2775,2837">for</WORD>
<WORD coords="4215,2839,4327,2775,2838">the</WORD>
</LINE>
<LINE>
<WORD coords="587,2963,1215,2883,2946">input_block_size.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="582,3071,587,3022,3071">I</WORD>
<WORD coords="599,3071,744,3022,3071">void</WORD>
<WORD coords="788,3087,1200,3022,3071">ecb_encrypt</WORD>
<WORD coords="1217,3087,1504,3022,3071">(uint8_t</WORD>
<WORD coords="1553,3087,1923,3022,3071">*plainText</WORD>
<WORD coords="2009,3087,2265,3022,3071">uintS_t</WORD>
<WORD coords="2313,3087,2721,3022,3071">^oipherText</WORD>
<WORD coords="2808,3087,3101,3022,3071">uint32._t</WORD>
<WORD coords="3150,3087,3323,3022,3071">size)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="603,3175,631,3109,3175">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="755,3261,1048,3196,3244">uint.32._t</WORD>
<WORD coords="1097,3261,1695,3196,3244">input_block_size</WORD>
<WORD coords="1739,3234,1776,3217,3239">=</WORD>
<WORD coords="1814,3255,1879,3201,3249">0;</WORD>
</LINE>
<LINE>
<WORD coords="755,3331,934,3282,3331">uintS</WORD>
<WORD coords="978,3331,1010,3288,3331">t</WORD>
<WORD coords="1059,3331,1244,3282,3331">block</WORD>
<WORD coords="1287,3331,1466,3288,3331">count</WORD>
<WORD coords="1510,3320,1548,3304,3325">=</WORD>
<WORD coords="1586,3342,1651,3288,3331">Gj</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711421">
<PARAGRAPH>
<LINE>
<WORD coords="755,3511,1162,3456,3505">//Calculate</WORD>
<WORD coords="1206,3505,1314,3456,3505">the</WORD>
<WORD coords="1363,3505,1581,3456,3505">number</WORD>
<WORD coords="1624,3505,1696,3456,3505">of</WORD>
<WORD coords="1743,3522,1923,3456,3505">input</WORD>
<WORD coords="1971,3505,2189,3456,3505">blocks</WORD>
</LINE>
<LINE>
<WORD coords="755,3608,1352,3543,3592">input_blcck_size</WORD>
<WORD coords="1401,3581,1434,3565,3586">=</WORD>
<WORD coords="1477,3608,2189,3543,3592">size/AE5_BILOCK_5IZE</WORD>
<WORD coords="2199,3603,2221,3560,3603">j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="754,3782,1314,3717,3766">for(block_count</WORD>
<WORD coords="1359,3755,1396,3739,3760">=</WORD>
<WORD coords="1434,3777,1499,3723,3771">0^</WORD>
<WORD coords="1515,3782,1923,3717,3766">block_count</WORD>
<WORD coords="1971,3766,1999,3728,3766">&lt;</WORD>
<WORD coords="2047,3782,2677,3717,3766">input_block_siz-e;</WORD>
<WORD coords="2732,3782,3291,3717,3766">block_count++){</WORD>
</LINE>
<LINE>
<WORD coords="907,3858,1238,3804,3853">//Perform</WORD>
<WORD coords="1282,3853,1543,3804,3853">forward</WORD>
<WORD coords="1591,3869,1809,3804,3853">cipher</WORD>
<WORD coords="1852,3853,1961,3804,3853">for</WORD>
<WORD coords="2004,3853,2113,3804,3853">the</WORD>
<WORD coords="2161,3869,2341,3804,3853">input</WORD>
<WORD coords="2389,3853,2607,3804,3853">blocks</WORD>
</LINE>
<LINE>
<WORD coords="907,3956,2151,3891,3940">aes_cipher(plainTe&gt;ctH-£block_count</WORD>
<WORD coords="2199,3918,2227,3891,3929">*</WORD>
<WORD coords="2270,3956,2829,3891,3940">AE5_BILQCK_5IZE)</WORD>
<WORD coords="2846,3951,2867,3929,3945">j.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1667,4043,2531,3978,4027">cipherTeKt+£block_count</WORD>
<WORD coords="2580,4005,2607,3978,4016">*</WORD>
<WORD coords="2650,4043,3209,3978,4027">AE5_B10CK_5IZE)</WORD>
<WORD coords="3231,4043,3247,3978,4043">)</WORD>
<WORD coords="3264,4038,3285,3994,4038">j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="755,4131,783,4065,4131">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="603,4305,631,4239,4305">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,4555,417,4483,4555">4.2</WORD>
<WORD coords="583,4557,757,4481,4555">The</WORD>
<WORD coords="793,4577,1103,4481,4555">Cipher</WORD>
<WORD coords="1141,4557,1403,4481,4555">Block</WORD>
<WORD coords="1437,4577,1855,4481,4555">Chaining</WORD>
<WORD coords="1895,4557,2147,4481,4556">Mode</WORD>
<WORD coords="2181,4575,2455,4481,4556">(CBC)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,4703,677,4641,4702">As</WORD>
<WORD coords="703,4703,815,4641,4702">the</WORD>
<WORD coords="847,4703,1047,4655,4702">name</WORD>
<WORD coords="1079,4719,1349,4639,4701">implies,</WORD>
<WORD coords="1379,4703,1505,4641,4702">this</WORD>
<WORD coords="1537,4703,1735,4641,4702">mode</WORD>
<WORD coords="1763,4703,2061,4641,4702">features</WORD>
<WORD coords="2089,4719,2391,4639,4701">chaining</WORD>
<WORD coords="2421,4703,2487,4639,4702">of</WORD>
<WORD coords="2517,4719,2683,4641,4701">plain</WORD>
<WORD coords="2713,4703,2845,4645,4702">text</WORD>
<WORD coords="2871,4703,3011,4639,4701">with</WORD>
<WORD coords="3045,4719,3351,4641,4702">previous</WORD>
<WORD coords="3381,4719,3605,4641,4701">cipher</WORD>
<WORD coords="3629,4703,3761,4645,4702">text</WORD>
<WORD coords="3791,4703,4039,4641,4702">blocks.</WORD>
<WORD coords="4069,4703,4223,4639,4701">This</WORD>
<WORD coords="4253,4703,4453,4641,4702">mode</WORD>
</LINE>
<LINE>
<WORD coords="589,4827,879,4747,4810">requires</WORD>
<WORD coords="909,4811,993,4763,4810">an</WORD>
<WORD coords="1029,4811,1451,4747,4809">Initialization</WORD>
<WORD coords="1483,4811,1721,4749,4810">Vector</WORD>
<WORD coords="1751,4827,1873,4749,4809">(IV)</WORD>
<WORD coords="1903,4811,1969,4753,4811">to</WORD>
<WORD coords="1997,4811,2305,4747,4810">combine</WORD>
<WORD coords="2335,4811,2475,4749,4809">with</WORD>
<WORD coords="2505,4811,2617,4749,4810">the</WORD>
<WORD coords="2645,4811,2777,4747,4809">first</WORD>
<WORD coords="2805,4811,3011,4749,4810">block.</WORD>
<WORD coords="3043,4811,3183,4747,4809">The</WORD>
<WORD coords="3215,4809,3285,4749,4809">IV</WORD>
<WORD coords="3315,4811,3365,4749,4810">is</WORD>
<WORD coords="3397,4811,3507,4753,4810">not</WORD>
<WORD coords="3535,4811,3759,4753,4810">secret</WORD>
<WORD coords="3787,4811,3897,4749,4811">but</WORD>
<WORD coords="3923,4811,4163,4749,4810">should</WORD>
<WORD coords="4195,4811,4279,4749,4811">be</WORD>
</LINE>
<LINE>
<WORD coords="587,4937,1099,4857,4920">unpredictable.</WORD>
<WORD coords="1137,4921,1239,4857,4920">I.e.</WORD>
<WORD coords="1269,4921,1365,4857,4919">for</WORD>
<WORD coords="1391,4937,1521,4873,4920">any</WORD>
<WORD coords="1547,4937,1739,4857,4919">given</WORD>
<WORD coords="1771,4937,2095,4857,4920">plaintext,</WORD>
<WORD coords="2129,4921,2163,4857,4920">it</WORD>
<WORD coords="2195,4921,2369,4863,4920">must</WORD>
<WORD coords="2399,4921,2507,4863,4919">not</WORD>
<WORD coords="2535,4921,2621,4857,4921">be</WORD>
<WORD coords="2651,4937,2949,4857,4920">possible</WORD>
<WORD coords="2977,4921,3041,4863,4921">to</WORD>
<WORD coords="3073,4937,3317,4857,4920">predict</WORD>
<WORD coords="3343,4921,3453,4857,4920">the</WORD>
<WORD coords="3487,4919,3557,4857,4919">IV</WORD>
<WORD coords="3583,4921,3719,4857,4920">that</WORD>
<WORD coords="3745,4919,3855,4857,4919">will</WORD>
<WORD coords="3887,4921,3971,4857,4921">be</WORD>
<WORD coords="4001,4921,4391,4857,4920">associated</WORD>
<WORD coords="4421,4921,4485,4863,4921">to</WORD>
<WORD coords="4513,4921,4625,4857,4920">the</WORD>
</LINE>
<LINE>
<WORD coords="587,5045,891,4965,5028">plaintext</WORD>
<WORD coords="921,5027,973,4965,5027">in</WORD>
<WORD coords="1007,5029,1315,4965,5028">advance</WORD>
<WORD coords="1345,5029,1409,4965,5028">of</WORD>
<WORD coords="1435,5029,1547,4965,5028">the</WORD>
<WORD coords="1575,5045,1961,4965,5028">generation</WORD>
<WORD coords="1991,5029,2057,4965,5028">of</WORD>
<WORD coords="2083,5029,2195,4965,5028">the</WORD>
<WORD coords="2229,5027,2317,4965,5027">IV.</WORD>
<WORD coords="2351,5029,2627,4965,5028">Various</WORD>
<WORD coords="2659,5029,2969,4965,5028">methods</WORD>
<WORD coords="2999,5029,3063,4965,5028">of</WORD>
<WORD coords="3091,5045,3475,4965,5028">generation</WORD>
<WORD coords="3507,5029,3573,4965,5028">of</WORD>
<WORD coords="3605,5029,4027,4965,5027">Initialization</WORD>
<WORD coords="4057,5029,4283,4971,5028">vector</WORD>
<WORD coords="4309,5029,4361,4965,5028">is</WORD>
</LINE>
<LINE>
<WORD coords="587,5153,933,5073,5136">explained</WORD>
<WORD coords="967,5135,1021,5073,5135">in</WORD>
<WORD coords="1053,5153,1393,5073,5135">Appendix</WORD>
<WORD coords="1423,5137,1477,5073,5137">C</WORD>
<WORD coords="1505,5137,1571,5073,5136">of</WORD>
<WORD coords="1603,5137,1777,5073,5135">FIPS</WORD>
<WORD coords="1811,5137,1949,5073,5136">Pub</WORD>
<WORD coords="1979,5137,2309,5073,5135">800-38A.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,5353,453,5291,5353">4.2.1</WORD>
<WORD coords="587,5355,759,5291,5354">CBC</WORD>
<WORD coords="793,5371,1215,5291,5353">Encryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,5495,647,5435,5495">In</WORD>
<WORD coords="675,5497,787,5435,5496">the</WORD>
<WORD coords="817,5497,985,5433,5496">CBC</WORD>
<WORD coords="1019,5513,1423,5433,5495">Encryption,</WORD>
<WORD coords="1453,5497,1565,5435,5496">the</WORD>
<WORD coords="1593,5497,1727,5433,5495">first</WORD>
<WORD coords="1755,5497,1945,5435,5496">block</WORD>
<WORD coords="1971,5497,2037,5433,5496">of</WORD>
<WORD coords="2065,5513,2229,5433,5495">plain</WORD>
<WORD coords="2259,5497,2391,5439,5496">text</WORD>
<WORD coords="2421,5497,2473,5435,5496">is</WORD>
<WORD coords="2501,5497,2797,5433,5496">XOR-ed</WORD>
<WORD coords="2827,5497,2967,5435,5495">with</WORD>
<WORD coords="3003,5495,3091,5435,5495">IV.</WORD>
<WORD coords="3121,5497,3275,5433,5495">This</WORD>
<WORD coords="3303,5497,3507,5433,5495">forms</WORD>
<WORD coords="3533,5497,3643,5435,5496">the</WORD>
<WORD coords="3675,5513,3849,5433,5496">input</WORD>
<WORD coords="3879,5497,4069,5435,5496">block</WORD>
<WORD coords="4095,5497,4189,5433,5495">for</WORD>
<WORD coords="4217,5513,4439,5435,5495">cipher</WORD>
</LINE>
<LINE>
<WORD coords="585,5605,869,5541,5604">function</WORD>
<WORD coords="899,5605,1105,5543,5603">which</WORD>
<WORD coords="1139,5605,1375,5543,5604">results</WORD>
<WORD coords="1405,5603,1461,5541,5603">in</WORD>
<WORD coords="1489,5605,1601,5543,5604">the</WORD>
<WORD coords="1629,5605,1761,5541,5603">first</WORD>
<WORD coords="1789,5621,2011,5543,5603">cipher</WORD>
<WORD coords="2035,5605,2167,5547,5604">text</WORD>
<WORD coords="2197,5605,2405,5543,5604">block.</WORD>
<WORD coords="2435,5605,2587,5541,5603">This</WORD>
<WORD coords="2617,5621,2839,5543,5603">cipher</WORD>
<WORD coords="2863,5605,2995,5547,5604">text</WORD>
<WORD coords="3021,5605,3177,5543,5604">then</WORD>
<WORD coords="3209,5605,3505,5541,5604">XOR-ed</WORD>
<WORD coords="3535,5605,3675,5543,5603">with</WORD>
<WORD coords="3705,5605,3815,5543,5604">the</WORD>
<WORD coords="3849,5605,3999,5547,5604">next</WORD>
<WORD coords="4027,5621,4193,5543,5603">plain</WORD>
<WORD coords="4223,5605,4355,5547,5604">text</WORD>
<WORD coords="4385,5605,4575,5543,5604">block</WORD>
</LINE>
<LINE>
<WORD coords="587,5713,717,5649,5712">and</WORD>
<WORD coords="747,5729,921,5665,5713">goes</WORD>
<WORD coords="949,5729,1225,5649,5712">through</WORD>
<WORD coords="1255,5713,1527,5649,5711">forward</WORD>
<WORD coords="1557,5729,1783,5649,5711">cipher</WORD>
<WORD coords="1807,5713,1871,5655,5713">to</WORD>
<WORD coords="1899,5713,2059,5649,5711">form</WORD>
<WORD coords="2091,5713,2201,5649,5712">the</WORD>
<WORD coords="2231,5713,2491,5649,5712">second</WORD>
<WORD coords="2521,5729,2743,5649,5711">cipher</WORD>
<WORD coords="2769,5713,2919,5655,5712">text.</WORD>
<WORD coords="2951,5713,3131,5649,5712">Thus</WORD>
<WORD coords="3159,5713,3397,5649,5711">further</WORD>
<WORD coords="3425,5729,3647,5649,5711">cipher</WORD>
<WORD coords="3671,5713,3803,5655,5712">text</WORD>
<WORD coords="3833,5713,4065,5649,5712">blocks</WORD>
<WORD coords="4095,5713,4207,5665,5712">are</WORD>
<WORD coords="4235,5713,4489,5649,5712">formed</WORD>
<WORD coords="4521,5729,4603,5649,5713">by</WORD>
</LINE>
<LINE>
<WORD coords="587,5837,887,5757,5819">applying</WORD>
<WORD coords="917,5821,1187,5757,5819">forward</WORD>
<WORD coords="1219,5837,1441,5757,5819">cipher</WORD>
<WORD coords="1469,5821,1631,5757,5820">after</WORD>
<WORD coords="1659,5835,1971,5757,5819">XOR-ing</WORD>
<WORD coords="1999,5819,2113,5759,5819">the</WORD>
<WORD coords="2143,5835,2515,5759,5819">respective</WORD>
<WORD coords="2547,5819,2733,5759,5819">block</WORD>
<WORD coords="2761,5819,2831,5757,5819">of</WORD>
<WORD coords="2857,5835,3021,5759,5819">plain</WORD>
<WORD coords="3051,5819,3183,5761,5819">text</WORD>
<WORD coords="3209,5819,3349,5759,5819">with</WORD>
<WORD coords="3379,5819,3491,5759,5819">the</WORD>
<WORD coords="3523,5835,3827,5759,5819">previous</WORD>
<WORD coords="3861,5821,4109,5757,5819">block’s</WORD>
<WORD coords="4137,5837,4359,5757,5819">cipher</WORD>
<WORD coords="4385,5821,4537,5763,5820">text.</WORD>
</LINE>
<LINE>
<WORD coords="589,5931,903,5867,5930">Because</WORD>
<WORD coords="931,5931,997,5867,5930">of</WORD>
<WORD coords="1023,5931,1147,5867,5930">this</WORD>
<WORD coords="1177,5947,1501,5867,5929">chaining,</WORD>
<WORD coords="1533,5931,1667,5883,5930">one</WORD>
<WORD coords="1697,5931,1779,5867,5930">bit</WORD>
<WORD coords="1807,5947,2073,5867,5930">change</WORD>
<WORD coords="2107,5929,2161,5867,5929">in</WORD>
<WORD coords="2191,5931,2301,5867,5930">the</WORD>
<WORD coords="2333,5947,2499,5867,5929">plain</WORD>
<WORD coords="2529,5931,2661,5873,5930">text</WORD>
<WORD coords="2687,5931,2757,5883,5930">or</WORD>
<WORD coords="2789,5929,2857,5867,5929">IV</WORD>
<WORD coords="2885,5931,3077,5867,5930">could</WORD>
<WORD coords="3109,5931,3309,5867,5930">affect</WORD>
<WORD coords="3337,5931,3411,5867,5929">all</WORD>
<WORD coords="3441,5947,3757,5867,5929">following</WORD>
<WORD coords="3789,5947,4011,5867,5929">cipher</WORD>
<WORD coords="4037,5931,4169,5873,5930">text</WORD>
<WORD coords="4199,5931,4447,5867,5930">blocks.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4579,6273,4659,6211,6272">13</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0012.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0013.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0013.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,565,811,495,549">Figure</WORD>
<WORD coords="835,549,959,495,546">4-2.</WORD>
<WORD coords="1107,551,1263,493,550">CBC</WORD>
<WORD coords="1291,565,1673,493,549">Encryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3583,747,3749,685,747">Plain</WORD>
<WORD coords="3773,747,3917,689,747">Text</WORD>
</LINE>
<LINE>
<WORD coords="3625,853,3811,791,853">block</WORD>
<WORD coords="3837,853,3873,811,853">n</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3669,1065,3743,999,1065">r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3755,993,3764,975,993">r</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="3755,1075,3829,1001,1070">IX</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3667,1143,3745,1067,1133">v:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3755,1143,3829,1065,1143">y</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="3755,1267,3764,1250,1267">r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3470,1432,3703,1355,1416">Cipher</WORD>
<WORD coords="3725,1417,4023,1355,1416">function</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3736,1668,3743,1652,1668">&apos;</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3756,1671,3764,1652,1671">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="3413,1807,3443,1723,1807">(</WORD>
<WORD coords="3549,1785,3783,1709,1771">Cipher</WORD>
<WORD coords="3803,1771,3947,1713,1771">Text</WORD>
</LINE>
<LINE>
<WORD coords="3419,1893,3471,1829,1893">\</WORD>
<WORD coords="3615,1877,3799,1815,1877">block</WORD>
<WORD coords="3847,1877,3883,1835,1877">n</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,2153,463,2091,2153">4.2.2</WORD>
<WORD coords="587,2155,759,2091,2154">CBC</WORD>
<WORD coords="791,2171,1215,2091,2154">Decryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,2297,647,2235,2297">In</WORD>
<WORD coords="679,2299,847,2235,2298">CBC</WORD>
<WORD coords="875,2315,1273,2235,2298">decryption,</WORD>
<WORD coords="1305,2299,1415,2235,2298">the</WORD>
<WORD coords="1449,2299,1709,2235,2297">inverse</WORD>
<WORD coords="1737,2315,1959,2235,2297">cipher</WORD>
<WORD coords="1989,2299,2041,2235,2298">is</WORD>
<WORD coords="2071,2315,2331,2235,2298">applied</WORD>
<WORD coords="2361,2299,2521,2251,2298">over</WORD>
<WORD coords="2549,2315,2723,2235,2297">input</WORD>
<WORD coords="2749,2315,2973,2235,2297">cipher</WORD>
<WORD coords="2997,2299,3129,2241,2298">text</WORD>
<WORD coords="3159,2299,3289,2235,2298">and</WORD>
<WORD coords="3317,2299,3429,2235,2298">the</WORD>
<WORD coords="3461,2315,3765,2235,2298">resulting</WORD>
<WORD coords="3795,2315,4023,2241,2299">output</WORD>
<WORD coords="4053,2299,4241,2235,2298">block</WORD>
<WORD coords="4271,2299,4323,2235,2298">is</WORD>
<WORD coords="4351,2299,4649,2235,2298">XOR-ed</WORD>
</LINE>
<LINE>
<WORD coords="585,2405,725,2343,2403">with</WORD>
<WORD coords="761,2403,831,2343,2403">IV</WORD>
<WORD coords="855,2405,921,2347,2405">to</WORD>
<WORD coords="951,2421,1063,2347,2405">get</WORD>
<WORD coords="1087,2405,1199,2343,2404">the</WORD>
<WORD coords="1227,2405,1359,2341,2403">first</WORD>
<WORD coords="1387,2405,1577,2343,2404">block</WORD>
<WORD coords="1603,2405,1669,2341,2404">of</WORD>
<WORD coords="1699,2421,1863,2343,2403">plain</WORD>
<WORD coords="1893,2405,2041,2347,2404">text.</WORD>
<WORD coords="2073,2405,2213,2341,2403">The</WORD>
<WORD coords="2241,2405,2503,2343,2404">second</WORD>
<WORD coords="2533,2421,2755,2343,2403">cipher</WORD>
<WORD coords="2781,2405,2913,2347,2404">text</WORD>
<WORD coords="2941,2405,3131,2343,2404">block</WORD>
<WORD coords="3159,2421,3333,2357,2405">goes</WORD>
<WORD coords="3359,2421,3635,2343,2404">through</WORD>
<WORD coords="3669,2405,3929,2341,2403">inverse</WORD>
<WORD coords="3957,2421,4181,2343,2403">cipher</WORD>
<WORD coords="4207,2405,4491,2341,2404">function</WORD>
<WORD coords="4523,2405,4655,2343,2404">and</WORD>
</LINE>
<LINE>
<WORD coords="583,2515,695,2451,2514">the</WORD>
<WORD coords="727,2531,1029,2451,2514">resulting</WORD>
<WORD coords="1061,2531,1289,2457,2514">output</WORD>
<WORD coords="1317,2515,1507,2451,2514">block</WORD>
<WORD coords="1539,2515,1589,2451,2514">is</WORD>
<WORD coords="1619,2515,1913,2451,2514">XOR-ed</WORD>
<WORD coords="1941,2515,2083,2451,2513">with</WORD>
<WORD coords="2115,2531,2421,2451,2514">previous</WORD>
<WORD coords="2451,2531,2675,2451,2513">cipher</WORD>
<WORD coords="2699,2515,2831,2457,2514">text</WORD>
<WORD coords="2861,2515,3049,2451,2514">block</WORD>
<WORD coords="3075,2515,3141,2457,2514">to</WORD>
<WORD coords="3169,2531,3281,2457,2515">get</WORD>
<WORD coords="3305,2515,3417,2451,2514">the</WORD>
<WORD coords="3447,2515,3707,2451,2514">second</WORD>
<WORD coords="3739,2531,3905,2451,2513">plain</WORD>
<WORD coords="3935,2515,4067,2457,2514">text</WORD>
<WORD coords="4097,2515,4303,2451,2514">block.</WORD>
<WORD coords="4341,2515,4599,2451,2513">Further</WORD>
</LINE>
<LINE>
<WORD coords="587,2639,753,2559,2621">plain</WORD>
<WORD coords="781,2623,913,2565,2622">text</WORD>
<WORD coords="943,2623,1173,2559,2622">blocks</WORD>
<WORD coords="1203,2623,1315,2575,2622">are</WORD>
<WORD coords="1349,2623,1661,2559,2622">retrieved</WORD>
<WORD coords="1693,2639,1777,2559,2623">by</WORD>
<WORD coords="1803,2639,2105,2559,2621">applying</WORD>
<WORD coords="2137,2623,2399,2559,2621">inverse</WORD>
<WORD coords="2427,2639,2651,2559,2621">cipher</WORD>
<WORD coords="2677,2623,2835,2575,2622">over</WORD>
<WORD coords="2867,2639,3237,2559,2622">respective</WORD>
<WORD coords="3267,2639,3489,2559,2621">cipher</WORD>
<WORD coords="3513,2623,3647,2565,2622">text</WORD>
<WORD coords="3675,2623,3863,2559,2622">block</WORD>
<WORD coords="3893,2623,4023,2559,2622">and</WORD>
<WORD coords="4051,2623,4207,2559,2622">then</WORD>
<WORD coords="4237,2623,4533,2559,2622">XOR-ed</WORD>
<WORD coords="4561,2623,4673,2559,2622">the</WORD>
</LINE>
<LINE>
<WORD coords="589,2747,891,2667,2730">resulting</WORD>
<WORD coords="923,2747,1149,2673,2731">output</WORD>
<WORD coords="1179,2731,1367,2667,2730">block</WORD>
<WORD coords="1393,2731,1535,2667,2729">with</WORD>
<WORD coords="1569,2731,1645,2667,2730">its</WORD>
<WORD coords="1677,2747,1983,2667,2730">previous</WORD>
<WORD coords="2011,2747,2235,2667,2729">cipher</WORD>
<WORD coords="2259,2731,2391,2673,2730">text</WORD>
<WORD coords="2421,2731,2631,2667,2730">block.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,2945,811,2873,2929">Figure</WORD>
<WORD coords="835,2931,959,2875,2926">4-3.</WORD>
<WORD coords="1107,2931,1263,2873,2930">CBC</WORD>
<WORD coords="1291,2945,1673,2873,2930">Decryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4537,463,4475,4535">4.2.3</WORD>
<WORD coords="587,4537,639,4473,4537">C</WORD>
<WORD coords="671,4553,1275,4473,4535">Implementation</WORD>
<WORD coords="1305,4537,1381,4475,4536">of</WORD>
<WORD coords="1409,4537,1583,4473,4536">CBC</WORD>
<WORD coords="1615,4537,1829,4475,4536">mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,4681,707,4617,4679">For</WORD>
<WORD coords="735,4697,1133,4617,4680">encryption:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,4823,723,4759,4821">The</WORD>
<WORD coords="755,4839,1361,4759,4822">input_block_size</WORD>
<WORD coords="1393,4823,1445,4759,4822">is</WORD>
<WORD coords="1473,4823,1841,4759,4822">calculated</WORD>
<WORD coords="1869,4823,1935,4765,4823">to</WORD>
<WORD coords="1965,4839,2075,4765,4823">get</WORD>
<WORD coords="2101,4823,2213,4759,4822">the</WORD>
<WORD coords="2245,4823,2521,4759,4822">number</WORD>
<WORD coords="2547,4823,2613,4759,4822">of</WORD>
<WORD coords="2643,4839,2817,4759,4821">input</WORD>
<WORD coords="2847,4823,3095,4759,4822">blocks.</WORD>
<WORD coords="3127,4823,3265,4759,4821">The</WORD>
<WORD coords="3299,4823,3521,4759,4821">initials</WORD>
<WORD coords="3553,4839,3727,4759,4822">input</WORD>
<WORD coords="3755,4823,3945,4759,4822">block</WORD>
<WORD coords="3975,4823,4027,4759,4822">is</WORD>
<WORD coords="4055,4823,4309,4759,4822">formed</WORD>
<WORD coords="4339,4839,4421,4759,4823">by</WORD>
<WORD coords="4449,4823,4623,4759,4821">XOR</WORD>
</LINE>
<LINE>
<WORD coords="587,4931,891,4867,4930">between</WORD>
<WORD coords="927,4929,995,4867,4929">IV</WORD>
<WORD coords="1025,4931,1155,4867,4930">and</WORD>
<WORD coords="1189,4947,1353,4867,4929">plain</WORD>
<WORD coords="1383,4931,1515,4873,4930">text</WORD>
<WORD coords="1543,4931,1625,4883,4931">as</WORD>
<WORD coords="1657,4931,1867,4867,4930">below</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="629,5071,989,5023,5066">//Calculate</WORD>
<WORD coords="1033,5081,1191,5023,5066">input</WORD>
<WORD coords="1234,5066,1397,5023,5066">block</WORD>
<WORD coords="1436,5066,1560,5023,5066">size</WORD>
</LINE>
<LINE>
<WORD coords="629,5158,1157,5100,5143">input_block_size</WORD>
<WORD coords="1198,5134,1229,5119,5146">=</WORD>
<WORD coords="1273,5158,1426,5100,5143">(size</WORD>
<WORD coords="1469,5148,1493,5100,5148">/</WORD>
<WORD coords="1532,5158,1997,5105,5143">AES_BLGCK_SIZE</WORD>
<WORD coords="2045,5158,2093,5100,5155">)j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,5345,883,5281,5343">Forward</WORD>
<WORD coords="913,5361,1135,5281,5343">cipher</WORD>
<WORD coords="1165,5345,1217,5281,5344">is</WORD>
<WORD coords="1247,5361,1507,5281,5344">applied</WORD>
<WORD coords="1535,5345,1601,5287,5344">to</WORD>
<WORD coords="1629,5345,1739,5281,5344">the</WORD>
<WORD coords="1773,5361,1945,5281,5344">input</WORD>
<WORD coords="1975,5345,2163,5281,5344">block</WORD>
<WORD coords="2189,5345,2255,5287,5345">to</WORD>
<WORD coords="2283,5361,2395,5287,5345">get</WORD>
<WORD coords="2419,5345,2531,5281,5344">the</WORD>
<WORD coords="2561,5361,3081,5281,5344">corresponding</WORD>
<WORD coords="3111,5361,3335,5281,5343">cipher</WORD>
<WORD coords="3359,5345,3509,5287,5344">text.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="670,5508,777,5460,5508">for</WORD>
<WORD coords="788,5524,809,5460,5524">(</WORD>
<WORD coords="820,5508,958,5460,5508">bloc</WORD>
<WORD coords="968,5524,1217,5460,5508">fc_count</WORD>
<WORD coords="1264,5498,1296,5482,5503">=</WORD>
<WORD coords="1334,5524,1810,5460,5508">#jblock_count</WORD>
<WORD coords="1858,5508,1884,5471,5508">&lt;</WORD>
<WORD coords="1932,5524,2546,5460,5508">input_block_size;;</WORD>
<WORD coords="2599,5524,3145,5460,5508">block_count-i-+){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="820,5694,1147,5630,5678">//Sending</WORD>
<WORD coords="1191,5678,1699,5630,5678">initialization</WORD>
<WORD coords="1741,5678,1958,5635,5678">vector</WORD>
<WORD coords="2001,5678,2070,5635,5678">to</WORD>
<WORD coords="2112,5678,2218,5630,5678">the</WORD>
<WORD coords="2266,5694,2477,5630,5678">cipher</WORD>
<WORD coords="2520,5678,2811,5630,5678">function</WORD>
<WORD coords="2854,5678,2923,5635,5678">to</WORD>
<WORD coords="2966,5694,3071,5635,5678">get</WORD>
<WORD coords="3113,5678,3368,5630,5678">further</WORD>
<WORD coords="3410,5694,3627,5635,5678">output</WORD>
<WORD coords="3674,5678,3886,5630,5678">blocks</WORD>
</LINE>
<LINE>
<WORD coords="820,5779,1551,5715,5763">aes_cipher(plainTeKt</WORD>
<WORD coords="1594,5779,2070,5715,5763">+(block_count</WORD>
<WORD coords="2117,5741,2144,5715,5752">*</WORD>
<WORD coords="2186,5779,2732,5715,5763">AE5_BILOCK_SIZE)</WORD>
<WORD coords="2748,5773,2769,5752,5773">^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1413,5863,1773,5800,5847">cipherText</WORD>
<WORD coords="1815,5863,1884,5800,5855">+(</WORD>
<WORD coords="1895,5863,2292,5800,5847">block_count</WORD>
<WORD coords="2340,5826,2366,5800,5836">*</WORD>
<WORD coords="2409,5863,2922,5805,5847">AE5_BLOCK_SIZE</WORD>
<WORD coords="2938,5863,2954,5800,5863">)</WORD>
<WORD coords="2975,5863,2991,5800,0">)</WORD>
<WORD coords="3007,5858,3028,5816,5858">j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4417,6295,4643,6193,6295">lTI©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0013.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0014.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0014.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="583,561,723,497,559">The</WORD>
<WORD coords="755,561,905,503,560">next</WORD>
<WORD coords="933,577,1107,497,560">input</WORD>
<WORD coords="1137,561,1325,497,560">block</WORD>
<WORD coords="1357,561,1407,497,560">is</WORD>
<WORD coords="1437,561,1689,497,560">formed</WORD>
<WORD coords="1721,577,1803,497,561">by</WORD>
<WORD coords="1831,561,2005,497,559">XOR</WORD>
<WORD coords="2033,561,2099,497,560">of</WORD>
<WORD coords="2129,561,2279,503,560">next</WORD>
<WORD coords="2309,561,2497,497,560">block</WORD>
<WORD coords="2525,561,2589,497,560">of</WORD>
<WORD coords="2619,577,2783,497,559">plain</WORD>
<WORD coords="2813,561,2945,503,560">text</WORD>
<WORD coords="2971,561,3113,497,559">with</WORD>
<WORD coords="3141,561,3253,497,560">the</WORD>
<WORD coords="3283,577,3653,497,560">previously</WORD>
<WORD coords="3679,561,3933,497,560">formed</WORD>
<WORD coords="3963,577,4187,497,559">cipher</WORD>
<WORD coords="4211,561,4361,503,560">text.</WORD>
<WORD coords="4393,561,4545,497,559">This</WORD>
<WORD coords="4575,561,4627,497,560">is</WORD>
</LINE>
<LINE>
<WORD coords="583,669,763,605,668">done</WORD>
<WORD coords="795,669,937,605,667">until</WORD>
<WORD coords="971,669,1093,605,668">last</WORD>
<WORD coords="1123,669,1311,605,668">block</WORD>
<WORD coords="1343,669,1393,605,668">is</WORD>
<WORD coords="1425,669,1737,605,668">reached.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="598,846,667,797,846">if</WORD>
<WORD coords="678,862,1113,797,846">(bl.ock_count</WORD>
<WORD coords="1165,846,1231,797,847">!=</WORD>
<WORD coords="1279,862,1902,797,846">(input_block_size</WORD>
<WORD coords="1955,862,2127,797,852">-1)){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="748,1023,962,969,1018">//Move</WORD>
<WORD coords="1005,1018,1113,969,1018">the</WORD>
<WORD coords="1161,1034,1451,969,1018">previous</WORD>
<WORD coords="1499,1034,1714,969,1018">cipher</WORD>
<WORD coords="1762,1018,1944,969,1018">block</WORD>
<WORD coords="1982,1018,2052,975,1018">to</WORD>
<WORD coords="2095,1018,2395,969,1018">feedback</WORD>
<WORD coords="2433,1018,2540,969,1018">for</WORD>
<WORD coords="2588,1018,2728,975,1018">next</WORD>
<WORD coords="2776,1018,2953,969,1018">round</WORD>
</LINE>
<LINE>
<WORD coords="742,1120,1263,1055,1104">for(byte_count</WORD>
<WORD coords="1306,1093,1343,1077,1098">=</WORD>
<WORD coords="1381,1114,1445,1061,1110">0;</WORD>
<WORD coords="1499,1120,1864,1055,1104">byte_count</WORD>
<WORD coords="1912,1104,1939,1066,1104">&lt;</WORD>
<WORD coords="1982,1120,2503,1061,1104">AE5_BLQCK_5IZE</WORD>
<WORD coords="2513,1114,2535,1071,1114">j</WORD>
<WORD coords="2588,1120,3104,1055,1104">byte_count-H-){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="898,1195,962,1141,1195">//</WORD>
<WORD coords="1005,1190,1113,1147,1190">XOR</WORD>
<WORD coords="1161,1206,1338,1141,1190">plain</WORD>
<WORD coords="1381,1190,1526,1147,1190">text</WORD>
<WORD coords="1569,1190,1714,1141,1190">with</WORD>
<WORD coords="1762,1206,2052,1141,1190">previous</WORD>
<WORD coords="2100,1206,2315,1141,1190">cipher</WORD>
<WORD coords="2358,1190,2503,1147,1190">text</WORD>
<WORD coords="2545,1190,2615,1147,1190">to</WORD>
<WORD coords="2658,1190,2803,1141,1190">forim</WORD>
<WORD coords="2851,1206,3028,1141,1190">input</WORD>
<WORD coords="3071,1190,3179,1141,1190">for</WORD>
<WORD coords="3227,1190,3366,1147,1190">next</WORD>
<WORD coords="3415,1190,3597,1141,1190">block</WORD>
</LINE>
<LINE>
<WORD coords="898,1292,1225,1227,1276">plainText</WORD>
<WORD coords="1242,1292,1639,1227,1276">[byte_count</WORD>
<WORD coords="1682,1276,1714,1238,1276">-I-</WORD>
<WORD coords="1767,1292,1783,1227,1292">(</WORD>
<WORD coords="1805,1292,2240,1227,1276">(block_count</WORD>
<WORD coords="2288,1276,2315,1238,1276">+</WORD>
<WORD coords="2363,1292,3023,1227,1276">1)*AE5_BLGCK_5IZE)</WORD>
<WORD coords="3045,1292,3061,1227,1292">]</WORD>
<WORD coords="3113,1265,3146,1249,1265">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1349,1378,1676,1313,1362">plainText</WORD>
<WORD coords="1692,1378,2089,1313,1362">[byte_count</WORD>
<WORD coords="2132,1362,2169,1324,1370">+</WORD>
<WORD coords="2218,1378,2234,1313,1378">(</WORD>
<WORD coords="2256,1378,2690,1313,1362">(block_count</WORD>
<WORD coords="2734,1362,2766,1324,1362">+</WORD>
<WORD coords="2814,1378,3511,1313,1362">l)*AES_BLOCK_5IZE)]</WORD>
<WORD coords="3565,1340,3592,1319,1340">A</WORD>
</LINE>
<LINE>
<WORD coords="1349,1464,1714,1399,1448">cipherText</WORD>
<WORD coords="1730,1464,2127,1399,1448">[byte_count</WORD>
<WORD coords="2170,1448,2202,1410,1448">-l-</WORD>
<WORD coords="2256,1464,2728,1399,1448">(block_count*</WORD>
<WORD coords="2771,1464,3399,1399,1448">AES_BI_OCK_5IZE)];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,1619,707,1555,1617">For</WORD>
<WORD coords="737,1635,1147,1555,1618">Decryption:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,1761,677,1697,1760">To</WORD>
<WORD coords="709,1761,975,1697,1760">retrieve</WORD>
<WORD coords="1003,1761,1115,1697,1760">the</WORD>
<WORD coords="1143,1761,1273,1697,1759">first</WORD>
<WORD coords="1303,1777,1469,1697,1759">plain</WORD>
<WORD coords="1497,1761,1631,1703,1760">text</WORD>
<WORD coords="1659,1771,1867,1697,1760">block,</WORD>
<WORD coords="1897,1761,2009,1697,1760">the</WORD>
<WORD coords="2039,1761,2299,1697,1759">inverse</WORD>
<WORD coords="2329,1777,2551,1697,1759">cipher</WORD>
<WORD coords="2579,1761,2863,1697,1760">function</WORD>
<WORD coords="2897,1761,2949,1697,1760">is</WORD>
<WORD coords="2979,1777,3239,1697,1760">applied</WORD>
<WORD coords="3265,1761,3331,1703,1761">to</WORD>
<WORD coords="3359,1761,3471,1697,1760">the</WORD>
<WORD coords="3499,1761,3631,1697,1759">first</WORD>
<WORD coords="3659,1761,3847,1697,1760">block</WORD>
<WORD coords="3875,1761,3941,1697,1760">of</WORD>
<WORD coords="3969,1777,4191,1697,1759">cipher</WORD>
<WORD coords="4215,1761,4365,1703,1760">text.</WORD>
<WORD coords="4397,1761,4535,1697,1759">The</WORD>
</LINE>
<LINE>
<WORD coords="583,1869,715,1805,1867">first</WORD>
<WORD coords="745,1869,931,1807,1868">block</WORD>
<WORD coords="959,1869,1025,1805,1868">of</WORD>
<WORD coords="1053,1885,1219,1807,1867">plain</WORD>
<WORD coords="1247,1869,1381,1811,1868">text</WORD>
<WORD coords="1411,1869,1461,1807,1868">is</WORD>
<WORD coords="1489,1869,1745,1807,1868">formed</WORD>
<WORD coords="1777,1885,1857,1807,1869">by</WORD>
<WORD coords="1883,1869,2057,1805,1867">XOR</WORD>
<WORD coords="2087,1869,2153,1807,1868">of</WORD>
<WORD coords="2183,1885,2487,1807,1868">resulting</WORD>
<WORD coords="2517,1885,2745,1811,1869">output</WORD>
<WORD coords="2775,1869,2963,1807,1868">block</WORD>
<WORD coords="2989,1869,3129,1807,1867">with</WORD>
<WORD coords="3165,1867,3235,1807,1867">IV</WORD>
<WORD coords="3263,1869,3345,1823,1869">as</WORD>
<WORD coords="3375,1869,3587,1807,1868">below</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="639,2022,924,1969,2016">//Round®</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="639,2116,1290,2053,2100">aes_inverse_cipher</WORD>
<WORD coords="1306,2116,1726,2053,2100">(cipherText^</WORD>
<WORD coords="1779,2116,2099,2053,2100">plainText</WORD>
<WORD coords="2115,2116,2131,2053,2116">)</WORD>
<WORD coords="2146,2111,2167,2069,2111">j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16777214">
<PARAGRAPH>
<LINE>
<WORD coords="635,2368,1143,2305,2352">for(byte_CQunt</WORD>
<WORD coords="1186,2342,1222,2326,2347">=</WORD>
<WORD coords="1259,2363,1322,2310,2352">Sj</WORD>
<WORD coords="1374,2368,1731,2305,2352">byte_count</WORD>
<WORD coords="1779,2352,1805,2316,2352">&lt;</WORD>
<WORD coords="1847,2368,2356,2310,2352">AE5_BI_OCK_5IZE</WORD>
<WORD coords="2367,2363,2388,2321,2359">j,</WORD>
<WORD coords="2440,2368,2944,2305,2352">byte_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="786,2442,849,2389,2431">/*</WORD>
<WORD coords="897,2436,1180,2389,2436">Retrieve</WORD>
<WORD coords="1222,2436,1327,2389,2436">the</WORD>
<WORD coords="1369,2436,1548,2389,2436">first</WORD>
<WORD coords="1595,2436,1773,2389,2436">block</WORD>
<WORD coords="1810,2436,1878,2389,2436">of</WORD>
<WORD coords="1926,2452,2099,2389,2436">input</WORD>
<WORD coords="2141,2436,2283,2389,2436">data</WORD>
<WORD coords="2330,2452,2394,2389,2436">by</WORD>
<WORD coords="2435,2436,2540,2394,2436">XOR</WORD>
<WORD coords="2587,2436,2761,2389,2436">round</WORD>
<WORD coords="2803,2436,2835,2394,2436">S</WORD>
</LINE>
<LINE>
<WORD coords="823,2499,849,2473,2509">*</WORD>
<WORD coords="891,2536,1107,2478,2520">output</WORD>
<WORD coords="1149,2520,1290,2473,2520">with</WORD>
<WORD coords="1338,2520,1842,2473,2520">Initialization</WORD>
<WORD coords="1884,2520,2099,2478,2520">vector</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="823,2610,886,2557,2596">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="786,2704,1107,2641,2688">plainText</WORD>
<WORD coords="1122,2704,1542,2641,2688">[byte_count]</WORD>
<WORD coords="1591,2678,1626,2662,2691">=</WORD>
<WORD coords="1668,2704,2393,2641,2688">plainText[byte_count</WORD>
<WORD coords="2409,2704,2425,2641,2704">]</WORD>
<WORD coords="2477,2667,2503,2646,2667">A</WORD>
<WORD coords="2551,2704,2944,2641,2688">init_vector</WORD>
<WORD coords="2960,2704,2976,2641,2704">[</WORD>
<WORD coords="2992,2704,3349,2641,2688">byte_count</WORD>
<WORD coords="3359,2704,3380,2641,2704">]</WORD>
<WORD coords="3396,2699,3417,2657,2699">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="639,2789,667,2725,2789">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,2943,723,2879,2941">The</WORD>
<WORD coords="751,2943,989,2881,2941">further</WORD>
<WORD coords="1017,2959,1183,2881,2941">plain</WORD>
<WORD coords="1213,2943,1385,2885,2942">texts</WORD>
<WORD coords="1415,2943,1527,2897,2942">are</WORD>
<WORD coords="1555,2943,1811,2881,2942">formed</WORD>
<WORD coords="1843,2959,1923,2881,2943">by</WORD>
<WORD coords="1951,2943,2125,2879,2941">XOR</WORD>
<WORD coords="2155,2943,2219,2881,2942">of</WORD>
<WORD coords="2251,2959,2553,2879,2942">resulting</WORD>
<WORD coords="2585,2959,2813,2885,2943">output</WORD>
<WORD coords="2843,2943,3031,2881,2942">block</WORD>
<WORD coords="3059,2943,3199,2881,2941">with</WORD>
<WORD coords="3231,2959,3537,2881,2942">previous</WORD>
<WORD coords="3567,2959,3789,2881,2941">cipher</WORD>
<WORD coords="3815,2943,3947,2885,2942">text</WORD>
<WORD coords="3973,2943,4069,2881,2941">for</WORD>
<WORD coords="4095,2959,4417,2879,2942">specified</WORD>
</LINE>
<LINE>
<WORD coords="589,3053,865,2991,3052">number</WORD>
<WORD coords="891,3053,957,2989,3052">of</WORD>
<WORD coords="985,3053,1235,2991,3052">blocks.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="597,3196,977,3136,3181">for(block_c</WORD>
<WORD coords="987,3181,1012,3151,3181">0</WORD>
<WORD coords="1022,3181,1118,3141,3181">unt</WORD>
<WORD coords="1163,3171,1189,3156,3176">=</WORD>
<WORD coords="1233,3196,1680,3136,3181">l;block_count</WORD>
<WORD coords="1724,3181,1749,3146,3181">&lt;</WORD>
<WORD coords="1794,3196,2375,3136,3181">input_block_size;</WORD>
<WORD coords="2425,3196,2941,3136,3181">block_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="742,3346,1048,3296,3341">//Perform</WORD>
<WORD coords="1092,3341,1328,3296,3341">inverse</WORD>
<WORD coords="1373,3356,1574,3296,3341">cipher</WORD>
<WORD coords="1614,3341,1715,3296,3341">for</WORD>
<WORD coords="1754,3341,1854,3296,3341">the</WORD>
<WORD coords="1894,3356,2064,3276,3341">|input</WORD>
<WORD coords="2109,3341,2310,3296,3341">blocks</WORD>
</LINE>
<LINE>
<WORD coords="742,3436,2205,3376,3421">aes_inverse_cipher(cipherText+(block_count</WORD>
<WORD coords="2249,3401,2275,3376,3411">*</WORD>
<WORD coords="2315,3436,2866,3376,3421">AES_BLOCK_SIZE)j</WORD>
</LINE>
<LINE>
<WORD coords="1022,3517,1784,3456,3502">p!ainText+(block_count</WORD>
<WORD coords="1829,3482,1854,3456,3492">*</WORD>
<WORD coords="1894,3517,2480,3456,3502">AES_BLOCK_SIZE));</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="742,3677,1223,3617,3662">for(byte_count</WORD>
<WORD coords="1267,3652,1298,3637,3657">=</WORD>
<WORD coords="1333,3672,1393,3622,3668">0j</WORD>
<WORD coords="1443,3677,1784,3617,3662">byte_count</WORD>
<WORD coords="1829,3662,1854,3627,3662">&lt;</WORD>
<WORD coords="1894,3672,2410,3622,3662">AESBLOCKSIZE;</WORD>
<WORD coords="2460,3677,2941,3617,3662">byte_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="882,3747,942,3697,3737">/*</WORD>
<WORD coords="982,3742,1082,3702,3742">XOR</WORD>
<WORD coords="1123,3757,1328,3702,3742">output</WORD>
<WORD coords="1368,3742,1433,3697,3742">of</WORD>
<WORD coords="1478,3757,1749,3697,3742">previous</WORD>
<WORD coords="1794,3742,2029,3697,3742">inverse</WORD>
<WORD coords="2074,3757,2275,3697,3742">cipher</WORD>
<WORD coords="2315,3742,2590,3697,3742">function</WORD>
<WORD coords="2630,3742,2766,3697,3742">with</WORD>
<WORD coords="2811,3757,3081,3697,3742">previous</WORD>
<WORD coords="3126,3757,3327,3697,3742">cipher</WORD>
<WORD coords="3367,3742,3502,3702,3742">text</WORD>
<WORD coords="3542,3742,3608,3702,3742">to</WORD>
</LINE>
<LINE>
<WORD coords="917,3802,942,3777,3812">*</WORD>
<WORD coords="982,3822,1118,3777,3822">form</WORD>
<WORD coords="1158,3822,1258,3777,3822">the</WORD>
<WORD coords="1303,3838,1468,3777,3822">input</WORD>
<WORD coords="1508,3822,1608,3777,3822">for</WORD>
<WORD coords="1654,3822,1784,3782,3822">next</WORD>
<WORD coords="1829,3822,1999,3777,3822">block</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="917,3908,977,3858,3895">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="882,3998,1188,3938,3983">plainText</WORD>
<WORD coords="1203,3998,1573,3938,3983">[byte_count</WORD>
<WORD coords="1614,3983,1649,3948,3990">+</WORD>
<WORD coords="1694,3998,2099,3938,3983">(block_coumt</WORD>
<WORD coords="2145,3963,2170,3938,3973">*</WORD>
<WORD coords="2210,3998,2761,3938,3983">AES_BLO€K_SIZE)]</WORD>
<WORD coords="2811,3973,2839,3958,3973">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1163,4078,1468,4018,4063">plainText</WORD>
<WORD coords="1483,4078,1854,4018,4063">[byte_count</WORD>
<WORD coords="1898,4063,1924,4028,4070">+</WORD>
<WORD coords="1974,4078,2380,4018,4063">(block_count</WORD>
<WORD coords="2425,4043,2450,4018,4053">*</WORD>
<WORD coords="2490,4063,2555,4023,4063">AE</WORD>
<WORD coords="2565,4078,2661,4023,4063">S_B</WORD>
<WORD coords="2671,4063,2766,4023,4063">LOC</WORD>
<WORD coords="2776,4078,2871,4023,4063">K_S</WORD>
<WORD coords="2881,4063,2906,4023,4063">I</WORD>
<WORD coords="2916,4063,2942,4023,4063">Z</WORD>
<WORD coords="2951,4063,2976,4023,0">E</WORD>
<WORD coords="2991,4078,3006,4018,4078">)</WORD>
<WORD coords="3026,4078,3041,4018,4078">]</WORD>
<WORD coords="3091,4043,3116,4023,4043">A</WORD>
</LINE>
<LINE>
<WORD coords="1163,4158,1503,4098,4143">cipherText</WORD>
<WORD coords="1518,4158,1889,4098,4143">[byte_count</WORD>
<WORD coords="1930,4143,1960,4108,4150">+</WORD>
<WORD coords="2009,4158,2024,4098,4158">(</WORD>
<WORD coords="2079,4158,2485,4098,4143">(block_count</WORD>
<WORD coords="2530,4128,2555,4123,4135">-</WORD>
<WORD coords="2600,4158,2656,4098,4153">1)</WORD>
<WORD coords="2706,4123,2731,4098,4133">*</WORD>
<WORD coords="2771,4158,2941,4103,4143">AES_B</WORD>
<WORD coords="2951,4143,3046,4103,4143">LOC</WORD>
<WORD coords="3056,4158,3187,4103,4143">K_SI</WORD>
<WORD coords="3197,4143,3257,4103,4143">ZE</WORD>
<WORD coords="3267,4158,3287,4098,4158">)</WORD>
<WORD coords="3302,4158,3322,4098,4153">]</WORD>
<WORD coords="3337,4153,3357,4113,0">j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4411,417,4337,4410">4.3</WORD>
<WORD coords="587,4431,899,4335,4409">Cipher</WORD>
<WORD coords="933,4411,1387,4335,4410">Feedback</WORD>
<WORD coords="1423,4411,1679,4335,4410">mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,4557,723,4493,4555">The</WORD>
<WORD coords="753,4573,993,4493,4555">Cipher</WORD>
<WORD coords="1023,4557,1381,4493,4556">Feedback</WORD>
<WORD coords="1411,4557,1611,4493,4556">mode</WORD>
<WORD coords="1639,4557,1935,4493,4556">features</WORD>
<WORD coords="1963,4557,2075,4493,4556">the</WORD>
<WORD coords="2103,4557,2437,4493,4556">feedback</WORD>
<WORD coords="2465,4557,2531,4493,4556">of</WORD>
<WORD coords="2557,4557,2667,4493,4556">the</WORD>
<WORD coords="2695,4557,3095,4493,4556">successive</WORD>
<WORD coords="3125,4573,3349,4493,4555">cipher</WORD>
<WORD coords="3377,4557,3509,4499,4556">text</WORD>
<WORD coords="3537,4557,3869,4493,4556">elements</WORD>
<WORD coords="3901,4557,4025,4493,4556">into</WORD>
<WORD coords="4053,4557,4165,4493,4556">the</WORD>
<WORD coords="4195,4573,4371,4493,4556">input</WORD>
<WORD coords="4399,4557,4587,4493,4556">block</WORD>
</LINE>
<LINE>
<WORD coords="585,4665,651,4601,4664">of</WORD>
<WORD coords="677,4665,787,4601,4664">the</WORD>
<WORD coords="815,4665,1087,4601,4663">forward</WORD>
<WORD coords="1117,4681,1339,4601,4663">cipher</WORD>
<WORD coords="1367,4665,1651,4601,4664">function</WORD>
<WORD coords="1681,4665,1745,4607,4665">to</WORD>
<WORD coords="1775,4681,2097,4607,4664">generate</WORD>
<WORD coords="2127,4681,2353,4607,4665">output</WORD>
<WORD coords="2383,4665,2613,4601,4664">blocks</WORD>
<WORD coords="2641,4665,2777,4601,4664">that</WORD>
<WORD coords="2805,4665,2917,4617,4664">are</WORD>
<WORD coords="2947,4665,3241,4601,4664">XOR-ed</WORD>
<WORD coords="3271,4665,3411,4601,4663">with</WORD>
<WORD coords="3441,4665,3553,4601,4664">the</WORD>
<WORD coords="3585,4681,3749,4601,4663">plain</WORD>
<WORD coords="3779,4665,3911,4607,4664">text</WORD>
<WORD coords="3935,4665,4001,4607,4664">to</WORD>
<WORD coords="4033,4681,4325,4601,4664">produce</WORD>
<WORD coords="4353,4665,4465,4601,4664">the</WORD>
</LINE>
<LINE>
<WORD coords="585,4789,807,4709,4771">cipher</WORD>
<WORD coords="831,4773,983,4715,4772">text.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,4915,737,4851,4913">This</WORD>
<WORD coords="769,4915,967,4851,4914">mode</WORD>
<WORD coords="1001,4931,1291,4851,4914">requires</WORD>
<WORD coords="1321,4915,1363,4867,4915">a</WORD>
<WORD coords="1393,4931,1635,4851,4914">unique</WORD>
<WORD coords="1669,4915,2091,4851,4913">Initialization</WORD>
<WORD coords="2121,4915,2345,4857,4914">vector</WORD>
<WORD coords="2375,4913,2429,4851,4913">in</WORD>
<WORD coords="2461,4915,2743,4851,4914">addition</WORD>
<WORD coords="2773,4915,2839,4857,4915">to</WORD>
<WORD coords="2865,4915,2977,4851,4914">the</WORD>
<WORD coords="3009,4931,3311,4851,4914">plaintext</WORD>
<WORD coords="3341,4915,3471,4851,4914">and</WORD>
<WORD coords="3501,4931,3725,4851,4913">cipher</WORD>
<WORD coords="3753,4931,3895,4851,4914">key.</WORD>
<WORD coords="3927,4915,4065,4851,4913">The</WORD>
<WORD coords="4095,4915,4253,4851,4913">CFB</WORD>
<WORD coords="4285,4915,4485,4851,4914">mode</WORD>
<WORD coords="4517,4915,4661,4851,4914">also</WORD>
</LINE>
<LINE>
<WORD coords="589,5023,805,4959,5022">needs</WORD>
<WORD coords="835,5023,919,4975,5022">an</WORD>
<WORD coords="953,5039,1201,4959,5022">integer</WORD>
<WORD coords="1229,5039,1605,4965,5022">parameter</WORD>
<WORD coords="1635,5033,1693,4975,5023">s,</WORD>
<WORD coords="1723,5023,1945,4959,5021">where</WORD>
<WORD coords="1977,5023,2021,4975,5023">s</WORD>
<WORD coords="2043,5023,2283,4959,5022">should</WORD>
<WORD coords="2315,5023,2399,4959,5023">be</WORD>
<WORD coords="2431,5023,2571,4959,5022">less</WORD>
<WORD coords="2597,5023,2753,4959,5021">than</WORD>
<WORD coords="2785,5023,2855,4975,5022">or</WORD>
<WORD coords="2883,5039,3079,4959,5022">equal</WORD>
<WORD coords="3107,5023,3171,4965,5023">to</WORD>
<WORD coords="3207,5023,3333,4961,5022">128</WORD>
<WORD coords="3365,5023,3507,4959,5022">bits.</WORD>
<WORD coords="3545,5021,3601,4959,5021">In</WORD>
<WORD coords="3631,5023,3743,4959,5022">the</WORD>
<WORD coords="3773,5023,3933,4959,5021">CFB</WORD>
<WORD coords="3965,5033,4185,4959,5022">mode,</WORD>
<WORD coords="4217,5023,4389,4959,5022">each</WORD>
<WORD coords="4423,5039,4589,4959,5021">plain</WORD>
</LINE>
<LINE>
<WORD coords="583,5133,715,5075,5132">text</WORD>
<WORD coords="743,5133,873,5069,5132">and</WORD>
<WORD coords="905,5149,1127,5069,5131">cipher</WORD>
<WORD coords="1151,5133,1283,5075,5132">text</WORD>
<WORD coords="1313,5133,1503,5069,5132">block</WORD>
<WORD coords="1531,5133,1789,5069,5132">contain</WORD>
<WORD coords="1821,5133,1857,5085,5133">s</WORD>
<WORD coords="1887,5133,2029,5069,5132">bits.</WORD>
<WORD coords="2061,5149,2663,5069,5132">Correspondingly</WORD>
<WORD coords="2689,5133,2799,5069,5132">the</WORD>
<WORD coords="2833,5133,3073,5069,5132">modes</WORD>
<WORD coords="3103,5133,3217,5085,5132">are</WORD>
<WORD coords="3249,5133,3493,5069,5132">named</WORD>
<WORD coords="3525,5133,3607,5085,5133">as</WORD>
<WORD coords="3641,5131,3663,5071,5131">1</WORD>
<WORD coords="3685,5133,3795,5069,5132">-bit</WORD>
<WORD coords="3823,5143,4003,5069,5131">CFB,</WORD>
<WORD coords="4035,5133,4193,5069,5132">8-bit</WORD>
<WORD coords="4223,5143,4401,5069,5131">CFB,</WORD>
<WORD coords="4435,5133,4639,5069,5132">64-bit</WORD>
</LINE>
<LINE>
<WORD coords="587,5249,765,5175,5237">CFB,</WORD>
<WORD coords="803,5239,1049,5175,5238">128-bit</WORD>
<WORD coords="1077,5249,1257,5175,5237">CFB,</WORD>
<WORD coords="1289,5239,1413,5181,5239">etc.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,5457,453,5393,5455">4.3.1</WORD>
<WORD coords="587,5457,749,5393,5455">CFB</WORD>
<WORD coords="783,5473,1205,5393,5455">Encryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,5601,737,5537,5599">This</WORD>
<WORD coords="771,5601,1191,5537,5599">Initialization</WORD>
<WORD coords="1223,5601,1447,5543,5600">vector</WORD>
<WORD coords="1477,5615,1601,5537,5599">(IV)</WORD>
<WORD coords="1635,5601,1687,5537,5600">is</WORD>
<WORD coords="1717,5617,1975,5537,5600">passed</WORD>
<WORD coords="2007,5601,2089,5553,5601">as</WORD>
<WORD coords="2115,5601,2227,5537,5600">the</WORD>
<WORD coords="2255,5601,2387,5537,5599">first</WORD>
<WORD coords="2415,5617,2589,5537,5600">input</WORD>
<WORD coords="2619,5601,2807,5537,5600">block</WORD>
<WORD coords="2833,5601,2897,5543,5601">to</WORD>
<WORD coords="2925,5601,3035,5537,5600">the</WORD>
<WORD coords="3065,5601,3225,5537,5599">AES</WORD>
<WORD coords="3259,5601,3555,5537,5599">Forward</WORD>
<WORD coords="3587,5617,3827,5537,5599">Cipher</WORD>
<WORD coords="3853,5601,4139,5537,5600">function</WORD>
<WORD coords="4167,5601,4233,5543,5601">to</WORD>
<WORD coords="4265,5617,4557,5537,5600">produce</WORD>
</LINE>
<LINE>
<WORD coords="583,5709,695,5645,5708">the</WORD>
<WORD coords="723,5709,853,5645,5707">first</WORD>
<WORD coords="881,5725,1107,5651,5709">output</WORD>
<WORD coords="1137,5709,1345,5645,5708">block.</WORD>
<WORD coords="1375,5709,1469,5645,5708">To</WORD>
<WORD coords="1497,5725,1819,5651,5708">generate</WORD>
<WORD coords="1847,5709,1957,5645,5708">the</WORD>
<WORD coords="1987,5725,2211,5645,5707">cipher</WORD>
<WORD coords="2235,5709,2367,5651,5708">text</WORD>
<WORD coords="2395,5725,2641,5651,5709">output,</WORD>
<WORD coords="2671,5709,2781,5645,5708">the</WORD>
<WORD coords="2809,5709,2941,5645,5707">first</WORD>
<WORD coords="2973,5709,3017,5661,5709">s</WORD>
<WORD coords="3043,5709,3163,5645,5708">bits</WORD>
<WORD coords="3195,5707,3249,5645,5707">in</WORD>
<WORD coords="3279,5709,3391,5645,5708">the</WORD>
<WORD coords="3423,5725,3587,5645,5707">plain</WORD>
<WORD coords="3617,5709,3749,5651,5708">text</WORD>
<WORD coords="3777,5709,3889,5661,5708">are</WORD>
<WORD coords="3919,5709,4213,5645,5708">XOR-ed</WORD>
<WORD coords="4243,5709,4383,5645,5707">with</WORD>
<WORD coords="4413,5709,4525,5645,5707">the</WORD>
</LINE>
<LINE>
<WORD coords="585,5817,715,5753,5815">first</WORD>
<WORD coords="745,5817,791,5769,5817">s</WORD>
<WORD coords="815,5817,935,5753,5816">bits</WORD>
<WORD coords="967,5815,1021,5753,5815">in</WORD>
<WORD coords="1051,5817,1161,5753,5816">the</WORD>
<WORD coords="1191,5833,1417,5759,5817">output</WORD>
<WORD coords="1447,5817,1657,5753,5816">block.</WORD>
<WORD coords="1687,5817,1825,5753,5815">The</WORD>
<WORD coords="1857,5833,2211,5753,5815">remaining</WORD>
<WORD coords="2247,5817,2369,5753,5817">b-s</WORD>
<WORD coords="2393,5817,2515,5753,5816">bits</WORD>
<WORD coords="2547,5815,2601,5753,5815">in</WORD>
<WORD coords="2631,5817,2743,5753,5816">the</WORD>
<WORD coords="2773,5833,2999,5759,5817">output</WORD>
<WORD coords="3027,5817,3217,5753,5816">block</WORD>
<WORD coords="3245,5817,3359,5769,5816">are</WORD>
<WORD coords="3387,5817,3741,5753,5816">discarded</WORD>
<WORD coords="3775,5831,4075,5753,5817">(b=128).</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4579,6273,4659,6211,6272">15</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0014.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0015.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0015.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="585,561,677,497,560">To</WORD>
<WORD coords="707,577,1027,503,560">generate</WORD>
<WORD coords="1055,561,1167,497,560">the</WORD>
<WORD coords="1195,561,1457,497,560">second</WORD>
<WORD coords="1489,577,1665,497,560">input</WORD>
<WORD coords="1693,571,1903,497,560">block,</WORD>
<WORD coords="1933,561,2043,497,560">the</WORD>
<WORD coords="2075,561,2199,497,561">b-s</WORD>
<WORD coords="2225,561,2413,497,560">LSBs</WORD>
<WORD coords="2445,559,2499,497,559">in</WORD>
<WORD coords="2529,561,2641,497,560">the</WORD>
<WORD coords="2675,559,2743,497,559">IV</WORD>
<WORD coords="2773,561,2885,513,560">are</WORD>
<WORD coords="2915,561,3407,497,560">concatenated</WORD>
<WORD coords="3437,561,3579,497,559">with</WORD>
<WORD coords="3609,561,3719,497,560">the</WORD>
<WORD coords="3749,561,3785,513,561">s</WORD>
<WORD coords="3815,561,3937,497,560">bits</WORD>
<WORD coords="3965,561,4123,497,559">from</WORD>
<WORD coords="4155,561,4265,497,560">the</WORD>
<WORD coords="4295,577,4517,497,559">cipher</WORD>
<WORD coords="4543,561,4675,503,560">text</WORD>
</LINE>
<LINE>
<WORD coords="585,685,813,611,668">output</WORD>
<WORD coords="839,669,905,605,668">of</WORD>
<WORD coords="929,669,1041,605,668">the</WORD>
<WORD coords="1069,669,1201,605,667">first</WORD>
<WORD coords="1231,669,1437,605,668">block.</WORD>
<WORD coords="1469,669,1607,605,667">The</WORD>
<WORD coords="1637,685,1921,621,668">process</WORD>
<WORD coords="1951,669,2003,605,668">is</WORD>
<WORD coords="2035,685,2355,605,668">repeated</WORD>
<WORD coords="2383,669,2525,605,667">with</WORD>
<WORD coords="2557,669,2957,605,668">successive</WORD>
<WORD coords="2987,685,3161,605,668">input</WORD>
<WORD coords="3191,669,3421,605,668">blocks</WORD>
<WORD coords="3453,669,3595,605,667">until</WORD>
<WORD coords="3623,669,3735,605,668">the</WORD>
<WORD coords="3765,669,3965,605,668">entire</WORD>
<WORD coords="3997,685,4301,605,667">plaintext</WORD>
<WORD coords="4331,669,4383,605,668">is</WORD>
</LINE>
<LINE>
<WORD coords="585,779,943,715,778">converted</WORD>
<WORD coords="975,779,1101,715,778">into</WORD>
<WORD coords="1131,795,1353,715,777">cipher</WORD>
<WORD coords="1379,779,1511,721,778">text</WORD>
<WORD coords="1539,795,1785,721,779">output.</WORD>
<WORD coords="1817,779,1955,715,777">The</WORD>
<WORD coords="1985,795,2361,715,778">encryption</WORD>
<WORD coords="2393,795,2679,731,778">process</WORD>
<WORD coords="2707,779,2773,715,778">of</WORD>
<WORD coords="2799,779,2909,715,778">the</WORD>
<WORD coords="2939,779,3099,715,777">CFB</WORD>
<WORD coords="3131,779,3331,715,778">mode</WORD>
<WORD coords="3359,779,3485,731,778">can</WORD>
<WORD coords="3517,779,3603,715,779">be</WORD>
<WORD coords="3635,779,3981,715,778">illustrated</WORD>
<WORD coords="4013,779,4093,731,779">as</WORD>
<WORD coords="4125,779,4357,715,778">below:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,991,811,921,975">Figure</WORD>
<WORD coords="835,975,959,921,972">4-4.</WORD>
<WORD coords="1107,977,1253,919,975">CFB</WORD>
<WORD coords="1283,991,1663,919,975">Encryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,2435,463,2371,2433">4.3.2</WORD>
<WORD coords="587,2435,749,2371,2433">CFB</WORD>
<WORD coords="783,2451,1205,2371,2434">Decryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,2577,647,2515,2577">In</WORD>
<WORD coords="679,2579,837,2515,2577">CFB</WORD>
<WORD coords="871,2595,1279,2515,2578">Decryption,</WORD>
<WORD coords="1309,2579,1421,2515,2578">the</WORD>
<WORD coords="1455,2579,1877,2515,2577">Initialization</WORD>
<WORD coords="1907,2579,2131,2521,2578">vector</WORD>
<WORD coords="2161,2577,2195,2515,2577">if</WORD>
<WORD coords="2223,2595,2413,2515,2577">given</WORD>
<WORD coords="2447,2579,2527,2531,2579">as</WORD>
<WORD coords="2555,2579,2687,2515,2577">first</WORD>
<WORD coords="2715,2595,2889,2515,2577">input</WORD>
<WORD coords="2919,2589,3127,2515,2578">block,</WORD>
<WORD coords="3159,2579,3289,2515,2578">and</WORD>
<WORD coords="3319,2595,3745,2515,2578">subsequent</WORD>
<WORD coords="3775,2595,3949,2515,2577">input</WORD>
<WORD coords="3979,2579,4207,2515,2578">blocks</WORD>
<WORD coords="4237,2579,4351,2531,2578">are</WORD>
</LINE>
<LINE>
<WORD coords="585,2703,953,2623,2686">generated</WORD>
<WORD coords="985,2703,1067,2623,2687">by</WORD>
<WORD coords="1093,2703,1605,2623,2686">concatenating</WORD>
<WORD coords="1639,2687,1763,2623,2687">b-s</WORD>
<WORD coords="1787,2687,1909,2623,2686">bits</WORD>
<WORD coords="1937,2687,2003,2623,2686">of</WORD>
<WORD coords="2035,2685,2103,2623,2685">IV</WORD>
<WORD coords="2131,2687,2271,2623,2685">with</WORD>
<WORD coords="2305,2687,2351,2639,2687">s</WORD>
<WORD coords="2375,2687,2497,2623,2686">bits</WORD>
<WORD coords="2525,2687,2685,2623,2685">from</WORD>
<WORD coords="2715,2687,2827,2623,2686">the</WORD>
<WORD coords="2855,2703,3077,2623,2685">cipher</WORD>
<WORD coords="3101,2687,3253,2629,2686">text.</WORD>
<WORD coords="3285,2687,3423,2623,2685">The</WORD>
<WORD coords="3453,2703,3629,2623,2685">input</WORD>
<WORD coords="3657,2687,3847,2623,2686">block</WORD>
<WORD coords="3877,2687,3929,2623,2686">is</WORD>
<WORD coords="3959,2703,4217,2623,2686">applied</WORD>
<WORD coords="4245,2687,4311,2629,2687">to</WORD>
<WORD coords="4337,2687,4449,2623,2686">the</WORD>
</LINE>
<LINE>
<WORD coords="585,2795,855,2731,2793">forward</WORD>
<WORD coords="885,2811,1109,2731,2793">cipher</WORD>
<WORD coords="1133,2795,1419,2731,2794">function</WORD>
<WORD coords="1447,2795,1513,2737,2795">to</WORD>
<WORD coords="1543,2795,1761,2731,2794">obtain</WORD>
<WORD coords="1791,2795,1903,2731,2794">the</WORD>
<WORD coords="1931,2811,2159,2737,2795">output</WORD>
<WORD coords="2189,2795,2395,2731,2794">block.</WORD>
<WORD coords="2427,2795,2609,2731,2793">Then</WORD>
<WORD coords="2637,2795,2749,2731,2794">the</WORD>
<WORD coords="2783,2795,2827,2747,2795">s</WORD>
<WORD coords="2851,2795,2973,2731,2794">bits</WORD>
<WORD coords="3003,2795,3067,2731,2794">of</WORD>
<WORD coords="3093,2795,3205,2731,2794">the</WORD>
<WORD coords="3235,2811,3457,2731,2793">cipher</WORD>
<WORD coords="3481,2795,3615,2737,2794">text</WORD>
<WORD coords="3643,2795,3755,2747,2794">are</WORD>
<WORD coords="3785,2795,4079,2731,2794">XOR-ed</WORD>
<WORD coords="4109,2795,4249,2731,2793">with</WORD>
<WORD coords="4283,2795,4327,2747,2795">s</WORD>
<WORD coords="4353,2795,4475,2731,2794">bits</WORD>
<WORD coords="4503,2795,4569,2731,2794">of</WORD>
</LINE>
<LINE>
<WORD coords="583,2903,695,2839,2902">the</WORD>
<WORD coords="723,2919,1099,2839,2902">ciphertext.</WORD>
<WORD coords="1129,2903,1269,2839,2901">The</WORD>
<WORD coords="1301,2919,1687,2839,2902">Decryption</WORD>
<WORD coords="1721,2919,2005,2855,2902">process</WORD>
<WORD coords="2033,2903,2099,2839,2902">of</WORD>
<WORD coords="2125,2903,2235,2839,2902">the</WORD>
<WORD coords="2265,2903,2425,2839,2901">CFB</WORD>
<WORD coords="2457,2903,2657,2839,2902">mode</WORD>
<WORD coords="2685,2903,2811,2855,2902">can</WORD>
<WORD coords="2845,2903,2929,2839,2903">be</WORD>
<WORD coords="2961,2903,3307,2839,2902">illustrated</WORD>
<WORD coords="3339,2903,3419,2855,2903">as</WORD>
<WORD coords="3451,2903,3683,2839,2902">below.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,3117,811,3047,3101">Figure</WORD>
<WORD coords="835,3103,959,3047,3098">4-5.</WORD>
<WORD coords="1107,3103,1253,3045,3101">CFB</WORD>
<WORD coords="1283,3117,1663,3045,3102">Decryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,4673,463,4609,4672">4.3.3</WORD>
<WORD coords="587,4673,639,4609,4673">C</WORD>
<WORD coords="671,4689,1275,4609,4671">Implementation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,4815,723,4751,4813">The</WORD>
<WORD coords="753,4815,913,4751,4813">CFB</WORD>
<WORD coords="943,4831,1317,4753,4814">encryption</WORD>
<WORD coords="1349,4815,1479,4753,4814">and</WORD>
<WORD coords="1509,4815,1621,4753,4814">the</WORD>
<WORD coords="1649,4831,2027,4753,4814">decryption</WORD>
<WORD coords="2057,4815,2385,4751,4814">functions</WORD>
<WORD coords="2417,4815,2589,4753,4814">have</WORD>
<WORD coords="2621,4815,2795,4753,4814">been</WORD>
<WORD coords="2829,4831,3297,4753,4814">implemented</WORD>
<WORD coords="3331,4813,3383,4753,4813">in</WORD>
<WORD coords="3413,4815,3525,4753,4814">the</WORD>
<WORD coords="3553,4831,3813,4757,4814">crypt.c.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,4973,1039,4893,4955">Encryption:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,5099,723,5035,5097">The</WORD>
<WORD coords="753,5115,1127,5035,5098">encryption</WORD>
<WORD coords="1157,5099,1441,5035,5098">function</WORD>
<WORD coords="1471,5099,1667,5035,5098">takes</WORD>
<WORD coords="1695,5099,1805,5035,5098">the</WORD>
<WORD coords="1837,5115,2159,5035,5098">plaintext,</WORD>
<WORD coords="2191,5115,2377,5051,5098">array</WORD>
<WORD coords="2403,5099,2497,5035,5097">for</WORD>
<WORD coords="2525,5115,2747,5035,5097">cipher</WORD>
<WORD coords="2775,5107,2925,5041,5098">text,</WORD>
<WORD coords="2959,5099,3379,5035,5097">initialization</WORD>
<WORD coords="3409,5109,3651,5041,5098">vector,</WORD>
<WORD coords="3685,5099,3843,5035,5097">CFB</WORD>
<WORD coords="3875,5099,4075,5035,5098">mode</WORD>
<WORD coords="4107,5097,4161,5035,5097">in</WORD>
<WORD coords="4195,5099,4317,5035,5098">bits</WORD>
<WORD coords="4347,5099,4477,5035,5098">and</WORD>
<WORD coords="4507,5099,4649,5035,5098">size</WORD>
</LINE>
<LINE>
<WORD coords="585,5207,651,5143,5206">of</WORD>
<WORD coords="677,5207,787,5143,5206">the</WORD>
<WORD coords="817,5223,983,5143,5205">plain</WORD>
<WORD coords="1013,5207,1145,5149,5206">text</WORD>
<WORD coords="1175,5207,1255,5159,5207">as</WORD>
<WORD coords="1287,5223,1519,5143,5206">inputs.</WORD>
<WORD coords="1551,5207,1643,5143,5206">To</WORD>
<WORD coords="1673,5207,1831,5149,5206">start</WORD>
<WORD coords="1857,5217,2019,5143,5205">with,</WORD>
<WORD coords="2049,5207,2161,5143,5206">the</WORD>
<WORD coords="2195,5207,2471,5143,5206">number</WORD>
<WORD coords="2497,5207,2563,5143,5206">of</WORD>
<WORD coords="2593,5223,2765,5143,5206">input</WORD>
<WORD coords="2795,5207,3025,5143,5206">blocks</WORD>
<WORD coords="3057,5207,3107,5143,5206">is</WORD>
<WORD coords="3137,5207,3503,5143,5206">calculated</WORD>
<WORD coords="3533,5207,3691,5143,5205">from</WORD>
<WORD coords="3721,5207,3833,5143,5206">the</WORD>
<WORD coords="3863,5207,4003,5143,5206">size</WORD>
<WORD coords="4035,5223,4427,5149,5206">parameter.</WORD>
<WORD coords="4459,5217,4635,5143,5206">Also,</WORD>
</LINE>
<LINE>
<WORD coords="583,5315,695,5251,5314">the</WORD>
<WORD coords="723,5331,1031,5251,5314">cfb_byte</WORD>
<WORD coords="1063,5315,1115,5251,5314">is</WORD>
<WORD coords="1145,5315,1513,5251,5314">calculated</WORD>
<WORD coords="1541,5315,1701,5251,5313">from</WORD>
<WORD coords="1733,5315,1843,5251,5314">the</WORD>
<WORD coords="1873,5315,2031,5251,5313">CFB</WORD>
<WORD coords="2065,5315,2285,5251,5314">mode.</WORD>
<WORD coords="2315,5315,2467,5251,5313">This</WORD>
<WORD coords="2499,5315,2551,5251,5314">is</WORD>
<WORD coords="2581,5315,2887,5251,5315">because</WORD>
<WORD coords="2919,5315,2993,5251,5313">all</WORD>
<WORD coords="3021,5315,3133,5251,5314">the</WORD>
<WORD coords="3163,5331,3545,5251,5314">operations</WORD>
<WORD coords="3575,5315,3689,5267,5314">are</WORD>
<WORD coords="3723,5331,4095,5251,5314">performed</WORD>
<WORD coords="4127,5313,4181,5251,5313">in</WORD>
<WORD coords="4213,5331,4363,5251,5315">byte</WORD>
<WORD coords="4395,5315,4557,5251,5313">level</WORD>
</LINE>
<LINE>
<WORD coords="583,5441,979,5361,5424">throughout</WORD>
<WORD coords="1005,5425,1115,5361,5424">the</WORD>
<WORD coords="1145,5425,1339,5361,5425">code.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,5567,723,5503,5565">The</WORD>
<WORD coords="755,5567,1173,5503,5565">initialization</WORD>
<WORD coords="1203,5567,1427,5509,5566">vector</WORD>
<WORD coords="1457,5567,1509,5503,5566">is</WORD>
<WORD coords="1539,5583,1729,5503,5565">given</WORD>
<WORD coords="1759,5567,1823,5509,5567">to</WORD>
<WORD coords="1851,5567,1963,5503,5566">the</WORD>
<WORD coords="1993,5583,2395,5503,5566">aes_cipher</WORD>
<WORD coords="2421,5567,2705,5503,5566">function</WORD>
<WORD coords="2735,5567,2831,5503,5565">for</WORD>
<WORD coords="2857,5583,3241,5503,5566">generating</WORD>
<WORD coords="3271,5567,3383,5503,5566">the</WORD>
<WORD coords="3411,5567,3543,5503,5565">first</WORD>
<WORD coords="3569,5583,3797,5509,5567">output</WORD>
<WORD coords="3825,5567,4033,5503,5566">block.</WORD>
<WORD coords="4063,5577,4269,5503,5565">Then,</WORD>
</LINE>
<LINE>
<WORD coords="585,5691,965,5611,5674">depending</WORD>
<WORD coords="999,5691,1173,5627,5674">upon</WORD>
<WORD coords="1203,5675,1315,5611,5674">the</WORD>
<WORD coords="1345,5675,1505,5611,5673">CFB</WORD>
<WORD coords="1537,5685,1755,5611,5674">mode,</WORD>
<WORD coords="1787,5675,2029,5611,5674">certain</WORD>
<WORD coords="2065,5675,2339,5611,5674">number</WORD>
<WORD coords="2371,5691,2729,5611,5674">(cfb_byte)</WORD>
<WORD coords="2761,5675,2827,5611,5674">of</WORD>
<WORD coords="2857,5691,3047,5611,5675">bytes</WORD>
<WORD coords="3079,5673,3133,5611,5673">in</WORD>
<WORD coords="3161,5675,3273,5611,5674">the</WORD>
<WORD coords="3305,5691,3471,5611,5673">plain</WORD>
<WORD coords="3501,5675,3633,5617,5674">text</WORD>
<WORD coords="3661,5675,3775,5627,5674">are</WORD>
<WORD coords="3803,5675,4099,5611,5674">XOR-ed</WORD>
<WORD coords="4127,5675,4269,5611,5673">with</WORD>
<WORD coords="4299,5675,4409,5611,5674">the</WORD>
<WORD coords="4439,5691,4667,5617,5675">output</WORD>
</LINE>
<LINE>
<WORD coords="587,5783,775,5719,5782">block</WORD>
<WORD coords="801,5783,867,5725,5782">to</WORD>
<WORD coords="895,5799,1007,5725,5783">get</WORD>
<WORD coords="1031,5783,1143,5719,5782">the</WORD>
<WORD coords="1173,5799,1395,5719,5781">cipher</WORD>
<WORD coords="1421,5783,1553,5725,5782">text</WORD>
<WORD coords="1581,5799,1825,5725,5783">output.</WORD>
<WORD coords="1857,5783,1995,5719,5781">The</WORD>
<WORD coords="2027,5799,2581,5719,5781">implementation</WORD>
<WORD coords="2613,5783,2679,5719,5782">of</WORD>
<WORD coords="2703,5783,2815,5719,5782">the</WORD>
<WORD coords="2841,5783,2975,5719,5781">first</WORD>
<WORD coords="3003,5799,3377,5719,5782">encryption</WORD>
<WORD coords="3409,5783,3599,5719,5782">block</WORD>
<WORD coords="3627,5783,3679,5719,5782">is</WORD>
<WORD coords="3709,5783,3791,5735,5783">as</WORD>
<WORD coords="3821,5783,4053,5719,5782">below:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4417,6295,4643,6193,6295">lTI©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0015.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0016.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0016.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="652,589,1142,528,574">for(byte_count</WORD>
<WORD coords="1187,563,1213,548,568">=</WORD>
<WORD coords="1363,589,1706,528,574">byte_count</WORD>
<WORD coords="1752,574,1777,538,574">&lt;</WORD>
<WORD coords="1817,589,2337,533,574">AE5_BlOCK_SIZEj</WORD>
<WORD coords="2387,589,2872,528,574">byte_count44){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="798,669,1075,609,654">//Moving</WORD>
<WORD coords="1116,654,1357,609,654">initial</WORD>
<WORD coords="1394,654,1600,614,654">vector</WORD>
<WORD coords="1641,654,1706,614,654">to</WORD>
<WORD coords="1752,654,1777,624,654">a</WORD>
<WORD coords="1817,669,1954,614,654">temp</WORD>
<WORD coords="1999,669,2166,624,654">array</WORD>
</LINE>
<LINE>
<WORD coords="763,735,788,690,735">i</WORD>
<WORD coords="798,735,824,705,735">n</WORD>
<WORD coords="834,750,1000,690,735">it_ve</WORD>
<WORD coords="1010,735,1035,705,735">c</WORD>
<WORD coords="1046,735,1106,695,735">to</WORD>
<WORD coords="1116,750,1212,695,735">r_t</WORD>
<WORD coords="1222,750,1318,705,735">emp</WORD>
<WORD coords="1333,750,1348,690,750">[</WORD>
<WORD coords="1363,750,1460,690,735">byt</WORD>
<WORD coords="1469,750,1600,705,735">e_co</WORD>
<WORD coords="1611,735,1636,705,735">u</WORD>
<WORD coords="1646,735,1671,705,735">n</WORD>
<WORD coords="1680,735,1706,695,0">t</WORD>
<WORD coords="1721,750,1737,690,750">]</WORD>
<WORD coords="1782,725,1817,710,730">=</WORD>
<WORD coords="1858,735,1883,690,735">i</WORD>
<WORD coords="1893,735,1918,705,735">n</WORD>
<WORD coords="1928,750,2095,690,735">it_ve</WORD>
<WORD coords="2105,735,2130,705,735">c</WORD>
<WORD coords="2140,735,2201,695,735">to</WORD>
<WORD coords="2211,735,2236,705,735">r</WORD>
<WORD coords="2251,750,2267,690,750">[</WORD>
<WORD coords="2281,750,2377,690,735">byt</WORD>
<WORD coords="2387,750,2483,705,735">e_c</WORD>
<WORD coords="2493,735,2518,705,735">o</WORD>
<WORD coords="2529,735,2554,705,735">u</WORD>
<WORD coords="2564,735,2624,695,735">nt</WORD>
<WORD coords="2640,750,2655,690,747">]</WORD>
<WORD coords="2670,745,2690,705,0">^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="621,831,647,769,831">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="622,983,930,932,977">//Forward</WORD>
<WORD coords="975,993,1177,932,977">cipher</WORD>
<WORD coords="1217,977,1283,932,977">of</WORD>
<WORD coords="1328,977,1566,932,977">initial</WORD>
<WORD coords="1605,977,1812,937,977">vector</WORD>
<WORD coords="1858,977,1884,937,977">1</WORD>
</LINE>
<LINE>
<WORD coords="622,1073,965,1013,1058">aes_cipher</WORD>
<WORD coords="980,1073,995,1013,1073">(</WORD>
<WORD coords="1010,1073,1565,1013,1058">ini&apos;t_vector_temp</WORD>
<WORD coords="1575,1068,1595,1048,1068">j</WORD>
<WORD coords="1646,1073,1991,1013,1058">cipherText</WORD>
<WORD coords="2004,1073,2019,1013,1073">)</WORD>
<WORD coords="2034,1068,2054,1028,1068">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="622,1235,935,1174,1220">//XOR-ing</WORD>
<WORD coords="975,1235,1141,1174,1220">plain</WORD>
<WORD coords="1182,1220,1318,1179,1220">text</WORD>
<WORD coords="1373,1220,1449,1174,1220">&apos;s&apos;</WORD>
<WORD coords="1505,1220,1636,1174,1220">bits</WORD>
<WORD coords="1676,1220,1812,1174,1220">with</WORD>
<WORD coords="1853,1235,2059,1179,1220">output</WORD>
<WORD coords="2105,1220,2276,1174,1220">block</WORD>
<WORD coords="2317,1220,2342,1190,1220">s</WORD>
<WORD coords="2387,1220,2518,1174,1220">bits</WORD>
</LINE>
<LINE>
<WORD coords="622,1316,1106,1255,1301">for(byte_count</WORD>
<WORD coords="1145,1290,1183,1275,1290">=</WORD>
<WORD coords="1328,1316,1671,1255,1301">byte_count</WORD>
<WORD coords="1716,1301,1742,1265,1301">&lt;</WORD>
<WORD coords="1787,1316,2090,1255,1302">cfb_bytei</WORD>
<WORD coords="2140,1316,2624,1255,1301">byte_count44){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="763,1397,1106,1336,1381">cipherText</WORD>
<WORD coords="1121,1397,1494,1336,1381">[byte_count</WORD>
<WORD coords="1510,1397,1525,1336,1397">]</WORD>
<WORD coords="1575,1371,1605,1356,1384">=</WORD>
<WORD coords="1646,1397,1954,1336,1381">plainText</WORD>
<WORD coords="1969,1397,2056,1336,1381">[by</WORD>
<WORD coords="2054,1366,2069,1351,1366">r</WORD>
<WORD coords="2069,1397,2342,1341,1381">te_count</WORD>
<WORD coords="2357,1397,2372,1336,1397">]</WORD>
<WORD coords="2423,1361,2448,1341,1371">*</WORD>
<WORD coords="2493,1397,3290,1336,1381">cipherText[byte_count];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="621,1477,647,1417,1477">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,1623,705,1559,1621">For</WORD>
<WORD coords="729,1623,841,1559,1622">the</WORD>
<WORD coords="871,1639,1297,1559,1622">subsequent</WORD>
<WORD coords="1327,1633,1575,1559,1622">blocks,</WORD>
<WORD coords="1607,1623,1717,1559,1622">the</WORD>
<WORD coords="1749,1639,1923,1559,1622">input</WORD>
<WORD coords="1951,1623,2141,1559,1622">block</WORD>
<WORD coords="2173,1639,2299,1559,1621">(init</WORD>
<WORD coords="2349,1623,2573,1565,1622">vector</WORD>
<WORD coords="2621,1639,2827,1559,1622">temp)</WORD>
<WORD coords="2861,1623,2913,1559,1622">is</WORD>
<WORD coords="2941,1639,3309,1559,1622">generated</WORD>
<WORD coords="3341,1639,3423,1559,1623">by</WORD>
<WORD coords="3449,1639,3961,1559,1622">concatenating</WORD>
<WORD coords="3991,1623,4101,1559,1622">the</WORD>
<WORD coords="4133,1623,4255,1559,1622">bits</WORD>
<WORD coords="4283,1623,4441,1559,1621">from</WORD>
<WORD coords="4473,1623,4583,1559,1622">the</WORD>
</LINE>
<LINE>
<WORD coords="589,1729,659,1669,1729">IV</WORD>
<WORD coords="687,1731,817,1669,1730">and</WORD>
<WORD coords="845,1731,957,1669,1730">the</WORD>
<WORD coords="987,1747,1209,1669,1729">cipher</WORD>
<WORD coords="1233,1731,1367,1673,1730">text</WORD>
<WORD coords="1395,1731,1525,1669,1730">and</WORD>
<WORD coords="1555,1747,1747,1669,1729">given</WORD>
<WORD coords="1775,1731,1841,1673,1731">to</WORD>
<WORD coords="1869,1731,1981,1669,1730">the</WORD>
<WORD coords="2009,1731,2281,1667,1729">forward</WORD>
<WORD coords="2311,1747,2533,1669,1729">cipher</WORD>
<WORD coords="2559,1731,2867,1667,1730">function.</WORD>
<WORD coords="2897,1731,3081,1667,1729">Then</WORD>
<WORD coords="3109,1731,3221,1669,1730">the</WORD>
<WORD coords="3251,1747,3473,1669,1729">cipher</WORD>
<WORD coords="3497,1731,3631,1673,1730">text</WORD>
<WORD coords="3661,1731,3713,1669,1730">is</WORD>
<WORD coords="3741,1747,4109,1669,1730">generated</WORD>
<WORD coords="4141,1747,4223,1669,1731">by</WORD>
<WORD coords="4251,1747,4565,1667,1729">XOR-ing</WORD>
</LINE>
<LINE>
<WORD coords="583,1841,693,1777,1840">the</WORD>
<WORD coords="725,1857,917,1777,1841">bytes</WORD>
<WORD coords="945,1841,1011,1777,1840">of</WORD>
<WORD coords="1039,1857,1205,1777,1839">plain</WORD>
<WORD coords="1233,1841,1367,1783,1840">text</WORD>
<WORD coords="1395,1841,1525,1777,1840">and</WORD>
<WORD coords="1555,1857,1783,1783,1840">output</WORD>
<WORD coords="1813,1841,2019,1777,1840">block.</WORD>
<WORD coords="2049,1841,2189,1777,1839">The</WORD>
<WORD coords="2221,1857,2775,1777,1839">implementation</WORD>
<WORD coords="2805,1841,2871,1777,1840">of</WORD>
<WORD coords="2897,1841,3007,1777,1840">the</WORD>
<WORD coords="3039,1857,3413,1777,1840">encryption</WORD>
<WORD coords="3447,1841,3499,1777,1840">is</WORD>
<WORD coords="3529,1841,3609,1793,1841">as</WORD>
<WORD coords="3639,1841,3909,1777,1839">follows:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="667,1955,1081,1893,1939">//Encryption</WORD>
<WORD coords="1122,1939,1187,1893,1939">of</WORD>
<WORD coords="1233,1955,1545,1893,1939">remaining</WORD>
<WORD coords="1586,1939,1788,1893,1939">blocks</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="662,2022,768,1976,2022">for</WORD>
<WORD coords="778,2038,799,1976,2038">(</WORD>
<WORD coords="809,2022,940,1976,2022">bloc</WORD>
<WORD coords="950,2038,1187,1976,2022">k_count</WORD>
<WORD coords="1232,2012,1263,1996,2017">=</WORD>
<WORD coords="1304,2038,1753,1976,2022">l;bloek_eount</WORD>
<WORD coords="1799,2022,1824,1986,2030">&lt;</WORD>
<WORD coords="1874,2038,1889,1976,2038">(</WORD>
<WORD coords="1910,2038,2425,1976,2022">(AES_BLOCK_SIZE</WORD>
<WORD coords="2470,2002,2495,1976,2012">*</WORD>
<WORD coords="2541,2038,3127,1976,2022">input_block_size)</WORD>
<WORD coords="3177,2028,3202,1976,2028">/</WORD>
<WORD coords="3248,2038,3586,1976,2023">cfb_byte)i</WORD>
<WORD coords="3637,2038,4157,1976,2022">block_count44){</WORD>
</LINE>
<LINE>
<WORD coords="809,2188,1016,2142,2188">index!</WORD>
<WORD coords="1051,2178,1086,2162,2178">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="809,2287,1258,2225,2271">//Preparation</WORD>
<WORD coords="1299,2271,1364,2225,2271">of</WORD>
<WORD coords="1410,2271,1894,2225,2271">Initialization</WORD>
<WORD coords="1935,2271,2142,2230,2271">vector</WORD>
<WORD coords="2182,2271,2283,2225,2271">for</WORD>
<WORD coords="2324,2271,2425,2225,2271">the</WORD>
<WORD coords="2470,2271,2601,2230,2271">next</WORD>
<WORD coords="2647,2271,2814,2225,2271">round</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="809,2354,905,2308,2354">for</WORD>
<WORD coords="955,2370,1329,2308,2354">(byte_count</WORD>
<WORD coords="1369,2344,1405,2328,2349">=</WORD>
<WORD coords="1440,2365,1501,2313,2354">O;</WORD>
<WORD coords="1551,2370,1894,2308,2354">byte_count</WORD>
<WORD coords="1940,2354,1965,2318,2354">&lt;</WORD>
<WORD coords="2006,2370,2495,2313,2354">AE5_BLOCK_5IZE</WORD>
<WORD coords="2505,2365,2526,2323,2365">j</WORD>
<WORD coords="2576,2370,3061,2308,2354">byte_count44){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="950,2520,1016,2474,2520">if</WORD>
<WORD coords="1026,2536,1046,2474,2536">(</WORD>
<WORD coords="1056,2520,1187,2474,2520">bloc</WORD>
<WORD coords="1198,2536,1364,2474,2520">k_cou</WORD>
<WORD coords="1374,2520,1436,2479,2520">nt</WORD>
<WORD coords="1480,2520,1506,2484,2528">&lt;</WORD>
<WORD coords="1556,2536,1571,2474,2536">(</WORD>
<WORD coords="1591,2536,2455,2474,2520">(AES_BLOCK_5IZE/cfb_byte)</WORD>
<WORD coords="2475,2536,2637,2474,2520">)4l){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1090,2691,1152,2639,2680">/*</WORD>
<WORD coords="1198,2686,1294,2645,2686">For</WORD>
<WORD coords="1334,2686,1435,2639,2686">the</WORD>
<WORD coords="1475,2686,1647,2639,2686">first</WORD>
<WORD coords="1687,2686,1793,2639,2686">few</WORD>
<WORD coords="1834,2686,2036,2639,2686">blocks</WORD>
<WORD coords="2076,2686,2248,2639,2686">where</WORD>
<WORD coords="2293,2686,2778,2639,2686">initialization</WORD>
<WORD coords="2819,2686,3026,2645,2686">vector</WORD>
<WORD coords="3071,2686,3167,2639,2686">and</WORD>
<WORD coords="3212,2702,3414,2639,2686">cipher</WORD>
<WORD coords="3455,2702,3662,2645,2686">output</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1127,2748,1152,2722,2758">*</WORD>
<WORD coords="1198,2769,1258,2722,2769">is</WORD>
<WORD coords="1304,2769,1435,2722,2769">used</WORD>
<WORD coords="1475,2769,1541,2728,2769">to</WORD>
<WORD coords="1582,2785,1859,2728,2769">generate</WORD>
<WORD coords="1900,2769,2001,2722,2769">the</WORD>
<WORD coords="2046,2785,2601,2722,2769">init_vector_temp</WORD>
</LINE>
<LINE>
<WORD coords="1127,2857,1187,2805,2844">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1092,2935,1157,2888,2935">if</WORD>
<WORD coords="1167,2951,1182,2888,2951">(</WORD>
<WORD coords="1198,2951,1541,2888,2935">byte_count</WORD>
<WORD coords="1586,2935,1612,2899,2943">&lt;</WORD>
<WORD coords="1662,2951,2177,2888,2935">(AES_BLOCK_SIZE</WORD>
<WORD coords="2223,2919,2248,2914,2935">-</WORD>
<WORD coords="2298,2951,2707,2888,2935">(block_count</WORD>
<WORD coords="2748,2935,2778,2899,2935">4</WORD>
<WORD coords="2824,2951,3096,2888,2935">cfb_byte</WORD>
<WORD coords="3146,2919,3167,2914,2927">-</WORD>
<WORD coords="3212,2951,3379,2888,2947">!))){</WORD>
</LINE>
<LINE>
<WORD coords="1268,3018,1294,2971,3018">i</WORD>
<WORD coords="1304,3018,1329,2987,3018">n</WORD>
<WORD coords="1339,3034,1506,2971,3018">it_ve</WORD>
<WORD coords="1516,3018,1541,2987,3018">c</WORD>
<WORD coords="1551,3018,1612,2977,3018">to</WORD>
<WORD coords="1622,3034,1718,2977,3018">r_t</WORD>
<WORD coords="1728,3034,1824,2987,3018">emp</WORD>
<WORD coords="1839,3034,1854,2971,3034">[</WORD>
<WORD coords="1869,3034,1965,2971,3018">byt</WORD>
<WORD coords="1975,3034,2071,2987,3018">e_c</WORD>
<WORD coords="2081,3018,2107,2987,3018">o</WORD>
<WORD coords="2117,3018,2142,2987,3018">u</WORD>
<WORD coords="2152,3018,2213,2977,3018">nt</WORD>
<WORD coords="2228,3034,2243,2971,3034">]</WORD>
<WORD coords="2292,3008,2324,2992,3008">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1516,3101,1541,3054,3101">i</WORD>
<WORD coords="1551,3101,1576,3070,3101">n</WORD>
<WORD coords="1586,3117,1753,3054,3101">it_ve</WORD>
<WORD coords="1763,3101,1824,3060,3101">ct</WORD>
<WORD coords="1834,3101,1859,3070,3101">o</WORD>
<WORD coords="1869,3101,1894,3070,0">r</WORD>
<WORD coords="1910,3117,1925,3054,3117">[</WORD>
<WORD coords="1940,3117,2036,3054,3101">byt</WORD>
<WORD coords="2046,3117,2177,3070,3101">e_co</WORD>
<WORD coords="2187,3101,2213,3070,3101">u</WORD>
<WORD coords="2223,3101,2248,3070,3101">n</WORD>
<WORD coords="2258,3101,2283,3060,3101">t</WORD>
<WORD coords="2325,3101,2354,3065,3109">4</WORD>
<WORD coords="2405,3117,2420,3054,3117">(</WORD>
<WORD coords="2435,3101,2500,3054,3101">cf</WORD>
<WORD coords="2505,3117,2672,3054,3101">b_byt</WORD>
<WORD coords="2682,3101,2707,3070,3101">e</WORD>
<WORD coords="2749,3101,2778,3065,3101">4</WORD>
<WORD coords="2824,3101,2955,3054,3101">bloc</WORD>
<WORD coords="2965,3117,3061,3054,3101">k_c</WORD>
<WORD coords="3071,3101,3096,3070,3101">o</WORD>
<WORD coords="3106,3101,3132,3070,3101">u</WORD>
<WORD coords="3142,3101,3202,3060,3101">nt</WORD>
<WORD coords="3217,3085,3238,3080,3085">-</WORD>
<WORD coords="3248,3101,3273,3060,3101">1</WORD>
<WORD coords="3288,3117,3303,3054,3117">)</WORD>
<WORD coords="3324,3117,3339,3054,3117">]</WORD>
<WORD coords="3354,3111,3374,3070,3111">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1092,3200,1294,3137,3184">}else{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1233,3282,1788,3220,3267">init_vector_temp</WORD>
<WORD coords="1839,3282,2243,3220,3267">[byte_count]</WORD>
<WORD coords="2288,3257,2324,3241,3262">=</WORD>
<WORD coords="2364,3282,2707,3220,3267">cipherText</WORD>
<WORD coords="2723,3282,3091,3220,3267">[indexl4+];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1091,3365,1117,3303,3365">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1092,3433,1157,3386,3433">if</WORD>
<WORD coords="1203,3448,1364,3386,3433">(bloc</WORD>
<WORD coords="1374,3448,1506,3386,3433">k_co</WORD>
<WORD coords="1516,3433,1541,3402,3433">u</WORD>
<WORD coords="1551,3433,1612,3391,3433">nt</WORD>
<WORD coords="1656,3423,1723,3407,3431">==</WORD>
<WORD coords="1768,3448,1784,3386,3448">(</WORD>
<WORD coords="1793,3433,1859,3391,3433">AE</WORD>
<WORD coords="1869,3448,1965,3391,3433">S_B</WORD>
<WORD coords="1975,3433,2071,3391,3433">LOC</WORD>
<WORD coords="2081,3448,2177,3391,3433">K_5</WORD>
<WORD coords="2187,3433,2213,3391,3433">1</WORD>
<WORD coords="2223,3433,2248,3391,3433">Z</WORD>
<WORD coords="2258,3433,2283,3391,3433">E</WORD>
<WORD coords="2329,3438,2354,3386,3438">/</WORD>
<WORD coords="2399,3433,2465,3386,3433">cf</WORD>
<WORD coords="2470,3448,2637,3386,3433">b_byt</WORD>
<WORD coords="2647,3433,2672,3402,3433">e</WORD>
<WORD coords="2687,3448,2702,3386,3448">)</WORD>
<WORD coords="2723,3448,2738,3386,0">)</WORD>
<WORD coords="2753,3448,2778,3386,3448">{</WORD>
</LINE>
<LINE>
<WORD coords="1233,3516,1258,3469,3516">i</WORD>
<WORD coords="1268,3516,1294,3485,3516">n</WORD>
<WORD coords="1304,3516,1329,3469,3516">d</WORD>
<WORD coords="1339,3516,1364,3485,3516">e</WORD>
<WORD coords="1374,3531,1541,3469,3516">x2_fl</WORD>
<WORD coords="1551,3516,1576,3485,3531">a</WORD>
<WORD coords="1586,3531,1612,3485,3531">g</WORD>
<WORD coords="1657,3505,1687,3490,3510">=</WORD>
<WORD coords="1723,3526,1889,3474,3516">true^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1092,3614,1117,3552,3614">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="950,3780,1152,3718,3765">}else{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1088,3936,1152,3884,3925">/*</WORD>
<WORD coords="1198,3931,1294,3889,3931">For</WORD>
<WORD coords="1334,3931,1435,3884,3931">the</WORD>
<WORD coords="1480,3946,1792,3884,3931">remaining</WORD>
<WORD coords="1834,3931,2036,3884,3931">blocks</WORD>
<WORD coords="2076,3931,2248,3884,3931">where</WORD>
<WORD coords="2293,3946,2849,3884,3931">init_vector_temp</WORD>
<WORD coords="2894,3931,2955,3884,3931">is</WORD>
<WORD coords="2996,3946,3308,3884,3931">generated</WORD>
<WORD coords="3349,3931,3486,3884,3931">from</WORD>
<WORD coords="3526,3931,3627,3884,3931">the</WORD>
<WORD coords="3672,3946,3874,3884,3931">cipher</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1127,3993,1152,3967,4003">*</WORD>
<WORD coords="1193,4029,1400,3972,4014">output</WORD>
<WORD coords="1440,4014,1576,3967,4014">from</WORD>
<WORD coords="1617,4014,1718,3967,4014">the</WORD>
<WORD coords="1763,4029,2036,3967,4014">previous</WORD>
<WORD coords="2081,4014,2274,3967,4014">block.</WORD>
<WORD coords="2324,4014,2425,3972,4014">AES</WORD>
<WORD coords="2469,4014,2743,3967,4014">Standard</WORD>
<WORD coords="2788,4014,2920,3972,4014">FIPS</WORD>
<WORD coords="2965,4014,3278,3972,4014">SPSGG-BSA</WORD>
<WORD coords="3314,4029,3591,3967,4014">explains</WORD>
<WORD coords="3632,4014,3768,3983,4014">more</WORD>
<WORD coords="3808,4014,3874,3983,4014">on</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1127,4076,1152,4050,4094">*</WORD>
<WORD coords="1198,4112,1541,4050,4097">generation</WORD>
<WORD coords="1581,4097,1647,4050,4097">of</WORD>
<WORD coords="1692,4112,2071,4050,4097">init_vector</WORD>
<WORD coords="2112,4097,2213,4050,4097">for</WORD>
<WORD coords="2253,4097,2389,4050,4097">each</WORD>
<WORD coords="2435,4097,2606,4050,4097">block</WORD>
<WORD coords="2647,4097,2707,4050,4097">in</WORD>
<WORD coords="2749,4097,3061,4050,4097">different</WORD>
<WORD coords="3102,4097,3202,4055,4097">CFB</WORD>
<WORD coords="3243,4097,3414,4050,4097">modes</WORD>
</LINE>
<LINE>
<WORD coords="1127,4185,1187,4133,4172">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1092,4278,2036,4216,4263">init_vector_temp[byte_count</WORD>
<WORD coords="2051,4278,2066,4216,4278">]</WORD>
<WORD coords="2117,4252,2143,4237,4257">=</WORD>
<WORD coords="2223,4278,2566,4216,4263">cipherText</WORD>
<WORD coords="2581,4278,2596,4216,4278">[</WORD>
<WORD coords="2617,4278,2920,4216,4263">(cfb_byte</WORD>
<WORD coords="2965,4242,2990,4216,4252">*</WORD>
<WORD coords="3036,4278,3268,4216,4263">index2)</WORD>
<WORD coords="3314,4263,3344,4226,4263">4</WORD>
<WORD coords="3389,4278,3798,4216,4263">byte_count];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="951,4445,977,4383,4445">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16777214">
<PARAGRAPH>
<LINE>
<WORD coords="809,4611,835,4549,4611">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="809,4760,874,4714,4760">if</WORD>
<WORD coords="920,4776,1330,4714,4760">(index2_flag</WORD>
<WORD coords="1372,4750,1440,4735,4753">==</WORD>
<WORD coords="1475,4776,1682,4714,4760">true){</WORD>
</LINE>
<LINE>
<WORD coords="950,4843,1152,4797,4843">index2</WORD>
<WORD coords="1193,4833,1228,4818,4838">=</WORD>
<WORD coords="1268,4854,1571,4797,4843">index24l^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="809,4943,835,4879,4943">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="809,5108,1122,5046,5092">//Sending</WORD>
<WORD coords="1162,5092,1647,5046,5092">initialization</WORD>
<WORD coords="1687,5092,1894,5051,5092">vector</WORD>
<WORD coords="1935,5092,2002,5051,5092">to</WORD>
<WORD coords="2041,5092,2142,5046,5092">the</WORD>
<WORD coords="2187,5108,2389,5046,5092">cipher</WORD>
<WORD coords="2430,5092,2707,5046,5092">function</WORD>
<WORD coords="2748,5092,2814,5051,5092">to</WORD>
<WORD coords="2859,5108,2955,5051,5092">get</WORD>
<WORD coords="3000,5092,3061,5051,5092">16</WORD>
<WORD coords="3106,5108,3238,5046,5092">byte</WORD>
<WORD coords="3278,5108,3485,5051,5092">output</WORD>
<WORD coords="3531,5092,3702,5046,5092">block</WORD>
</LINE>
<LINE>
<WORD coords="809,5191,1753,5129,5175">aes_cipher(init_vector_temip</WORD>
<WORD coords="1763,5186,1783,5165,5186">J</WORD>
<WORD coords="1839,5191,2213,5129,5175">(cipherText</WORD>
<WORD coords="2254,5175,2284,5139,5183">4</WORD>
<WORD coords="2334,5191,2743,5129,5175">(block_count</WORD>
<WORD coords="2788,5155,2814,5129,5165">*</WORD>
<WORD coords="2859,5191,3268,5129,5175">cfb_byte)));</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="804,5357,1152,5295,5341">for(byte_c</WORD>
<WORD coords="1162,5341,1187,5310,5341">0</WORD>
<WORD coords="1198,5341,1294,5300,5341">unt</WORD>
<WORD coords="1339,5331,1365,5315,5331">=</WORD>
<WORD coords="1405,5352,1465,5300,5342">■&amp;;</WORD>
<WORD coords="1516,5357,1859,5295,5341">byte_count</WORD>
<WORD coords="1905,5341,1930,5305,5341">&lt;</WORD>
<WORD coords="1975,5341,2041,5295,5341">cf</WORD>
<WORD coords="2046,5357,2248,5295,5341">b_byte</WORD>
<WORD coords="2263,5321,2274,5310,5331">■</WORD>
<WORD coords="2329,5357,2601,5295,5341">byte_cou</WORD>
<WORD coords="2612,5357,2773,5295,5341">nt44)</WORD>
<WORD coords="2788,5357,2814,5295,0">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="950,5440,1262,5378,5424">//XOR-ing</WORD>
<WORD coords="1304,5440,1506,5378,5424">cipher</WORD>
<WORD coords="1546,5424,1682,5383,5424">text</WORD>
<WORD coords="1738,5424,1814,5378,5424">&apos;s&apos;</WORD>
<WORD coords="1869,5424,2001,5378,5424">bits</WORD>
<WORD coords="2041,5424,2177,5378,5424">with</WORD>
<WORD coords="2218,5440,2425,5383,5424">output</WORD>
<WORD coords="2470,5424,2642,5378,5424">block</WORD>
<WORD coords="2682,5424,2707,5393,5424">s</WORD>
<WORD coords="2753,5424,2884,5378,5424">bits</WORD>
</LINE>
<LINE>
<WORD coords="950,5523,1294,5461,5507">cipherText</WORD>
<WORD coords="1309,5523,1324,5461,5523">[</WORD>
<WORD coords="1344,5523,1718,5461,5507">(byte_count</WORD>
<WORD coords="1758,5507,1789,5471,5515">4</WORD>
<WORD coords="1839,5523,2248,5461,5507">(block_count</WORD>
<WORD coords="2293,5486,2319,5461,5496">*</WORD>
<WORD coords="2364,5523,2738,5461,5507">cfb_byte))]</WORD>
<WORD coords="2784,5497,2819,5481,5497">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1233,5606,1541,5544,5590">plainText</WORD>
<WORD coords="1556,5606,1571,5544,5606">[</WORD>
<WORD coords="1591,5606,1965,5544,5590">(byte_count</WORD>
<WORD coords="2006,5590,2036,5554,5598">4</WORD>
<WORD coords="2086,5606,2495,5544,5590">(blockcount</WORD>
<WORD coords="2541,5569,2566,5544,5579">*</WORD>
<WORD coords="2612,5606,2985,5544,5590">cfb_byte))]</WORD>
<WORD coords="3036,5569,3061,5549,5569">A</WORD>
</LINE>
<LINE>
<WORD coords="1233,5689,1576,5626,5673">cipherText</WORD>
<WORD coords="1591,5689,1965,5626,5673">[byte_count</WORD>
<WORD coords="2006,5673,2036,5637,5681">4</WORD>
<WORD coords="2086,5689,2495,5626,5673">(block_count</WORD>
<WORD coords="2541,5652,2566,5626,5662">*</WORD>
<WORD coords="2612,5689,2985,5626,5673">cfb_byte)]j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="843,5773,869,5709,5773">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="667,5938,693,5875,5938">}</WORD>
<WORD coords="738,5927,905,5875,5922">//End</WORD>
<WORD coords="945,5922,1012,5875,5922">of</WORD>
<WORD coords="1056,5922,1156,5875,5922">all</WORD>
<WORD coords="1198,5922,1400,5875,5922">blocks</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0016.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0017.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0017.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="589,577,1039,497,560">Decryption:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,703,723,639,701">The</WORD>
<WORD coords="751,719,1127,639,702">decryption</WORD>
<WORD coords="1161,719,1445,655,702">process</WORD>
<WORD coords="1477,703,1527,639,702">is</WORD>
<WORD coords="1557,703,1793,639,701">similar</WORD>
<WORD coords="1819,703,1883,645,703">to</WORD>
<WORD coords="1911,703,2023,639,702">the</WORD>
<WORD coords="2053,719,2427,639,702">encryption</WORD>
<WORD coords="2457,703,2679,639,701">where</WORD>
<WORD coords="2707,703,2817,639,702">the</WORD>
<WORD coords="2845,703,2977,639,701">first</WORD>
<WORD coords="3005,719,3157,645,703">step</WORD>
<WORD coords="3187,703,3239,639,702">is</WORD>
<WORD coords="3269,703,3333,645,703">to</WORD>
<WORD coords="3363,719,3687,645,702">generate</WORD>
<WORD coords="3713,703,3825,639,702">the</WORD>
<WORD coords="3857,719,4031,639,702">input</WORD>
<WORD coords="4061,703,4249,639,702">block</WORD>
<WORD coords="4275,703,4433,639,701">from</WORD>
<WORD coords="4465,703,4575,639,702">the</WORD>
</LINE>
<LINE>
<WORD coords="587,811,1007,747,809">initialization</WORD>
<WORD coords="1037,811,1261,753,810">vector</WORD>
<WORD coords="1289,811,1419,747,809">and</WORD>
<WORD coords="1447,811,1559,747,810">the</WORD>
<WORD coords="1589,827,1811,747,809">cipher</WORD>
<WORD coords="1835,811,1969,753,810">text</WORD>
<WORD coords="1997,827,2199,763,810">array.</WORD>
<WORD coords="2231,811,2413,747,809">Then</WORD>
<WORD coords="2443,811,2555,747,810">the</WORD>
<WORD coords="2585,827,2759,747,810">input</WORD>
<WORD coords="2789,811,2977,747,810">block</WORD>
<WORD coords="3007,811,3059,747,810">is</WORD>
<WORD coords="3089,827,3349,747,810">applied</WORD>
<WORD coords="3377,811,3443,753,811">to</WORD>
<WORD coords="3469,811,3581,747,809">the</WORD>
<WORD coords="3611,811,3881,747,809">forward</WORD>
<WORD coords="3911,827,4133,747,809">cipher</WORD>
<WORD coords="4159,811,4445,747,810">function</WORD>
<WORD coords="4473,811,4539,753,811">to</WORD>
</LINE>
<LINE>
<WORD coords="585,935,697,861,918">get</WORD>
<WORD coords="721,919,833,855,917">the</WORD>
<WORD coords="863,935,1089,861,919">output</WORD>
<WORD coords="1117,919,1327,855,918">block.</WORD>
<WORD coords="1357,919,1497,855,917">The</WORD>
<WORD coords="1529,919,1573,871,919">s</WORD>
<WORD coords="1597,919,1719,855,918">bits</WORD>
<WORD coords="1747,919,1813,855,918">of</WORD>
<WORD coords="1839,919,1949,855,918">the</WORD>
<WORD coords="1979,935,2205,861,919">output</WORD>
<WORD coords="2235,919,2425,855,918">block</WORD>
<WORD coords="2453,919,2567,871,918">are</WORD>
<WORD coords="2593,919,2749,855,918">then</WORD>
<WORD coords="2779,919,3075,855,918">XOR-ed</WORD>
<WORD coords="3105,919,3245,855,917">with</WORD>
<WORD coords="3275,919,3387,855,918">the</WORD>
<WORD coords="3415,935,3639,855,917">cipher</WORD>
<WORD coords="3663,919,3795,861,918">text</WORD>
<WORD coords="3821,919,3885,861,919">to</WORD>
<WORD coords="3915,935,4027,861,918">get</WORD>
<WORD coords="4051,919,4163,855,918">the</WORD>
<WORD coords="4195,935,4363,855,917">plain</WORD>
<WORD coords="4391,919,4523,861,918">text</WORD>
</LINE>
<LINE>
<WORD coords="585,1045,831,971,1029">output.</WORD>
<WORD coords="861,1029,1001,965,1027">The</WORD>
<WORD coords="1033,1045,1585,965,1027">implementation</WORD>
<WORD coords="1617,1029,1683,965,1028">of</WORD>
<WORD coords="1709,1029,1819,965,1028">the</WORD>
<WORD coords="1847,1045,2225,965,1028">decryption</WORD>
<WORD coords="2253,1029,2539,965,1028">function</WORD>
<WORD coords="2573,1029,2625,965,1028">is</WORD>
<WORD coords="2655,1029,2737,981,1029">as</WORD>
<WORD coords="2765,1029,3035,965,1027">follows:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,1185,975,1107,1168">Decryption</WORD>
<WORD coords="1005,1169,1071,1105,1168">of</WORD>
<WORD coords="1097,1169,1229,1105,1167">first</WORD>
<WORD coords="1259,1169,1467,1107,1168">block:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,1311,1085,1237,1298">ffor(by&apos;te_count</WORD>
<WORD coords="1125,1287,1163,1271,1292">=</WORD>
<WORD coords="1311,1311,2199,1251,1297">by&quot;te_count&lt;AES_BLOCK_SIZE</WORD>
<WORD coords="2209,1307,2229,1267,1307">j</WORD>
<WORD coords="2279,1311,2773,1251,1297">by&apos;te_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="735,1387,1017,1329,1372">//Moving</WORD>
<WORD coords="1059,1372,1302,1329,1372">initial</WORD>
<WORD coords="1341,1372,1551,1334,1372">vector</WORD>
<WORD coords="1592,1372,1659,1334,1372">to</WORD>
<WORD coords="1705,1372,1731,1343,1372">a</WORD>
<WORD coords="1772,1387,1910,1334,1372">temp</WORD>
<WORD coords="1956,1387,2128,1343,1372">array</WORD>
</LINE>
<LINE>
<WORD coords="735,1464,1300,1406,1450">init_vector_temp</WORD>
<WORD coords="1315,1464,1330,1406,1464">[</WORD>
<WORD coords="1346,1464,1695,1406,1450">byte_count</WORD>
<WORD coords="1710,1464,1725,1406,1464">]</WORD>
<WORD coords="1776,1440,1807,1426,1445">=</WORD>
<WORD coords="1849,1464,2628,1406,1450">init_vector[byte_count</WORD>
<WORD coords="2644,1464,2659,1406,1464">]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="592,1542,617,1484,1542">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="592,1687,905,1638,1682">//Forward</WORD>
<WORD coords="951,1696,1156,1638,1682">cipher</WORD>
<WORD coords="1197,1682,1264,1638,1682">of</WORD>
<WORD coords="1310,1682,1552,1638,1682">initial</WORD>
<WORD coords="1592,1682,1802,1643,1682">vector</WORD>
<WORD coords="1849,1682,1879,1643,1682">1</WORD>
</LINE>
<LINE>
<WORD coords="592,1759,617,1730,1759">a</WORD>
<WORD coords="628,1759,653,1730,1759">e</WORD>
<WORD coords="664,1774,761,1730,1759">s_c</WORD>
<WORD coords="771,1774,833,1716,1759">ip</WORD>
<WORD coords="843,1759,905,1716,1759">he</WORD>
<WORD coords="915,1759,941,1730,1759">r</WORD>
<WORD coords="956,1774,971,1716,1774">(</WORD>
<WORD coords="987,1759,1012,1716,1759">i</WORD>
<WORD coords="1023,1759,1048,1730,1759">n</WORD>
<WORD coords="1059,1774,1228,1716,1759">it_ve</WORD>
<WORD coords="1238,1759,1264,1730,1759">c</WORD>
<WORD coords="1274,1759,1336,1721,1759">to</WORD>
<WORD coords="1346,1774,1444,1721,1759">r_t</WORD>
<WORD coords="1454,1774,1551,1730,1759">emp</WORD>
<WORD coords="1561,1769,1582,1750,1771">,</WORD>
<WORD coords="1633,1774,2013,1716,1759">plainText):;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="592,1929,909,1871,1914">//XOR-ing</WORD>
<WORD coords="951,1929,1156,1871,1914">cipher</WORD>
<WORD coords="1197,1914,1336,1876,1914">text</WORD>
<WORD coords="1392,1885,1397,1871,1885">1</WORD>
<WORD coords="1418,1914,1443,1885,1914">s</WORD>
<WORD coords="1464,1885,1469,1871,1885">1</WORD>
<WORD coords="1525,1914,1659,1871,1914">bits</WORD>
<WORD coords="1700,1914,1838,1871,1914">with</WORD>
<WORD coords="1879,1929,2090,1876,1914">output</WORD>
<WORD coords="2136,1914,2310,1871,1914">block</WORD>
<WORD coords="2351,1914,2377,1885,1914">s</WORD>
<WORD coords="2423,1914,2556,1871,1914">bits</WORD>
</LINE>
<LINE>
<WORD coords="591,1992,689,1948,1992">for</WORD>
<WORD coords="705,2006,720,1948,2006">(</WORD>
<WORD coords="735,2006,1084,1948,1992">byte_count</WORD>
<WORD coords="1126,1982,1161,1967,1987">=</WORD>
<WORD coords="1310,2006,1659,1948,1992">byte_count</WORD>
<WORD coords="1705,1992,1731,1958,1992">&lt;</WORD>
<WORD coords="1777,2006,2084,1948,1992">cfb_byte;</WORD>
<WORD coords="2136,2006,2556,1948,1992">byte_count++</WORD>
<WORD coords="2572,2006,2587,1948,2006">)</WORD>
<WORD coords="2603,2006,2628,1948,2006">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="735,2084,1048,2025,2069">plainText</WORD>
<WORD coords="1064,2084,1079,2025,2084">[</WORD>
<WORD coords="1094,2084,1443,2025,2069">byte_count</WORD>
<WORD coords="1459,2084,1474,2025,2084">]</WORD>
<WORD coords="1520,2060,1556,2045,2064">=</WORD>
<WORD coords="1597,2084,1946,2025,2069">cipherText</WORD>
<WORD coords="1961,2084,1977,2025,2084">[</WORD>
<WORD coords="1992,2084,2341,2025,2069">byte_count</WORD>
<WORD coords="2356,2084,2372,2025,2084">]</WORD>
<WORD coords="2423,2050,2449,2030,2050">A</WORD>
<WORD coords="2495,2084,2808,2025,2069">plainText</WORD>
<WORD coords="2823,2084,2839,2025,2084">[</WORD>
<WORD coords="2854,2084,3203,2025,2069">byte_count</WORD>
<WORD coords="3218,2084,3234,2025,2084">]</WORD>
<WORD coords="3249,2079,3269,2040,2079">_;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,2161,619,2103,2161">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,2347,975,2269,2330">Decryption</WORD>
<WORD coords="1007,2331,1071,2269,2330">of</WORD>
<WORD coords="1103,2347,1457,2267,2329">remaining</WORD>
<WORD coords="1489,2331,1741,2269,2330">blocks:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="636,2474,1008,2419,2460">//Decryption</WORD>
<WORD coords="1044,2460,1104,2419,2460">of</WORD>
<WORD coords="1144,2474,1423,2419,2460">remaining</WORD>
<WORD coords="1461,2460,1643,2419,2460">blocks</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="631,2533,727,2492,2533">for</WORD>
<WORD coords="736,2546,754,2492,2546">(</WORD>
<WORD coords="763,2533,881,2492,2533">bloc</WORD>
<WORD coords="890,2546,1103,2492,2533">k_count</WORD>
<WORD coords="1143,2524,1171,2510,2528">=</WORD>
<WORD coords="1207,2533,1257,2496,2524">1-</WORD>
<WORD coords="1271,2546,1611,2492,2533">block_count</WORD>
<WORD coords="1652,2533,1675,2501,2539">&lt;</WORD>
<WORD coords="1720,2546,1734,2492,2546">(</WORD>
<WORD coords="1752,2546,2214,2492,2533">(AES_BLQCK_SIZE</WORD>
<WORD coords="2255,2515,2278,2492,2524">*</WORD>
<WORD coords="2319,2546,2845,2492,2533">input_block_size)</WORD>
<WORD coords="2890,2537,2913,2492,2537">/</WORD>
<WORD coords="2954,2546,3258,2492,2533">cfb_byte);</WORD>
<WORD coords="3303,2546,3770,2492,2533">block_count++){</WORD>
</LINE>
<LINE>
<WORD coords="763,2678,949,2637,2678">indexl</WORD>
<WORD coords="984,2669,1012,2655,2669">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="763,2764,1167,2710,2751">//Preparation</WORD>
<WORD coords="1203,2751,1262,2710,2751">of</WORD>
<WORD coords="1303,2751,1738,2710,2751">Initialization</WORD>
<WORD coords="1774,2751,1960,2714,2751">vector</WORD>
<WORD coords="1997,2751,2087,2710,2751">for</WORD>
<WORD coords="2124,2751,2214,2710,2751">the</WORD>
<WORD coords="2255,2751,2373,2714,2751">next</WORD>
<WORD coords="2414,2751,2564,2710,2751">round</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="762,2823,850,2782,2823">for</WORD>
<WORD coords="894,2837,1230,2782,2823">(byte_count</WORD>
<WORD coords="1266,2814,1298,2800,2818">=</WORD>
<WORD coords="1330,2832,1384,2787,2829">0^</WORD>
<WORD coords="1430,2837,1738,2782,2823">byte_count</WORD>
<WORD coords="1779,2823,1802,2791,2823">&lt;</WORD>
<WORD coords="1838,2837,2305,2787,2823">AES_BLOCK_5IZE_;</WORD>
<WORD coords="2350,2837,2786,2782,2823">byte_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="890,2968,949,2927,2968">if</WORD>
<WORD coords="958,2982,1325,2927,2968">(block_count</WORD>
<WORD coords="1366,2968,1389,2937,2975">&lt;</WORD>
<WORD coords="1434,2982,1448,2927,2982">(</WORD>
<WORD coords="1466,2982,2214,2927,2968">(AES_BLOCK_SIZE/cfb_byte</WORD>
<WORD coords="2228,2982,2242,2927,2982">)</WORD>
<WORD coords="2260,2982,2405,2927,2968">)+l){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,3118,1071,3073,3109">/*</WORD>
<WORD coords="1112,3114,1199,3077,3114">For</WORD>
<WORD coords="1235,3114,1325,3073,3114">the</WORD>
<WORD coords="1362,3114,1516,3073,3114">first</WORD>
<WORD coords="1552,3114,1647,3073,3114">few</WORD>
<WORD coords="1684,3114,1865,3073,3114">blocks</WORD>
<WORD coords="1901,3114,2056,3073,3114">where</WORD>
<WORD coords="2096,3114,2532,3073,3114">initialization</WORD>
<WORD coords="2568,3114,2754,3077,3114">vector</WORD>
<WORD coords="2795,3114,2881,3073,3114">and</WORD>
<WORD coords="2922,3127,3103,3073,3114">cipher</WORD>
<WORD coords="3140,3127,3326,3077,3114">output</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1049,3168,1071,3145,3177">*</WORD>
<WORD coords="1112,3186,1167,3145,3186">is</WORD>
<WORD coords="1207,3186,1325,3145,3186">used</WORD>
<WORD coords="1362,3186,1421,3150,3186">to</WORD>
<WORD coords="1461,3200,1706,3150,3186">generate</WORD>
<WORD coords="1743,3186,1833,3145,3186">the</WORD>
<WORD coords="1874,3200,2373,3145,3186">init_vector_temp</WORD>
</LINE>
<LINE>
<WORD coords="1049,3263,1103,3218,3252">*/</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,3331,1076,3290,3331">if</WORD>
<WORD coords="1085,3345,1421,3290,3331">(byte_count</WORD>
<WORD coords="1461,3331,1484,3300,3331">&lt;</WORD>
<WORD coords="1529,3345,1611,3290,3336">(16</WORD>
<WORD coords="1652,3318,1675,3313,3331">-</WORD>
<WORD coords="1720,3345,2087,3290,3331">(block_count</WORD>
<WORD coords="2124,3331,2152,3300,3331">+</WORD>
<WORD coords="2192,3345,2437,3290,3331">cfb_byte</WORD>
<WORD coords="2477,3345,2659,3290,3338">-!})){</WORD>
</LINE>
<LINE>
<WORD coords="1144,3418,2019,3363,3404">init_vector_temp[byte_count]</WORD>
<WORD coords="2061,3395,2092,3381,3395">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1398,3490,1738,3436,3476">init_vector</WORD>
<WORD coords="1752,3490,1765,3436,3490">[</WORD>
<WORD coords="1779,3490,2087,3436,3476">byte_count</WORD>
<WORD coords="2128,3476,2152,3445,3483">+</WORD>
<WORD coords="2196,3490,2468,3436,3476">(cfb_byte</WORD>
<WORD coords="2506,3476,2532,3445,3476">+</WORD>
<WORD coords="2573,3490,2914,3436,3476">block_count</WORD>
<WORD coords="2958,3463,2976,3458,3469">-</WORD>
<WORD coords="3017,3490,3131,3436,3476">l)]j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,3563,1198,3508,3549">}else{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1144,3635,1643,3581,3622">init_vector_temp</WORD>
<WORD coords="1688,3635,2051,3581,3622">[byte_count]</WORD>
<WORD coords="2093,3613,2124,3599,3617">=</WORD>
<WORD coords="2160,3635,2468,3581,3622">cipherText</WORD>
<WORD coords="2482,3635,2813,3581,3622">[indexl-H-];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,3708,1040,3653,3708">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,3767,1076,3726,3767">if</WORD>
<WORD coords="1117,3780,1484,3726,3767">(block_count</WORD>
<WORD coords="1524,3758,1584,3744,3765">==</WORD>
<WORD coords="1625,3780,2087,3726,3767">(AES_BILOCK_5IZE</WORD>
<WORD coords="2128,3771,2151,3726,3771">/</WORD>
<WORD coords="2192,3780,2532,3726,3767">cfb_byte)){</WORD>
</LINE>
<LINE>
<WORD coords="1144,3853,1489,3799,3839">index2_flag</WORD>
<WORD coords="1521,3830,1552,3817,3834">=</WORD>
<WORD coords="1584,3849,1734,3803,3839">true:;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,3926,1040,3871,3926">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="890,4071,1071,4016,4057">}else{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,4207,1071,4162,4197">/*</WORD>
<WORD coords="1112,4202,1198,4166,4202">For</WORD>
<WORD coords="1235,4202,1325,4162,4202">the</WORD>
<WORD coords="1366,4216,1644,4162,4202">remaining</WORD>
<WORD coords="1684,4202,1865,4162,4202">blocks</WORD>
<WORD coords="1901,4202,2056,4162,4202">where</WORD>
<WORD coords="2096,4216,2595,4162,4202">init_vector_temp</WORD>
<WORD coords="2636,4202,2691,4162,4202">is</WORD>
<WORD coords="2731,4216,3008,4162,4202">generated</WORD>
<WORD coords="3044,4202,3167,4162,4202">from</WORD>
<WORD coords="3203,4202,3294,4162,4202">the</WORD>
<WORD coords="3335,4216,3516,4162,4202">cipher</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1049,4257,1071,4234,4266">*</WORD>
<WORD coords="1108,4289,1294,4239,4275">output</WORD>
<WORD coords="1330,4275,1453,4234,4275">from</WORD>
<WORD coords="1489,4275,1579,4234,4275">the</WORD>
<WORD coords="1620,4289,1865,4234,4275">previous</WORD>
<WORD coords="1906,4275,2078,4234,4275">block.</WORD>
<WORD coords="2124,4275,2214,4239,4275">AES</WORD>
<WORD coords="2251,4275,2500,4234,4275">Standard</WORD>
<WORD coords="2541,4275,2659,4239,4275">FIPS</WORD>
<WORD coords="2696,4275,2981,4239,4275">SPB00-3BA</WORD>
<WORD coords="3017,4289,3262,4234,4275">explains</WORD>
<WORD coords="3298,4275,3421,4248,4275">more</WORD>
<WORD coords="3457,4275,3516,4248,4275">on</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1049,4329,1071,4307,4345">*</WORD>
<WORD coords="1112,4361,1421,4307,4348">generation</WORD>
<WORD coords="1457,4348,1517,4307,4348">of</WORD>
<WORD coords="1557,4361,1897,4307,4348">init_vector</WORD>
<WORD coords="1934,4348,2024,4307,4348">for</WORD>
<WORD coords="2061,4348,2183,4307,4348">each</WORD>
<WORD coords="2223,4348,2378,4307,4348">block</WORD>
<WORD coords="2414,4348,2468,4307,4348">in</WORD>
<WORD coords="2506,4348,2786,4307,4348">different</WORD>
<WORD coords="2822,4348,2913,4311,4348">CFB</WORD>
<WORD coords="2949,4348,3103,4307,4348">modes</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1049,4425,1104,4379,4425">V</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1017,4506,1892,4452,4493">init_vector_temip[byte_count]</WORD>
<WORD coords="1934,4484,1965,4470,4488">=</WORD>
<WORD coords="2033,4506,2341,4452,4493">cipherText</WORD>
<WORD coords="2355,4506,2400,4452,4506">[(</WORD>
<WORD coords="2414,4506,2659,4452,4493">cfb_byte</WORD>
<WORD coords="2700,4475,2722,4452,4484">*</WORD>
<WORD coords="2763,4506,2972,4452,4493">index2)</WORD>
<WORD coords="3014,4493,3040,4461,4493">+</WORD>
<WORD coords="3081,4506,3416,4452,4493">byte_count]</WORD>
<WORD coords="3430,4502,3448,4466,4502">j</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="890,4652,913,4597,4652">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="763,4797,786,4742,4797">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="763,4856,822,4815,4856">if</WORD>
<WORD coords="863,4869,1231,4815,4856">(index2_flag</WORD>
<WORD coords="1266,4847,1330,4833,4851">=</WORD>
<WORD coords="1362,4869,1548,4815,4856">true){</WORD>
</LINE>
<LINE>
<WORD coords="890,4928,1071,4888,4928">index2</WORD>
<WORD coords="1109,4919,1139,4906,4923">=</WORD>
<WORD coords="1176,4937,1448,4888,4928">index2+l^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="763,5015,786,4960,5015">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="763,5160,1044,5105,5146">//Sending</WORD>
<WORD coords="1080,5146,1516,5105,5146">initialization</WORD>
<WORD coords="1552,5146,1739,5110,5146">vector</WORD>
<WORD coords="1774,5146,1833,5110,5146">to</WORD>
<WORD coords="1870,5146,1960,5105,5146">the</WORD>
<WORD coords="2001,5160,2184,5105,5146">cipher</WORD>
<WORD coords="2219,5146,2468,5105,5146">function</WORD>
<WORD coords="2505,5146,2564,5110,5146">to</WORD>
<WORD coords="2604,5160,2691,5110,5146">get</WORD>
<WORD coords="2731,5146,2786,5110,5146">16</WORD>
<WORD coords="2827,5160,2945,5105,5146">byte</WORD>
<WORD coords="2981,5160,3167,5110,5146">output</WORD>
<WORD coords="3208,5146,3362,5105,5146">block</WORD>
</LINE>
<LINE>
<WORD coords="763,5232,1638,5178,5219">aes_cipher(init_vector_tem]pj</WORD>
<WORD coords="1720,5232,2437,5178,5219">(plainText+(block_count</WORD>
<WORD coords="2477,5201,2500,5178,5210">*</WORD>
<WORD coords="2541,5232,2813,5178,5219">cfb_byte)</WORD>
<WORD coords="2831,5232,2845,5178,5232">)</WORD>
<WORD coords="2863,5232,2908,5178,5228">);</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="763,5378,1044,5323,5364">//XOR-ing</WORD>
<WORD coords="1080,5378,1263,5323,5364">cipher</WORD>
<WORD coords="1298,5364,1421,5328,5364">text</WORD>
<WORD coords="1471,5364,1516,5323,5364">&apos;s</WORD>
<WORD coords="1534,5337,1539,5323,5337">1</WORD>
<WORD coords="1588,5364,1706,5323,5364">bits</WORD>
<WORD coords="1743,5364,1865,5323,5364">with</WORD>
<WORD coords="1901,5378,2087,5328,5364">output</WORD>
<WORD coords="2128,5364,2282,5323,5364">block</WORD>
<WORD coords="2319,5364,2341,5337,5364">s</WORD>
<WORD coords="2382,5364,2500,5323,5364">bits</WORD>
</LINE>
<LINE>
<WORD coords="758,5450,1198,5396,5437">for(byte_count</WORD>
<WORD coords="1235,5427,1266,5414,5432">=</WORD>
<WORD coords="1298,5437,1326,5400,5441">0</WORD>
<WORD coords="1334,5446,1352,5409,5446">j</WORD>
<WORD coords="1398,5450,1706,5396,5437">byte_count</WORD>
<WORD coords="1747,5437,1770,5405,5437">&lt;</WORD>
<WORD coords="1811,5450,2083,5396,5437">cfb_b^tej</WORD>
<WORD coords="2128,5450,2564,5396,5437">byte_count-++){</WORD>
</LINE>
<LINE>
<WORD coords="890,5523,1167,5468,5509">plainText</WORD>
<WORD coords="1180,5523,1194,5468,5523">[</WORD>
<WORD coords="1212,5523,1548,5468,5509">(byte_count</WORD>
<WORD coords="1584,5509,1612,5477,5516">+</WORD>
<WORD coords="1656,5523,2024,5468,5509">(block_count</WORD>
<WORD coords="2065,5491,2087,5468,5500">*</WORD>
<WORD coords="2128,5523,2464,5467,5509">cfb_byte)}]</WORD>
<WORD coords="2506,5500,2536,5486,5500">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1144,5595,1452,5541,5582">cipherText</WORD>
<WORD coords="1466,5595,1511,5541,5595">[(</WORD>
<WORD coords="1525,5595,1833,5541,5582">byte_count</WORD>
<WORD coords="1874,5582,1897,5550,5588">+</WORD>
<WORD coords="1942,5595,2310,5541,5582">(block_count</WORD>
<WORD coords="2350,5564,2373,5541,5573">*</WORD>
<WORD coords="2414,5595,2750,5541,5582">cfb_byte))]</WORD>
<WORD coords="2760,5564,2786,5545,5564">A</WORD>
</LINE>
<LINE>
<WORD coords="1144,5668,1421,5614,5654">plainText</WORD>
<WORD coords="1434,5668,1448,5614,5668">[</WORD>
<WORD coords="1466,5668,1802,5614,5654">(byte_count</WORD>
<WORD coords="1838,5654,1869,5623,5661">+</WORD>
<WORD coords="1910,5668,2278,5614,5654">(block_count</WORD>
<WORD coords="2319,5636,2341,5614,5645">*</WORD>
<WORD coords="2382,5668,2750,5614,5654">cfb_byte))]^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="764,5741,786,5686,5741">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711421">
<PARAGRAPH>
<LINE>
<WORD coords="636,5886,659,5831,5886">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="586,6265,905,6202,6264">Software</WORD>
<WORD coords="940,6281,1186,6202,6263">Library</WORD>
<WORD coords="1213,6265,1307,6202,6263">for</WORD>
<WORD coords="1333,6265,1661,6202,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6202,6263">Encryption</WORD>
<WORD coords="2109,6265,2238,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6202,6264">Decryption</WORD>
<WORD coords="2693,6280,3257,6202,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3536,6202,6263">NOTE]</WORD>
<WORD coords="4243,6295,4257,6278,6295">^</WORD>
<WORD coords="4415,6295,4643,6193,6295">fT!©!</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0017.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0018.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0018.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,571,419,499,571">4.4</WORD>
<WORD coords="587,593,907,497,573">Output</WORD>
<WORD coords="943,573,1397,497,572">Feedback</WORD>
<WORD coords="1435,573,1685,497,572">Mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,719,723,655,717">The</WORD>
<WORD coords="753,735,997,655,719">Output</WORD>
<WORD coords="1029,719,1387,655,718">Feedback</WORD>
<WORD coords="1417,719,1615,655,718">mode</WORD>
<WORD coords="1643,719,1939,655,718">features</WORD>
<WORD coords="1967,719,2077,655,718">the</WORD>
<WORD coords="2107,719,2441,655,718">feedback</WORD>
<WORD coords="2469,719,2535,655,718">of</WORD>
<WORD coords="2561,719,2671,655,718">the</WORD>
<WORD coords="2699,735,2927,661,719">output</WORD>
<WORD coords="2957,719,3185,655,718">blocks</WORD>
<WORD coords="3215,719,3279,655,718">of</WORD>
<WORD coords="3305,719,3417,655,718">the</WORD>
<WORD coords="3445,719,3715,655,717">forward</WORD>
<WORD coords="3745,735,3969,655,717">cipher</WORD>
<WORD coords="3995,719,4279,655,718">function</WORD>
<WORD coords="4313,717,4367,655,717">in</WORD>
<WORD coords="4399,719,4571,655,718">each</WORD>
</LINE>
<LINE>
<WORD coords="587,827,775,765,826">block</WORD>
<WORD coords="807,827,931,765,826">into</WORD>
<WORD coords="957,827,1069,765,826">the</WORD>
<WORD coords="1101,843,1275,765,826">input</WORD>
<WORD coords="1303,827,1493,765,826">block</WORD>
<WORD coords="1521,827,1585,765,826">of</WORD>
<WORD coords="1611,827,1721,765,826">the</WORD>
<WORD coords="1749,827,2021,765,825">forward</WORD>
<WORD coords="2051,843,2275,765,825">cipher</WORD>
<WORD coords="2299,827,2585,763,826">function</WORD>
<WORD coords="2617,827,2681,765,826">of</WORD>
<WORD coords="2707,827,2819,765,826">the</WORD>
<WORD coords="2847,827,3247,765,826">successive</WORD>
<WORD coords="3279,827,3529,765,826">blocks.</WORD>
<WORD coords="3569,827,3711,763,825">Like</WORD>
<WORD coords="3737,827,3849,765,826">the</WORD>
<WORD coords="3879,827,4037,763,825">CFB</WORD>
<WORD coords="4069,827,4199,765,826">and</WORD>
<WORD coords="4231,827,4399,763,826">CBC</WORD>
<WORD coords="4431,837,4651,765,826">mode,</WORD>
</LINE>
<LINE>
<WORD coords="583,937,709,873,936">this</WORD>
<WORD coords="741,937,941,873,936">mode</WORD>
<WORD coords="971,937,1115,873,936">also</WORD>
<WORD coords="1149,953,1439,873,936">requires</WORD>
<WORD coords="1469,937,1511,889,937">a</WORD>
<WORD coords="1541,953,1783,873,936">unique</WORD>
<WORD coords="1817,937,2241,873,935">Initialization</WORD>
<WORD coords="2271,937,2495,879,936">vector</WORD>
<WORD coords="2523,935,2577,873,935">in</WORD>
<WORD coords="2611,937,2893,873,936">addition</WORD>
<WORD coords="2921,937,2987,879,937">to</WORD>
<WORD coords="3015,937,3127,873,936">the</WORD>
<WORD coords="3157,953,3461,873,936">plaintext</WORD>
<WORD coords="3489,937,3621,873,936">and</WORD>
<WORD coords="3651,953,3873,873,935">cipher</WORD>
<WORD coords="3903,953,4043,873,936">key.</WORD>
<WORD coords="4081,935,4137,873,935">In</WORD>
<WORD coords="4171,947,4473,873,936">addition,</WORD>
<WORD coords="4505,937,4617,873,936">the</WORD>
</LINE>
<LINE>
<WORD coords="585,1043,749,979,1041">OFB</WORD>
<WORD coords="783,1043,981,981,1042">mode</WORD>
<WORD coords="1015,1059,1305,979,1042">requires</WORD>
<WORD coords="1333,1043,1469,981,1042">that</WORD>
<WORD coords="1495,1043,1607,981,1042">the</WORD>
<WORD coords="1641,1041,1709,981,1041">IV</WORD>
<WORD coords="1741,1043,1791,981,1042">is</WORD>
<WORD coords="1821,1043,1863,997,1043">a</WORD>
<WORD coords="1893,1053,2131,995,1042">nonce,</WORD>
<WORD coords="2161,1043,2297,981,1042">that</WORD>
<WORD coords="2327,1053,2399,981,1042">is,</WORD>
<WORD coords="2429,1043,2541,981,1042">the</WORD>
<WORD coords="2575,1041,2645,981,1041">IV</WORD>
<WORD coords="2675,1043,2849,985,1042">must</WORD>
<WORD coords="2879,1043,2963,981,1043">be</WORD>
<WORD coords="2993,1059,3235,981,1042">unique</WORD>
<WORD coords="3263,1043,3359,981,1041">for</WORD>
<WORD coords="3385,1043,3557,981,1042">each</WORD>
<WORD coords="3589,1043,3937,981,1042">execution</WORD>
<WORD coords="3967,1043,4033,981,1042">of</WORD>
<WORD coords="4059,1043,4169,981,1042">the</WORD>
<WORD coords="4203,1043,4403,981,1042">mode</WORD>
<WORD coords="4431,1043,4571,981,1041">with</WORD>
</LINE>
<LINE>
<WORD coords="583,1153,695,1091,1152">the</WORD>
<WORD coords="723,1169,915,1091,1151">given</WORD>
<WORD coords="947,1169,1089,1091,1152">key.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,1367,453,1307,1367">4.4.1</WORD>
<WORD coords="587,1369,753,1305,1367">OFB</WORD>
<WORD coords="787,1385,1211,1305,1367">Encryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,1511,677,1449,1510">As</WORD>
<WORD coords="707,1509,761,1449,1509">in</WORD>
<WORD coords="791,1511,903,1449,1510">the</WORD>
<WORD coords="933,1511,1091,1447,1509">CFB</WORD>
<WORD coords="1123,1521,1343,1449,1510">mode,</WORD>
<WORD coords="1373,1511,1485,1449,1510">the</WORD>
<WORD coords="1519,1509,1589,1449,1509">IV</WORD>
<WORD coords="1619,1511,1671,1449,1510">is</WORD>
<WORD coords="1701,1527,1891,1449,1509">given</WORD>
<WORD coords="1923,1511,2005,1465,1511">as</WORD>
<WORD coords="2033,1511,2145,1449,1510">the</WORD>
<WORD coords="2173,1511,2303,1447,1509">first</WORD>
<WORD coords="2333,1527,2507,1447,1510">input</WORD>
<WORD coords="2537,1511,2745,1449,1510">block.</WORD>
<WORD coords="2775,1511,2927,1447,1509">This</WORD>
<WORD coords="2959,1511,3011,1449,1510">is</WORD>
<WORD coords="3041,1527,3301,1449,1510">applied</WORD>
<WORD coords="3329,1511,3393,1453,1511">to</WORD>
<WORD coords="3421,1511,3531,1449,1510">the</WORD>
<WORD coords="3561,1511,3833,1447,1509">forward</WORD>
<WORD coords="3863,1527,4087,1449,1509">cipher</WORD>
<WORD coords="4111,1511,4397,1447,1510">function</WORD>
<WORD coords="4425,1511,4491,1453,1511">to</WORD>
</LINE>
<LINE>
<WORD coords="585,1635,907,1561,1618">generate</WORD>
<WORD coords="935,1619,1047,1555,1618">the</WORD>
<WORD coords="1075,1619,1205,1555,1617">first</WORD>
<WORD coords="1233,1635,1459,1561,1619">output</WORD>
<WORD coords="1489,1619,1697,1555,1618">block.</WORD>
<WORD coords="1729,1619,1867,1555,1617">The</WORD>
<WORD coords="1897,1635,2123,1561,1619">output</WORD>
<WORD coords="2153,1619,2339,1555,1618">block</WORD>
<WORD coords="2371,1619,2421,1555,1618">is</WORD>
<WORD coords="2451,1619,2747,1555,1618">XOR-ed</WORD>
<WORD coords="2775,1619,2917,1555,1617">with</WORD>
<WORD coords="2945,1619,3057,1555,1617">the</WORD>
<WORD coords="3089,1635,3255,1555,1617">plain</WORD>
<WORD coords="3283,1619,3415,1561,1618">text</WORD>
<WORD coords="3441,1619,3507,1561,1619">to</WORD>
<WORD coords="3535,1635,3859,1561,1618">generate</WORD>
<WORD coords="3885,1619,3997,1555,1618">the</WORD>
<WORD coords="4025,1619,4157,1555,1617">first</WORD>
<WORD coords="4187,1619,4373,1555,1618">block</WORD>
<WORD coords="4401,1619,4467,1555,1618">of</WORD>
</LINE>
<LINE>
<WORD coords="585,1745,807,1665,1727">cipher</WORD>
<WORD coords="831,1729,965,1671,1728">text</WORD>
<WORD coords="993,1745,1237,1671,1729">output.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,1869,723,1805,1867">The</WORD>
<WORD coords="751,1869,883,1805,1867">first</WORD>
<WORD coords="911,1885,1137,1811,1869">output</WORD>
<WORD coords="1165,1869,1355,1805,1868">block</WORD>
<WORD coords="1385,1869,1437,1805,1868">is</WORD>
<WORD coords="1463,1869,1619,1805,1868">then</WORD>
<WORD coords="1649,1885,1841,1805,1867">given</WORD>
<WORD coords="1869,1869,1935,1811,1869">to</WORD>
<WORD coords="1963,1869,2073,1805,1868">the</WORD>
<WORD coords="2103,1869,2375,1805,1867">forward</WORD>
<WORD coords="2405,1885,2629,1805,1867">cipher</WORD>
<WORD coords="2655,1869,2939,1805,1868">function</WORD>
<WORD coords="2967,1869,3033,1811,1869">to</WORD>
<WORD coords="3063,1885,3385,1811,1868">generate</WORD>
<WORD coords="3411,1869,3523,1805,1868">the</WORD>
<WORD coords="3553,1869,3815,1805,1868">second</WORD>
<WORD coords="3845,1885,4073,1811,1868">output</WORD>
<WORD coords="4101,1879,4309,1805,1868">block,</WORD>
<WORD coords="4339,1869,4545,1805,1867">which</WORD>
<WORD coords="4579,1869,4631,1805,1868">is</WORD>
</LINE>
<LINE>
<WORD coords="583,1979,739,1915,1978">then</WORD>
<WORD coords="769,1979,1063,1915,1978">XOR-ed</WORD>
<WORD coords="1093,1979,1233,1915,1977">with</WORD>
<WORD coords="1263,1979,1375,1915,1978">the</WORD>
<WORD coords="1405,1995,1571,1915,1977">plain</WORD>
<WORD coords="1601,1979,1733,1921,1978">text</WORD>
<WORD coords="1759,1979,1823,1921,1979">to</WORD>
<WORD coords="1853,1995,2175,1921,1978">generate</WORD>
<WORD coords="2203,1979,2315,1915,1978">the</WORD>
<WORD coords="2343,1995,2567,1915,1977">cipher</WORD>
<WORD coords="2591,1979,2725,1921,1978">text</WORD>
<WORD coords="2751,1979,3013,1915,1978">second</WORD>
<WORD coords="3045,1979,3253,1915,1978">block.</WORD>
<WORD coords="3283,1979,3423,1915,1977">The</WORD>
<WORD coords="3451,1979,3711,1915,1978">second</WORD>
<WORD coords="3741,1995,3969,1921,1979">output</WORD>
<WORD coords="3999,1979,4187,1915,1978">block</WORD>
<WORD coords="4219,1979,4269,1915,1978">is</WORD>
<WORD coords="4297,1979,4451,1915,1978">then</WORD>
</LINE>
<LINE>
<WORD coords="587,2103,845,2023,2086">applied</WORD>
<WORD coords="875,2087,939,2029,2087">to</WORD>
<WORD coords="967,2087,1077,2023,2086">the</WORD>
<WORD coords="1107,2087,1377,2023,2085">forward</WORD>
<WORD coords="1409,2103,1633,2023,2085">cipher</WORD>
<WORD coords="1659,2087,1943,2023,2086">function</WORD>
<WORD coords="1971,2087,2037,2029,2087">to</WORD>
<WORD coords="2067,2103,2389,2029,2086">generate</WORD>
<WORD coords="2415,2087,2527,2023,2086">the</WORD>
<WORD coords="2555,2087,2711,2023,2085">third</WORD>
<WORD coords="2741,2103,2969,2029,2087">output</WORD>
<WORD coords="2997,2087,3187,2023,2086">block</WORD>
<WORD coords="3215,2087,3345,2023,2085">and</WORD>
<WORD coords="3377,2087,3457,2039,2087">so</WORD>
<WORD coords="3487,2087,3595,2039,2086">on.</WORD>
<WORD coords="3625,2087,3781,2023,2085">This</WORD>
<WORD coords="3811,2087,3937,2039,2086">can</WORD>
<WORD coords="3969,2087,4053,2023,2087">be</WORD>
<WORD coords="4085,2103,4521,2023,2086">represented</WORD>
<WORD coords="4553,2087,4635,2039,2087">as</WORD>
</LINE>
<LINE>
<WORD coords="587,2191,641,2131,2191">in</WORD>
<WORD coords="671,2193,783,2131,2192">the</WORD>
<WORD coords="813,2193,1001,2131,2192">block</WORD>
<WORD coords="1029,2209,1321,2131,2192">diagram</WORD>
<WORD coords="1355,2193,1585,2131,2192">below.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,2407,811,2335,2391">Figure</WORD>
<WORD coords="835,2393,959,2337,2388">4-6.</WORD>
<WORD coords="1105,2393,1257,2335,2391">OFB</WORD>
<WORD coords="1287,2407,1667,2335,2391">Encryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,3775,463,3715,3775">4.4.2</WORD>
<WORD coords="587,3777,753,3713,3775">OFB</WORD>
<WORD coords="787,3793,1211,3715,3776">Decryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,3919,647,3857,3919">In</WORD>
<WORD coords="677,3921,841,3857,3919">OFB</WORD>
<WORD coords="875,3937,1283,3857,3920">Decryption,</WORD>
<WORD coords="1313,3921,1425,3857,3919">the</WORD>
<WORD coords="1459,3919,1529,3857,3919">IV</WORD>
<WORD coords="1559,3921,1611,3857,3920">is</WORD>
<WORD coords="1641,3937,1831,3857,3919">given</WORD>
<WORD coords="1863,3921,1945,3873,3921">as</WORD>
<WORD coords="1971,3921,2081,3857,3920">the</WORD>
<WORD coords="2109,3921,2241,3857,3919">first</WORD>
<WORD coords="2271,3937,2445,3857,3920">input</WORD>
<WORD coords="2475,3921,2663,3857,3920">block</WORD>
<WORD coords="2689,3921,2755,3863,3921">to</WORD>
<WORD coords="2781,3921,2891,3857,3920">the</WORD>
<WORD coords="2921,3921,3191,3857,3919">forward</WORD>
<WORD coords="3221,3937,3445,3857,3919">cipher</WORD>
<WORD coords="3471,3921,3755,3857,3920">function</WORD>
<WORD coords="3785,3921,3851,3863,3921">to</WORD>
<WORD coords="3879,3937,4203,3863,3920">generate</WORD>
<WORD coords="4229,3921,4341,3857,3920">the</WORD>
<WORD coords="4369,3921,4501,3857,3919">first</WORD>
</LINE>
<LINE>
<WORD coords="585,4045,813,3971,4028">output</WORD>
<WORD coords="841,4029,1049,3965,4028">block.</WORD>
<WORD coords="1079,4029,1219,3965,4027">The</WORD>
<WORD coords="1247,4029,1379,3965,4027">first</WORD>
<WORD coords="1405,4045,1631,3971,4029">output</WORD>
<WORD coords="1661,4029,1851,3965,4028">block</WORD>
<WORD coords="1881,4029,1933,3965,4028">is</WORD>
<WORD coords="1961,4029,2255,3965,4028">XOR-ed</WORD>
<WORD coords="2283,4029,2425,3965,4027">with</WORD>
<WORD coords="2453,4029,2565,3965,4028">the</WORD>
<WORD coords="2595,4045,2817,3965,4027">cipher</WORD>
<WORD coords="2841,4029,2975,3971,4028">text</WORD>
<WORD coords="2999,4029,3065,3971,4029">to</WORD>
<WORD coords="3095,4045,3417,3971,4028">generate</WORD>
<WORD coords="3445,4029,3555,3965,4028">the</WORD>
<WORD coords="3585,4029,3717,3965,4027">first</WORD>
<WORD coords="3747,4045,3909,3965,4027">plain</WORD>
<WORD coords="3939,4029,4071,3971,4028">text</WORD>
<WORD coords="4101,4029,4309,3965,4028">block.</WORD>
<WORD coords="4339,4029,4479,3965,4027">The</WORD>
<WORD coords="4505,4029,4637,3965,4027">first</WORD>
</LINE>
<LINE>
<WORD coords="585,4155,813,4081,4139">output</WORD>
<WORD coords="841,4139,1029,4075,4138">block</WORD>
<WORD coords="1061,4139,1111,4075,4138">is</WORD>
<WORD coords="1141,4155,1331,4075,4137">given</WORD>
<WORD coords="1359,4139,1425,4081,4139">to</WORD>
<WORD coords="1453,4139,1565,4075,4138">the</WORD>
<WORD coords="1599,4139,1891,4075,4137">Forward</WORD>
<WORD coords="1921,4155,2145,4075,4137">cipher</WORD>
<WORD coords="2171,4139,2455,4075,4138">function</WORD>
<WORD coords="2485,4139,2549,4081,4139">to</WORD>
<WORD coords="2581,4155,2903,4081,4138">generate</WORD>
<WORD coords="2929,4139,3041,4075,4138">the</WORD>
<WORD coords="3069,4139,3331,4075,4138">second</WORD>
<WORD coords="3361,4155,3589,4081,4139">output</WORD>
<WORD coords="3619,4149,3825,4075,4138">block,</WORD>
<WORD coords="3857,4139,4011,4075,4138">then</WORD>
<WORD coords="4041,4139,4341,4075,4138">XOR-ed</WORD>
<WORD coords="4369,4139,4511,4075,4137">with</WORD>
<WORD coords="4539,4139,4651,4075,4138">the</WORD>
</LINE>
<LINE>
<WORD coords="585,4263,807,4183,4245">cipher</WORD>
<WORD coords="831,4247,965,4189,4245">text</WORD>
<WORD coords="991,4247,1055,4189,4247">to</WORD>
<WORD coords="1085,4263,1407,4189,4246">generate</WORD>
<WORD coords="1435,4247,1545,4183,4246">the</WORD>
<WORD coords="1575,4247,1837,4183,4246">second</WORD>
<WORD coords="1869,4247,2057,4183,4246">block</WORD>
<WORD coords="2089,4245,2141,4183,4245">in</WORD>
<WORD coords="2175,4263,2339,4183,4245">plain</WORD>
<WORD coords="2369,4247,2501,4189,4245">text</WORD>
<WORD coords="2529,4247,2661,4183,4246">and</WORD>
<WORD coords="2691,4247,2773,4199,4247">so</WORD>
<WORD coords="2801,4247,2911,4199,4246">on.</WORD>
<WORD coords="2941,4247,3081,4183,4245">The</WORD>
<WORD coords="3109,4247,3275,4183,4245">OFB</WORD>
<WORD coords="3303,4263,3681,4183,4246">decryption</WORD>
<WORD coords="3711,4247,3837,4199,4246">can</WORD>
<WORD coords="3871,4247,3955,4183,4247">be</WORD>
<WORD coords="3989,4247,4335,4183,4246">illustrated</WORD>
<WORD coords="4365,4247,4447,4199,4247">as</WORD>
</LINE>
<LINE>
<WORD coords="587,4353,815,4291,4352">below.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,4567,811,4495,4551">Figure</WORD>
<WORD coords="835,4551,959,4497,4548">4-7.</WORD>
<WORD coords="1105,4553,1257,4495,4551">OFB</WORD>
<WORD coords="1287,4567,1667,4495,4552">Decryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1085,4738,1146,4677,4738">f</WORD>
<WORD coords="1166,4738,1559,4683,4737">Initialization</WORD>
<WORD coords="1582,4738,1643,4677,4738">A</WORD>
</LINE>
<LINE>
<WORD coords="1090,4841,1146,4794,4841">V</WORD>
<WORD coords="1259,4835,1466,4786,4834">vector</WORD>
<WORD coords="1583,4841,1646,4755,4841">J</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1352,4935,1358,4921,4935">’</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1371,4934,1376,4924,4934">■</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1259,5039,1469,4970,5026">Cipher</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1227,5122,1496,5066,5122">function</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1265,5347,1359,5267,5331">,r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1373,5261,1379,5241,5261">f</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1289,5397,1359,5337,5397">V</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1353,5555,1358,5533,5555">\</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1371,5397,1439,5325,5397">y</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1185,5660,1335,5605,5659">Plain</WORD>
<WORD coords="1356,5660,1487,5608,5659">Text</WORD>
<WORD coords="1512,5660,1542,5607,5660">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2211,5675,2363,5619,5675">Plain</WORD>
<WORD coords="2383,5675,2513,5621,5675">Text</WORD>
<WORD coords="2535,5675,2567,5621,5675">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4579,6273,4659,6211,6272">19</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0018.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0019.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0019.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="585,561,723,497,559">The</WORD>
<WORD coords="753,561,917,497,559">OFB</WORD>
<WORD coords="949,561,1149,497,560">mode</WORD>
<WORD coords="1181,577,1473,497,560">requires</WORD>
<WORD coords="1503,561,1543,513,561">a</WORD>
<WORD coords="1575,577,1815,497,560">unique</WORD>
<WORD coords="1849,559,1919,497,559">IV</WORD>
<WORD coords="1945,561,2041,497,559">for</WORD>
<WORD coords="2067,577,2267,513,560">every</WORD>
<WORD coords="2297,577,2625,513,560">message</WORD>
<WORD coords="2653,561,2789,497,560">that</WORD>
<WORD coords="2819,561,2871,497,560">is</WORD>
<WORD coords="2899,561,3057,513,560">ever</WORD>
<WORD coords="3087,577,3443,497,560">encrypted</WORD>
<WORD coords="3475,561,3683,497,560">under</WORD>
<WORD coords="3707,561,3819,497,560">the</WORD>
<WORD coords="3849,577,4039,497,559">given</WORD>
<WORD coords="4073,577,4213,497,560">key.</WORD>
<WORD coords="4251,559,4289,497,559">If</WORD>
<WORD coords="4313,561,4425,497,560">the</WORD>
<WORD coords="4453,561,4653,513,560">same</WORD>
</LINE>
<LINE>
<WORD coords="591,667,659,605,667">IV</WORD>
<WORD coords="689,669,741,605,668">is</WORD>
<WORD coords="773,669,943,605,669">used</WORD>
<WORD coords="971,669,1067,605,667">for</WORD>
<WORD coords="1091,669,1203,605,667">the</WORD>
<WORD coords="1233,685,1609,605,668">encryption</WORD>
<WORD coords="1641,669,1705,605,668">of</WORD>
<WORD coords="1737,669,1917,621,668">more</WORD>
<WORD coords="1945,669,2101,605,668">than</WORD>
<WORD coords="2131,669,2265,621,668">one</WORD>
<WORD coords="2297,685,2645,621,668">message,</WORD>
<WORD coords="2675,669,2831,605,668">then</WORD>
<WORD coords="2861,669,2973,605,668">the</WORD>
<WORD coords="3001,685,3503,605,668">confidentiality</WORD>
<WORD coords="3531,669,3597,605,668">of</WORD>
<WORD coords="3623,669,3823,605,668">those</WORD>
<WORD coords="3855,685,4227,621,668">messages</WORD>
<WORD coords="4259,685,4411,621,668">may</WORD>
<WORD coords="4437,669,4521,605,669">be</WORD>
</LINE>
<LINE>
<WORD coords="585,793,1099,715,776">compromised.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,993,463,929,991">4.4.3</WORD>
<WORD coords="587,993,639,929,993">C</WORD>
<WORD coords="671,1009,1275,929,991">Implementation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,1135,723,1071,1133">The</WORD>
<WORD coords="753,1135,917,1071,1133">OFB</WORD>
<WORD coords="949,1135,1149,1073,1134">mode</WORD>
<WORD coords="1181,1135,1307,1073,1134">has</WORD>
<WORD coords="1337,1135,1511,1073,1134">been</WORD>
<WORD coords="1547,1151,2013,1073,1134">implemented</WORD>
<WORD coords="2045,1133,2101,1071,1133">in</WORD>
<WORD coords="2129,1135,2241,1073,1134">the</WORD>
<WORD coords="2271,1151,2511,1077,1134">crypt.c</WORD>
<WORD coords="2537,1135,2659,1071,1133">file.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,1279,723,1215,1277">The</WORD>
<WORD coords="753,1279,917,1215,1277">OFB</WORD>
<WORD coords="947,1295,1321,1215,1278">encryption</WORD>
<WORD coords="1353,1279,1637,1215,1278">function</WORD>
<WORD coords="1667,1279,1863,1215,1278">takes</WORD>
<WORD coords="1889,1279,2001,1215,1277">the</WORD>
<WORD coords="2031,1295,2197,1215,1277">plain</WORD>
<WORD coords="2227,1279,2359,1221,1278">text</WORD>
<WORD coords="2387,1295,2589,1231,1278">array,</WORD>
<WORD coords="2623,1295,2809,1231,1278">array</WORD>
<WORD coords="2833,1279,2929,1215,1277">for</WORD>
<WORD coords="2953,1279,3065,1215,1278">the</WORD>
<WORD coords="3095,1295,3317,1215,1277">cipher</WORD>
<WORD coords="3341,1289,3491,1221,1278">text,</WORD>
<WORD coords="3527,1279,3947,1215,1277">initialization</WORD>
<WORD coords="3977,1289,4223,1221,1278">vector,</WORD>
<WORD coords="4255,1279,4387,1215,1278">and</WORD>
<WORD coords="4413,1279,4525,1215,1277">the</WORD>
</LINE>
<LINE>
<WORD coords="585,1387,727,1323,1386">size</WORD>
<WORD coords="757,1387,839,1339,1387">as</WORD>
<WORD coords="869,1403,1103,1323,1386">inputs.</WORD>
<WORD coords="1133,1387,1273,1323,1385">The</WORD>
<WORD coords="1305,1387,1581,1323,1386">number</WORD>
<WORD coords="1609,1387,1673,1323,1386">of</WORD>
<WORD coords="1705,1387,1933,1323,1386">blocks</WORD>
<WORD coords="1965,1385,2019,1323,1385">in</WORD>
<WORD coords="2047,1387,2159,1323,1386">the</WORD>
<WORD coords="2191,1403,2365,1323,1386">input</WORD>
<WORD coords="2393,1403,2559,1323,1385">plain</WORD>
<WORD coords="2589,1387,2721,1329,1386">text</WORD>
<WORD coords="2747,1387,2905,1323,1387">data</WORD>
<WORD coords="2935,1387,2987,1323,1386">is</WORD>
<WORD coords="3015,1387,3383,1323,1386">calculated</WORD>
<WORD coords="3413,1387,3571,1323,1385">from</WORD>
<WORD coords="3601,1387,3713,1323,1386">the</WORD>
<WORD coords="3741,1387,3883,1323,1386">size</WORD>
<WORD coords="3915,1403,4307,1329,1386">parameter.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,1529,707,1465,1527">For</WORD>
<WORD coords="731,1529,843,1465,1528">the</WORD>
<WORD coords="873,1545,1247,1465,1528">encryption</WORD>
<WORD coords="1279,1529,1343,1465,1528">of</WORD>
<WORD coords="1369,1529,1481,1465,1528">the</WORD>
<WORD coords="1511,1529,1643,1465,1527">first</WORD>
<WORD coords="1671,1539,1879,1465,1528">block,</WORD>
<WORD coords="1909,1529,2019,1465,1528">the</WORD>
<WORD coords="2051,1529,2471,1465,1527">initialization</WORD>
<WORD coords="2501,1529,2725,1471,1528">vector</WORD>
<WORD coords="2755,1529,2807,1465,1528">is</WORD>
<WORD coords="2837,1545,3097,1465,1528">applied</WORD>
<WORD coords="3125,1529,3191,1471,1529">to</WORD>
<WORD coords="3217,1529,3329,1465,1528">the</WORD>
<WORD coords="3359,1545,3761,1465,1528">aes_cipher</WORD>
<WORD coords="3787,1529,4073,1465,1528">function</WORD>
<WORD coords="4101,1529,4167,1471,1528">to</WORD>
<WORD coords="4197,1529,4415,1465,1528">obtain</WORD>
<WORD coords="4445,1529,4555,1465,1528">the</WORD>
</LINE>
<LINE>
<WORD coords="585,1637,715,1573,1635">first</WORD>
<WORD coords="743,1653,969,1579,1637">output</WORD>
<WORD coords="999,1647,1205,1573,1636">block,</WORD>
<WORD coords="1235,1637,1441,1573,1635">which</WORD>
<WORD coords="1477,1637,1527,1573,1636">is</WORD>
<WORD coords="1555,1637,1711,1573,1636">then</WORD>
<WORD coords="1741,1637,2037,1573,1636">XOR-ed</WORD>
<WORD coords="2065,1637,2207,1573,1635">with</WORD>
<WORD coords="2237,1637,2349,1573,1636">the</WORD>
<WORD coords="2379,1653,2545,1573,1635">plain</WORD>
<WORD coords="2575,1637,2707,1579,1636">text</WORD>
<WORD coords="2731,1637,2797,1579,1637">to</WORD>
<WORD coords="2825,1653,3149,1579,1636">generate</WORD>
<WORD coords="3177,1637,3289,1573,1636">the</WORD>
<WORD coords="3317,1653,3541,1573,1635">cipher</WORD>
<WORD coords="3565,1637,3717,1579,1636">text.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,1779,835,1715,1777">Similar</WORD>
<WORD coords="865,1795,1147,1731,1778">process</WORD>
<WORD coords="1179,1779,1231,1715,1778">is</WORD>
<WORD coords="1261,1795,1629,1715,1778">applicable</WORD>
<WORD coords="1659,1779,1753,1715,1777">for</WORD>
<WORD coords="1779,1779,1889,1715,1778">the</WORD>
<WORD coords="1917,1795,2317,1715,1778">decryption.</WORD>
<WORD coords="2347,1779,2487,1715,1777">The</WORD>
<WORD coords="2519,1795,3071,1715,1777">implementation</WORD>
<WORD coords="3103,1779,3169,1715,1778">of</WORD>
<WORD coords="3197,1779,3361,1715,1777">OFB</WORD>
<WORD coords="3391,1795,3765,1715,1778">encryption</WORD>
<WORD coords="3797,1779,3929,1715,1778">and</WORD>
<WORD coords="3957,1795,4335,1715,1778">decryption</WORD>
<WORD coords="4369,1779,4419,1715,1778">is</WORD>
<WORD coords="4449,1779,4531,1731,1779">as</WORD>
</LINE>
<LINE>
<WORD coords="585,1885,855,1823,1883">follows:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,2020,747,1969,2020">void</WORD>
<WORD coords="793,2020,868,1969,2020">of</WORD>
<WORD coords="879,2037,1228,1969,2020">b_encrypt</WORD>
<WORD coords="1245,2037,1548,1969,2020">(uintS_t</WORD>
<WORD coords="1600,2037,1989,1969,2020">*plainText</WORD>
<WORD coords="2000,2032,2023,2009,2032">:h</WORD>
<WORD coords="2080,2037,2349,1969,2020">uintS_t</WORD>
<WORD coords="2401,2037,2830,1969,2020">*cipherTe&gt;ct</WORD>
<WORD coords="2841,2032,2864,2009,2032">^</WORD>
<WORD coords="2921,2037,3190,1969,2020">uintB_t</WORD>
<WORD coords="3242,2037,3711,1969,2020">*init_vector</WORD>
<WORD coords="3722,2032,3745,2009,2032">J</WORD>
<WORD coords="3802,2037,4111,1969,2020">uint32_t</WORD>
<WORD coords="4163,2037,4346,1969,2020">size)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="599,2131,629,2061,2131">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,2220,1068,2152,2203">uint32_t</WORD>
<WORD coords="1119,2220,1749,2152,2203">input_block_size</WORD>
<WORD coords="1795,2192,1834,2175,2197">=</WORD>
<WORD coords="1874,2215,1943,2158,2203">Gj</WORD>
</LINE>
<LINE>
<WORD coords="759,2312,1028,2243,2295">uintS_t</WORD>
<WORD coords="1079,2312,1508,2243,2295">blcck_count</WORD>
<WORD coords="1559,2283,1592,2266,2289">=</WORD>
<WORD coords="1634,2306,1703,2249,2302">0^</WORD>
<WORD coords="1760,2312,2149,2243,2295">byte_count</WORD>
<WORD coords="2199,2283,2235,2266,2283">=</WORD>
</LINE>
<LINE>
<WORD coords="759,2404,1028,2335,2386">uintS_t</WORD>
<WORD coords="1079,2404,1663,2335,2386">input_block[16]</WORD>
<WORD coords="1718,2375,1751,2358,2375">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,2575,1188,2518,2569">//Calculate</WORD>
<WORD coords="1234,2569,1348,2518,2569">the</WORD>
<WORD coords="1400,2569,1628,2518,2569">number</WORD>
<WORD coords="1674,2569,1750,2518,2569">of</WORD>
<WORD coords="1800,2569,2029,2518,2569">blocks</WORD>
</LINE>
<LINE>
<WORD coords="759,2678,1388,2609,2661">input_block_size</WORD>
<WORD coords="1439,2649,1474,2632,2663">=</WORD>
<WORD coords="1525,2678,1708,2609,2661">(size</WORD>
<WORD coords="1760,2667,1789,2609,2667">/</WORD>
<WORD coords="1834,2678,2389,2615,2661">AES_BLGCK_5IZE</WORD>
<WORD coords="2446,2678,2504,2609,2675">)j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,2861,1308,2792,2844">for(byte_count</WORD>
<WORD coords="1355,2833,1394,2815,2833">=</WORD>
<WORD coords="1434,2855,1503,2798,2847">■&amp;_;</WORD>
<WORD coords="1560,2861,1949,2792,2844">byte_count</WORD>
<WORD coords="2000,2844,2029,2804,2844">&lt;</WORD>
<WORD coords="2075,2861,2664,2798,2844">AES_B1QCK_5IZE;</WORD>
<WORD coords="2721,2861,3224,2792,2844">byte_count++)</WORD>
<WORD coords="3242,2861,3270,2792,2861">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="919,2953,1233,2884,2935">//Moving</WORD>
<WORD coords="1279,2935,1549,2884,2935">initial</WORD>
<WORD coords="1594,2935,1829,2890,2935">vector</WORD>
<WORD coords="1874,2935,1950,2890,2935">to</WORD>
<WORD coords="2000,2935,2029,2901,2935">a</WORD>
<WORD coords="2075,2953,2229,2890,2935">temp</WORD>
<WORD coords="2281,2953,2471,2901,2935">array</WORD>
</LINE>
<LINE>
<WORD coords="919,3044,1823,2976,3027">input_block[byte_count]</WORD>
<WORD coords="1876,3016,1914,2998,3021">=</WORD>
<WORD coords="1960,3044,2390,2976,3027">init_vector</WORD>
<WORD coords="2406,3044,2904,2976,3027">[byte_count];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,3137,789,3067,3137">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,3319,1228,3250,3302">//Encryption</WORD>
<WORD coords="1274,3302,1348,3250,3302">of</WORD>
<WORD coords="1400,3319,1753,3250,3302">remaining</WORD>
<WORD coords="1800,3302,2029,3250,3302">blocks</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,3393,868,3342,3393">for</WORD>
<WORD coords="885,3410,1348,3342,3393">(blcck_count</WORD>
<WORD coords="1394,3382,1434,3364,3387">=</WORD>
<WORD coords="1474,3410,1990,3342,3393">0;block_count</WORD>
<WORD coords="2040,3393,2069,3353,3393">&lt;</WORD>
<WORD coords="2120,3410,2750,3342,3393">input_block_size</WORD>
<WORD coords="2761,3405,2784,3359,3405">j</WORD>
<WORD coords="2841,3410,3430,3342,3393">block_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="919,3593,1269,3525,3576">//Sending</WORD>
<WORD coords="1319,3576,1869,3525,3576">initialization</WORD>
<WORD coords="1914,3576,2149,3530,3576">vector</WORD>
<WORD coords="2195,3576,2269,3530,3576">to</WORD>
<WORD coords="2315,3576,2429,3525,3576">the</WORD>
<WORD coords="2481,3593,2710,3525,3576">cipher</WORD>
<WORD coords="2755,3576,3070,3525,3576">function</WORD>
<WORD coords="3116,3576,3190,3530,3576">to</WORD>
<WORD coords="3242,3593,3350,3530,3576">get</WORD>
<WORD coords="3402,3576,3470,3530,3576">16</WORD>
<WORD coords="3522,3593,3671,3525,3576">byte</WORD>
<WORD coords="3716,3593,3951,3530,3576">output</WORD>
<WORD coords="4002,3576,4197,3525,3576">block</WORD>
</LINE>
<LINE>
<WORD coords="919,3685,1823,3616,3668">aes_cipher(input_blockj</WORD>
<WORD coords="1926,3685,2870,3616,3668">(cipherText+(block_count</WORD>
<WORD coords="2921,3645,2950,3616,3656">*</WORD>
<WORD coords="2996,3685,3585,3616,3668">AES_BLOCK_SIZE)</WORD>
<WORD coords="3608,3685,3625,3616,3685">)</WORD>
<WORD coords="3648,3685,3665,3616,0">)</WORD>
<WORD coords="3682,3679,3705,3656,3679">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="919,3856,1108,3799,3851">//XQR</WORD>
<WORD coords="1159,3868,1388,3799,3851">cipher</WORD>
<WORD coords="1434,3868,1668,3805,3851">output</WORD>
<WORD coords="1714,3851,1869,3799,3851">with</WORD>
<WORD coords="1960,3868,2149,3799,3851">plain</WORD>
<WORD coords="2195,3851,2349,3805,3851">text</WORD>
<WORD coords="2395,3851,2469,3805,3851">to</WORD>
<WORD coords="2521,3868,2830,3799,3851">complete</WORD>
<WORD coords="2876,3851,2990,3799,3851">the</WORD>
<WORD coords="3037,3868,3430,3799,3851">encryption</WORD>
<WORD coords="3476,3851,3591,3799,3851">for</WORD>
<WORD coords="3642,3851,3671,3816,3851">a</WORD>
<WORD coords="3722,3851,3917,3799,3851">block</WORD>
</LINE>
<LINE>
<WORD coords="919,3942,1028,3891,3942">for</WORD>
<WORD coords="1045,3959,1468,3891,3942">(byte_count</WORD>
<WORD coords="1520,3931,1552,3914,3936">=</WORD>
<WORD coords="1594,3954,1663,3896,3950">0;</WORD>
<WORD coords="1720,3959,2109,3891,3942">byte_count</WORD>
<WORD coords="2160,3942,2189,3902,3942">&lt;</WORD>
<WORD coords="2235,3959,2790,3896,3942">AES_BL.GCK_SIZE</WORD>
<WORD coords="2801,3954,2824,3908,3954">j</WORD>
<WORD coords="2881,3959,3430,3891,3942">byte_count++){</WORD>
</LINE>
<LINE>
<WORD coords="1079,4051,1468,3982,4034">cipherTe&gt;ct</WORD>
<WORD coords="1485,4051,1586,3982,4034">[by</WORD>
<WORD coords="1583,4016,1605,3999,4016">r</WORD>
<WORD coords="1605,4051,1950,3988,4034">te_count+</WORD>
<WORD coords="2006,4051,2469,3982,4034">(block_count</WORD>
<WORD coords="2521,4011,2549,3982,4022">*</WORD>
<WORD coords="2595,4051,3184,3982,4034">AES_BLOCK_SIZE)</WORD>
<WORD coords="3207,4051,3224,3982,4051">]</WORD>
<WORD coords="3277,4022,3316,4005,4022">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1400,4142,1749,4074,4125">plainText</WORD>
<WORD coords="1766,4142,2189,4074,4125">[byte_count</WORD>
<WORD coords="2235,4125,2275,4085,4133">+</WORD>
<WORD coords="2326,4142,2790,4074,4125">(block_count</WORD>
<WORD coords="2841,4102,2870,4074,4113">*</WORD>
<WORD coords="2916,4142,3470,4079,4125">AE5_BLGCK_5IZE</WORD>
<WORD coords="3488,4142,3505,4074,4142">)</WORD>
<WORD coords="3528,4142,3545,4074,4142">]</WORD>
<WORD coords="3562,4102,3591,4079,4102">A</WORD>
</LINE>
<LINE>
<WORD coords="1400,4234,1789,4165,4217">cipherText</WORD>
<WORD coords="1806,4234,2270,4165,4217">[byte_count+</WORD>
<WORD coords="2326,4234,2790,4165,4217">(blockcount</WORD>
<WORD coords="2841,4194,2870,4165,4205">*</WORD>
<WORD coords="2916,4234,3470,4171,4217">AE5_BLGCK_5IZE</WORD>
<WORD coords="3488,4234,3505,4165,4234">)</WORD>
<WORD coords="3528,4234,3585,4165,4231">]}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="919,4325,949,4257,4325">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="759,4419,789,4349,4419">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="599,4509,629,4439,4509">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4417,6295,4643,6193,6295">lTI©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0019.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0020.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0020.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="583,547,737,495,547">void</WORD>
<WORD coords="783,547,858,495,547">of</WORD>
<WORD coords="869,564,1220,495,547">b_decrypt</WORD>
<WORD coords="1238,564,1543,495,547">(uint8_t</WORD>
<WORD coords="1595,564,2027,495,547">*cipherText</WORD>
<WORD coords="2038,559,2061,536,559">J</WORD>
<WORD coords="2118,564,2389,495,547">uintS_t</WORD>
<WORD coords="2441,564,2867,495,547">^plainText.,</WORD>
<WORD coords="2924,564,3196,495,547">uintS_t</WORD>
<WORD coords="3247,564,3753,495,547">*init_vectorj</WORD>
<WORD coords="3811,564,4121,495,547">uint32_t</WORD>
<WORD coords="4173,564,4357,495,547">size)</WORD>
</LINE>
<LINE>
<WORD coords="587,657,617,587,657">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="748,749,1059,679,731">uint32_t</WORD>
<WORD coords="1111,749,1744,679,731">input_block_size</WORD>
<WORD coords="1792,720,1831,702,725">=</WORD>
<WORD coords="1871,731,1906,685,737">0</WORD>
<WORD coords="1917,743,1939,697,0">j</WORD>
</LINE>
<LINE>
<WORD coords="748,841,1019,772,823">uintS_t</WORD>
<WORD coords="1071,841,1502,772,823">block_count</WORD>
<WORD coords="1549,812,1589,795,817">=</WORD>
<WORD coords="1629,835,1698,777,832">0_^</WORD>
<WORD coords="1756,841,2147,772,823">byte_count</WORD>
<WORD coords="2194,812,2233,795,817">=</WORD>
<WORD coords="2274,835,2343,777,829">0;</WORD>
</LINE>
<LINE>
<WORD coords="748,933,1019,864,915">uint8_t</WORD>
<WORD coords="1071,933,1658,864,915">input_block[16]</WORD>
<WORD coords="1714,904,1750,887,918">=</WORD>
<WORD coords="1796,933,1940,864,927">{0};</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="748,1105,1180,1048,1100">//Calculate</WORD>
<WORD coords="1226,1100,1341,1048,1100">the</WORD>
<WORD coords="1393,1100,1623,1048,1100">number</WORD>
<WORD coords="1669,1100,1744,1048,1100">of</WORD>
<WORD coords="1796,1117,1986,1048,1100">input</WORD>
<WORD coords="2038,1100,2268,1048,1100">blocks</WORD>
</LINE>
<LINE>
<WORD coords="748,1209,1382,1140,1192">input_block_size</WORD>
<WORD coords="1432,1180,1468,1163,1186">=</WORD>
<WORD coords="1514,1192,1664,1140,1192">size</WORD>
<WORD coords="1715,1197,1744,1140,1197">/</WORD>
<WORD coords="1790,1209,2383,1146,1192">AE5_BL0CK_5IZEj</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="747,1393,1301,1324,1376">for(byte_count</WORD>
<WORD coords="1347,1364,1387,1347,1370">=</WORD>
<WORD coords="1428,1387,1497,1330,1383">0;</WORD>
<WORD coords="1554,1393,2585,1324,1376">byte_count&lt;AES_BLOCK_SIZE;</WORD>
<WORD coords="2642,1393,2953,1324,1376">byte_cou</WORD>
<WORD coords="2965,1393,3150,1324,1380">nt-H-J</WORD>
<WORD coords="3165,1393,3195,1324,0">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="910,1485,1226,1416,1468">//Moving</WORD>
<WORD coords="1272,1468,1544,1416,1468">initial</WORD>
<WORD coords="1589,1468,1825,1422,1468">vector</WORD>
<WORD coords="1871,1468,1946,1422,1468">to</WORD>
<WORD coords="1997,1468,2026,1433,1468">a</WORD>
<WORD coords="2072,1485,2228,1422,1468">temp</WORD>
<WORD coords="2280,1485,2474,1433,1468">array</WORD>
</LINE>
<LINE>
<WORD coords="910,1577,1785,1508,1560">input_block[byte_count</WORD>
<WORD coords="1799,1577,1819,1508,1577">]</WORD>
<WORD coords="1871,1549,1911,1531,1554">=</WORD>
<WORD coords="1957,1577,2907,1508,1560">init_vector[byte_count];</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="747,1671,777,1601,1671">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="748,1854,1220,1784,1836">//Decryption</WORD>
<WORD coords="1266,1836,1341,1784,1836">of</WORD>
<WORD coords="1393,1854,1749,1784,1836">remaining</WORD>
<WORD coords="1796,1836,2026,1784,1836">blocks</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="748,1946,892,1877,1928">for(</WORD>
<WORD coords="910,1946,1341,1877,1928">block_count</WORD>
<WORD coords="1392,1917,1428,1900,1922">=</WORD>
<WORD coords="1468,1946,1986,1877,1928">0jblock_count</WORD>
<WORD coords="2038,1928,2067,1888,1928">&lt;</WORD>
<WORD coords="2118,1946,2786,1877,1928">input_block_size;</WORD>
<WORD coords="2844,1946,3437,1877,1928">block_count++){</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="910,2130,1265,2061,2113">//Sending</WORD>
<WORD coords="1313,2113,1865,2061,2113">initialization</WORD>
<WORD coords="1911,2113,2147,2066,2113">vector</WORD>
<WORD coords="2193,2113,2268,2066,2113">to</WORD>
<WORD coords="2314,2113,2429,2061,2113">the</WORD>
<WORD coords="2481,2130,2711,2061,2113">cipher</WORD>
<WORD coords="2757,2113,3074,2061,2113">function</WORD>
<WORD coords="3120,2113,3195,2066,2113">to</WORD>
<WORD coords="3247,2130,3356,2066,2113">get</WORD>
<WORD coords="3408,2113,3477,2066,2113">16</WORD>
<WORD coords="3529,2130,3678,2061,2113">byte</WORD>
<WORD coords="3724,2130,3960,2066,2113">output</WORD>
<WORD coords="4012,2113,4208,2061,2113">block</WORD>
</LINE>
<LINE>
<WORD coords="910,2222,1790,2153,2205">aes_cipher(input_block</WORD>
<WORD coords="1796,2216,1819,2193,2216">J</WORD>
<WORD coords="1882,2222,2268,2153,2205">(plainTe)ct</WORD>
<WORD coords="2280,2205,2309,2164,2213">+</WORD>
<WORD coords="2326,2222,2792,2153,2205">(block_count</WORD>
<WORD coords="2844,2182,2872,2153,2193">*</WORD>
<WORD coords="2918,2222,3511,2153,2205">AES_BLOCK_SIZE)</WORD>
<WORD coords="3534,2222,3552,2153,2222">)</WORD>
<WORD coords="3575,2222,3592,2153,2222">)</WORD>
<WORD coords="3609,2216,3632,2170,2216">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="910,2395,1100,2337,2389">//XOR</WORD>
<WORD coords="1151,2406,1382,2337,2389">cipher</WORD>
<WORD coords="1428,2406,1664,2343,2389">output</WORD>
<WORD coords="1710,2389,1865,2337,2389">with</WORD>
<WORD coords="1917,2406,2228,2337,2389">previous</WORD>
<WORD coords="2280,2406,2510,2337,2389">cipher</WORD>
<WORD coords="2556,2389,2711,2343,2389">text</WORD>
<WORD coords="2757,2389,2832,2343,2389">to</WORD>
<WORD coords="2879,2406,3154,2337,2389">decrypt</WORD>
<WORD coords="3201,2389,3316,2337,2389">the</WORD>
<WORD coords="3367,2406,3557,2337,2389">input</WORD>
<WORD coords="3603,2389,3759,2337,2389">data</WORD>
</LINE>
<LINE>
<WORD coords="910,2498,1053,2429,2481">for(</WORD>
<WORD coords="1071,2498,1462,2429,2481">byte_count</WORD>
<WORD coords="1508,2469,1549,2452,2475">=</WORD>
<WORD coords="1589,2492,1658,2435,2488">0;</WORD>
<WORD coords="1715,2498,2107,2429,2481">byte_count</WORD>
<WORD coords="2159,2481,2187,2441,2481">&lt;</WORD>
<WORD coords="2233,2481,2308,2435,2481">AE</WORD>
<WORD coords="2320,2498,2429,2435,2481">S_E</WORD>
<WORD coords="2446,2481,2550,2435,2481">_OC</WORD>
<WORD coords="2562,2498,2671,2435,2481">K_S</WORD>
<WORD coords="2682,2481,2711,2435,2481">I</WORD>
<WORD coords="2723,2481,2752,2435,2481">Z</WORD>
<WORD coords="2763,2481,2792,2435,0">E</WORD>
<WORD coords="2803,2492,2826,2446,2492">j</WORD>
<WORD coords="2884,2498,3390,2429,2481">byte_count++)</WORD>
<WORD coords="3408,2498,3437,2429,2498">{</WORD>
</LINE>
<LINE>
<WORD coords="1071,2590,1865,2521,2573">plainTe&gt;ct[byte_count</WORD>
<WORD coords="1912,2573,1946,2533,2581">+</WORD>
<WORD coords="2003,2590,2469,2521,2573">(block_count</WORD>
<WORD coords="2521,2550,2550,2521,2561">*</WORD>
<WORD coords="2596,2590,3154,2527,2573">AES_BL0CK_SIZE</WORD>
<WORD coords="3172,2590,3189,2521,2590">)</WORD>
<WORD coords="3212,2590,3229,2521,2590">]</WORD>
<WORD coords="3281,2561,3321,2544,2561">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1393,2682,1786,2613,2665">cipherText</WORD>
<WORD coords="1802,2682,2228,2613,2665">[byte_count</WORD>
<WORD coords="2274,2665,2313,2625,2673">+</WORD>
<WORD coords="2366,2682,2832,2613,2665">(block_count</WORD>
<WORD coords="2884,2642,2913,2613,2653">*</WORD>
<WORD coords="2959,2682,3552,2613,2665">AES_BLOCK_SIZE)</WORD>
<WORD coords="3575,2682,3592,2613,2682">]</WORD>
<WORD coords="3609,2642,3638,2619,2642">A</WORD>
</LINE>
<LINE>
<WORD coords="1393,2774,1744,2705,2757">plainText</WORD>
<WORD coords="1761,2774,2187,2705,2757">[byte_count</WORD>
<WORD coords="2234,2757,2268,2717,2757">-I-</WORD>
<WORD coords="2326,2774,2792,2705,2757">(block_count</WORD>
<WORD coords="2844,2734,2872,2705,2745">*</WORD>
<WORD coords="2918,2774,3511,2705,2757">AES_BLOCK_SIZE)</WORD>
<WORD coords="3534,2774,3592,2705,2771">];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="587,3145,617,3075,3145">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,3395,417,3321,3394">4.5</WORD>
<WORD coords="583,3395,757,3319,3393">The</WORD>
<WORD coords="793,3395,1169,3319,3394">Counter</WORD>
<WORD coords="1205,3395,1457,3319,3394">Mode</WORD>
<WORD coords="1491,3413,1755,3319,3393">(CTR)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,3541,723,3477,3539">The</WORD>
<WORD coords="753,3541,1043,3477,3540">Counter</WORD>
<WORD coords="1073,3555,1289,3477,3539">(CTR)</WORD>
<WORD coords="1323,3541,1523,3477,3540">mode</WORD>
<WORD coords="1555,3541,1607,3477,3540">is</WORD>
<WORD coords="1637,3541,1677,3493,3541">a</WORD>
<WORD coords="1705,3557,2205,3477,3539">confidentiality</WORD>
<WORD coords="2233,3541,2433,3477,3540">mode</WORD>
<WORD coords="2461,3541,2599,3477,3540">that</WORD>
<WORD coords="2625,3541,2921,3477,3540">features</WORD>
<WORD coords="2947,3541,3059,3477,3540">the</WORD>
<WORD coords="3089,3557,3477,3477,3540">application</WORD>
<WORD coords="3509,3541,3575,3477,3540">of</WORD>
<WORD coords="3601,3541,3711,3477,3540">the</WORD>
<WORD coords="3739,3541,4011,3477,3539">forward</WORD>
<WORD coords="4041,3557,4265,3477,3539">cipher</WORD>
<WORD coords="4291,3541,4355,3483,3541">to</WORD>
<WORD coords="4385,3541,4427,3493,3541">a</WORD>
<WORD coords="4455,3541,4561,3483,3541">set</WORD>
<WORD coords="4589,3541,4653,3477,3540">of</WORD>
</LINE>
<LINE>
<WORD coords="587,3665,761,3585,3648">input</WORD>
<WORD coords="789,3659,1039,3585,3648">blocks,</WORD>
<WORD coords="1071,3649,1281,3585,3648">called</WORD>
<WORD coords="1311,3659,1647,3591,3648">counters,</WORD>
<WORD coords="1677,3649,1741,3591,3649">to</WORD>
<WORD coords="1773,3665,2065,3585,3648">produce</WORD>
<WORD coords="2095,3649,2137,3601,3649">a</WORD>
<WORD coords="2163,3665,2519,3601,3648">sequence</WORD>
<WORD coords="2549,3649,2613,3585,3648">of</WORD>
<WORD coords="2641,3665,2867,3591,3649">output</WORD>
<WORD coords="2897,3649,3127,3585,3648">blocks</WORD>
<WORD coords="3153,3649,3289,3585,3648">that</WORD>
<WORD coords="3317,3649,3431,3601,3648">are</WORD>
<WORD coords="3461,3649,4043,3585,3648">exclusive-ORed</WORD>
<WORD coords="4071,3649,4213,3585,3647">with</WORD>
<WORD coords="4243,3649,4353,3585,3648">the</WORD>
</LINE>
<LINE>
<WORD coords="587,3773,891,3693,3756">plaintext</WORD>
<WORD coords="917,3757,981,3699,3757">to</WORD>
<WORD coords="1011,3773,1305,3693,3756">produce</WORD>
<WORD coords="1333,3757,1443,3693,3756">the</WORD>
<WORD coords="1473,3773,1849,3693,3756">ciphertext,</WORD>
<WORD coords="1881,3757,2013,3693,3756">and</WORD>
<WORD coords="2043,3757,2185,3693,3756">vice</WORD>
<WORD coords="2215,3757,2433,3709,3756">versa.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="591,3897,647,3835,3897">In</WORD>
<WORD coords="679,3899,831,3835,3898">both</WORD>
<WORD coords="863,3899,1027,3835,3897">CTR</WORD>
<WORD coords="1059,3915,1433,3835,3898">encryption</WORD>
<WORD coords="1465,3899,1597,3835,3898">and</WORD>
<WORD coords="1629,3899,1793,3835,3897">CTR</WORD>
<WORD coords="1821,3915,2219,3835,3898">decryption,</WORD>
<WORD coords="2249,3899,2361,3835,3898">the</WORD>
<WORD coords="2389,3899,2661,3835,3897">forward</WORD>
<WORD coords="2691,3915,2915,3835,3897">cipher</WORD>
<WORD coords="2941,3899,3269,3835,3898">functions</WORD>
<WORD coords="3297,3899,3423,3851,3898">can</WORD>
<WORD coords="3457,3899,3541,3835,3899">be</WORD>
<WORD coords="3571,3915,3945,3835,3898">performed</WORD>
<WORD coords="3977,3897,4031,3835,3897">in</WORD>
<WORD coords="4063,3915,4345,3835,3897">parallel.</WORD>
</LINE>
<LINE>
<WORD coords="587,4023,913,3943,4005">Similarly,</WORD>
<WORD coords="943,4007,1055,3943,4006">the</WORD>
<WORD coords="1087,4023,1391,3943,4005">plaintext</WORD>
<WORD coords="1419,4007,1609,3943,4006">block</WORD>
<WORD coords="1635,4007,1771,3943,4006">that</WORD>
<WORD coords="1799,4023,2249,3943,4006">corresponds</WORD>
<WORD coords="2277,4007,2341,3949,4007">to</WORD>
<WORD coords="2373,4023,2503,3959,4006">any</WORD>
<WORD coords="2531,4023,2867,3943,4006">particular</WORD>
<WORD coords="2895,4023,3251,3943,4006">ciphertext</WORD>
<WORD coords="3281,4007,3469,3943,4006">block</WORD>
<WORD coords="3497,4007,3623,3959,4006">can</WORD>
<WORD coords="3655,4007,3739,3943,4007">be</WORD>
<WORD coords="3771,4007,4133,3943,4006">recovered</WORD>
</LINE>
<LINE>
<WORD coords="587,4131,1099,4053,4114">independently</WORD>
<WORD coords="1125,4115,1285,4051,4113">from</WORD>
<WORD coords="1315,4115,1427,4053,4114">the</WORD>
<WORD coords="1455,4115,1641,4053,4114">other</WORD>
<WORD coords="1671,4131,1975,4053,4114">plaintext</WORD>
<WORD coords="2003,4115,2235,4053,4114">blocks</WORD>
<WORD coords="2265,4113,2301,4051,4113">if</WORD>
<WORD coords="2327,4115,2437,4053,4114">the</WORD>
<WORD coords="2467,4131,2985,4053,4114">corresponding</WORD>
<WORD coords="3017,4115,3291,4057,4114">counter</WORD>
<WORD coords="3319,4115,3509,4053,4114">block</WORD>
<WORD coords="3537,4115,3661,4067,4114">can</WORD>
<WORD coords="3693,4115,3779,4053,4115">be</WORD>
<WORD coords="3807,4115,4239,4053,4114">determined.</WORD>
<WORD coords="4273,4125,4637,4053,4114">Moreover,</WORD>
</LINE>
<LINE>
<WORD coords="583,4225,695,4161,4224">the</WORD>
<WORD coords="723,4225,993,4161,4223">forward</WORD>
<WORD coords="1025,4241,1247,4161,4223">cipher</WORD>
<WORD coords="1273,4225,1603,4161,4224">functions</WORD>
<WORD coords="1631,4225,1757,4177,4224">can</WORD>
<WORD coords="1791,4225,1875,4161,4225">be</WORD>
<WORD coords="1905,4241,2165,4161,4224">applied</WORD>
<WORD coords="2193,4225,2259,4167,4225">to</WORD>
<WORD coords="2287,4225,2397,4161,4224">the</WORD>
<WORD coords="2427,4225,2741,4167,4224">counters</WORD>
<WORD coords="2771,4241,2931,4161,4223">prior</WORD>
<WORD coords="2957,4225,3023,4167,4225">to</WORD>
<WORD coords="3049,4225,3161,4161,4224">the</WORD>
<WORD coords="3191,4241,3571,4161,4223">availability</WORD>
<WORD coords="3597,4225,3663,4161,4224">of</WORD>
<WORD coords="3689,4225,3799,4161,4224">the</WORD>
<WORD coords="3831,4241,4135,4161,4223">plaintext</WORD>
<WORD coords="4163,4225,4233,4177,4224">or</WORD>
<WORD coords="4259,4241,4617,4161,4223">ciphertext</WORD>
</LINE>
<LINE>
<WORD coords="585,4333,761,4269,4333">data.</WORD>
<WORD coords="793,4333,931,4269,4331">The</WORD>
<WORD coords="961,4349,1315,4285,4332">sequence</WORD>
<WORD coords="1343,4333,1409,4269,4332">of</WORD>
<WORD coords="1437,4333,1751,4275,4332">counters</WORD>
<WORD coords="1783,4333,1957,4275,4332">must</WORD>
<WORD coords="1987,4333,2157,4269,4332">have</WORD>
<WORD coords="2185,4333,2297,4269,4332">the</WORD>
<WORD coords="2327,4349,2627,4275,4332">property</WORD>
<WORD coords="2651,4333,2789,4269,4332">that</WORD>
<WORD coords="2817,4333,2989,4269,4332">each</WORD>
<WORD coords="3021,4333,3211,4269,4332">block</WORD>
<WORD coords="3243,4331,3297,4269,4331">in</WORD>
<WORD coords="3327,4349,3683,4285,4332">sequence</WORD>
<WORD coords="3715,4333,3767,4269,4332">is</WORD>
<WORD coords="3795,4333,4091,4269,4331">different</WORD>
<WORD coords="4119,4333,4277,4269,4331">from</WORD>
<WORD coords="4311,4349,4509,4285,4332">every</WORD>
</LINE>
<LINE>
<WORD coords="585,4439,771,4377,4438">other</WORD>
<WORD coords="799,4439,1007,4377,4438">block.</WORD>
<WORD coords="1039,4439,1315,4375,4438">Various</WORD>
<WORD coords="1347,4439,1657,4377,4438">methods</WORD>
<WORD coords="1687,4439,1751,4377,4438">of</WORD>
<WORD coords="1779,4439,2053,4381,4438">counter</WORD>
<WORD coords="2079,4455,2465,4377,4438">generation</WORD>
<WORD coords="2497,4439,2611,4391,4438">are</WORD>
<WORD coords="2641,4455,2989,4377,4438">explained</WORD>
<WORD coords="3023,4437,3075,4377,4437">in</WORD>
<WORD coords="3107,4455,3449,4377,4437">Appendix</WORD>
<WORD coords="3481,4437,3527,4377,4437">B</WORD>
<WORD coords="3557,4439,3623,4375,4438">of</WORD>
<WORD coords="3653,4439,3829,4375,4437">FIPS</WORD>
<WORD coords="3861,4439,3999,4375,4438">Pub</WORD>
<WORD coords="4029,4439,4361,4377,4437">800-38A.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,4657,453,4595,4655">4.5.1</WORD>
<WORD coords="587,4657,751,4593,4655">CTR</WORD>
<WORD coords="785,4673,1205,4593,4655">Encryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,4815,969,4737,4797">Encryption</WORD>
<WORD coords="1003,4799,1295,4737,4797">involves</WORD>
<WORD coords="1323,4799,1435,4737,4798">the</WORD>
<WORD coords="1467,4815,1855,4737,4798">application</WORD>
<WORD coords="1887,4799,1951,4737,4798">of</WORD>
<WORD coords="1977,4799,2249,4737,4797">forward</WORD>
<WORD coords="2279,4815,2503,4737,4797">cipher</WORD>
<WORD coords="2529,4799,2687,4751,4798">over</WORD>
<WORD coords="2715,4799,2757,4753,4799">a</WORD>
<WORD coords="2785,4799,2975,4737,4798">block</WORD>
<WORD coords="3003,4799,3067,4737,4798">of</WORD>
<WORD coords="3095,4799,3253,4737,4799">data</WORD>
<WORD coords="3279,4799,3489,4737,4798">called</WORD>
<WORD coords="3519,4799,3833,4741,4798">counters</WORD>
<WORD coords="3861,4799,4067,4737,4797">which</WORD>
<WORD coords="4101,4799,4153,4737,4798">is</WORD>
<WORD coords="4179,4799,4335,4737,4798">then</WORD>
<WORD coords="4369,4799,4663,4735,4798">XOR-ed</WORD>
</LINE>
<LINE>
<WORD coords="583,4907,725,4843,4905">with</WORD>
<WORD coords="757,4923,923,4843,4905">plain</WORD>
<WORD coords="953,4907,1085,4849,4906">text</WORD>
<WORD coords="1109,4907,1175,4849,4907">to</WORD>
<WORD coords="1205,4923,1527,4849,4906">generate</WORD>
<WORD coords="1555,4907,1667,4843,4906">the</WORD>
<WORD coords="1699,4923,2069,4843,4906">respective</WORD>
<WORD coords="2097,4923,2321,4843,4905">cipher</WORD>
<WORD coords="2345,4907,2497,4849,4906">text.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4573,6271,4645,6211,6271">21</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0020.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0021.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0021.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,565,811,495,549">Figure</WORD>
<WORD coords="835,551,959,495,546">4-8.</WORD>
<WORD coords="1107,551,1389,493,550">Counter</WORD>
<WORD coords="1417,551,1609,495,550">mode</WORD>
<WORD coords="1637,565,2017,493,549">Encryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1191,793,1452,741,793">Counter</WORD>
<WORD coords="1476,793,1505,741,793">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1339,940,1344,930,940">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1356,938,1360,931,938">r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1243,1046,1454,977,1033">Cipher</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1211,1129,1481,1073,1128">function</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1249,1359,1343,1273,1359">,r</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1351,1333,1423,1247,1333">s</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1249,1403,1343,1323,1403">V</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1337,1562,1344,1540,1562">\</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1351,1451,1423,1339,1451">p</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1356,1552,1359,1545,1552">-</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1067,1703,1350,1573,1666">(^Cipher</WORD>
<WORD coords="1369,1667,1499,1615,1666">Text</WORD>
<WORD coords="1525,1703,1630,1573,1685">1^)</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1809,737,1883,685,735">+1</WORD>
<WORD coords="2093,753,2139,691,753">f</WORD>
<WORD coords="2617,753,2655,697,753">\</WORD>
<WORD coords="2689,737,2763,685,735">+1</WORD>
<WORD coords="3011,737,3085,685,735">+1</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2053,796,2103,755,796">-n</WORD>
<WORD coords="2217,793,2479,739,793">Counter</WORD>
<WORD coords="2499,793,2531,739,793">2</WORD>
<WORD coords="3143,796,3181,741,789">•{</WORD>
<WORD coords="3291,796,3553,743,796">Counter</WORD>
<WORD coords="3573,796,3605,757,796">n</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1789,1379,2083,1323,1379">Plaintext</WORD>
<WORD coords="2125,1379,2157,1325,1379">2</WORD>
<WORD coords="2227,1357,2275,1349,1357">—</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2165,1695,2377,1625,1681">Cipher</WORD>
<WORD coords="2395,1681,2525,1629,1681">Text</WORD>
<WORD coords="2549,1681,2581,1629,1681">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,1949,463,1887,1622">4.5.2</WORD>
<WORD coords="587,1949,751,1885,1947">CTR</WORD>
<WORD coords="783,1965,1205,1887,1948">Decryption</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,2093,707,2029,2091">For</WORD>
<WORD coords="731,2109,1131,2029,2092">decryption,</WORD>
<WORD coords="1161,2093,1273,2029,2092">the</WORD>
<WORD coords="1301,2093,1573,2029,2091">forward</WORD>
<WORD coords="1603,2109,1825,2029,2091">cipher</WORD>
<WORD coords="1857,2093,1907,2029,2092">is</WORD>
<WORD coords="1937,2109,2197,2029,2092">applied</WORD>
<WORD coords="2227,2093,2385,2045,2092">over</WORD>
<WORD coords="2413,2093,2727,2035,2092">counters</WORD>
<WORD coords="2757,2093,2839,2045,2093">as</WORD>
<WORD coords="2869,2091,2923,2029,2091">in</WORD>
<WORD coords="2955,2109,3353,2029,2092">encryption.</WORD>
<WORD coords="3383,2093,3567,2029,2091">Then</WORD>
<WORD coords="3595,2093,3707,2029,2092">the</WORD>
<WORD coords="3737,2109,3959,2029,2091">cipher</WORD>
<WORD coords="3985,2093,4115,2035,2092">text</WORD>
<WORD coords="4147,2093,4197,2029,2092">is</WORD>
<WORD coords="4227,2093,4525,2029,2092">XOR-ed</WORD>
</LINE>
<LINE>
<WORD coords="583,2201,725,2137,2199">with</WORD>
<WORD coords="759,2217,1061,2137,2200">resulting</WORD>
<WORD coords="1093,2217,1321,2143,2201">output</WORD>
<WORD coords="1351,2201,1539,2137,2200">block</WORD>
<WORD coords="1565,2201,1629,2143,2201">to</WORD>
<WORD coords="1663,2201,1931,2137,2200">retrieve</WORD>
<WORD coords="1959,2201,2069,2137,2200">the</WORD>
<WORD coords="2101,2217,2267,2137,2199">plain</WORD>
<WORD coords="2297,2201,2447,2143,2200">text.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,2415,811,2343,2399">Figure</WORD>
<WORD coords="835,2401,959,2345,2396">4-9.</WORD>
<WORD coords="1107,2401,1389,2343,2400">Counter</WORD>
<WORD coords="1417,2401,1609,2345,2400">mode</WORD>
<WORD coords="1637,2415,2019,2343,2400">Decryption</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="2699,2597,2773,2543,2595">+1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3047,2597,3121,2543,2594">+1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3321,2645,3585,2591,2644">Counter</WORD>
<WORD coords="3607,2645,3639,2605,2645">n</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,3809,463,3745,3808">4.5.3</WORD>
<WORD coords="587,3809,1015,3745,3808">Generation</WORD>
<WORD coords="1047,3809,1121,3745,3808">of</WORD>
<WORD coords="1149,3809,1451,3749,3808">counter</WORD>
<WORD coords="1479,3809,1737,3745,3808">blocks</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,3951,737,3887,3949">This</WORD>
<WORD coords="767,3951,1021,3889,3950">section</WORD>
<WORD coords="1053,3967,1307,3889,3949">explain</WORD>
<WORD coords="1337,3951,1449,3889,3950">the</WORD>
<WORD coords="1479,3951,1753,3893,3950">counter</WORD>
<WORD coords="1779,3967,2165,3887,3950">generation</WORD>
<WORD coords="2199,3951,2467,3889,3950">method</WORD>
<WORD coords="2499,3951,2671,3889,3951">used</WORD>
<WORD coords="2703,3949,2757,3889,3949">in</WORD>
<WORD coords="2787,3951,2913,3889,3950">this</WORD>
<WORD coords="2943,3967,3331,3889,3950">application</WORD>
<WORD coords="3367,3951,3539,3893,3950">note.</WORD>
<WORD coords="3571,3951,3663,3889,3950">As</WORD>
<WORD coords="3695,3951,4073,3887,3950">mentioned</WORD>
<WORD coords="4105,3951,4333,3889,3949">earlier</WORD>
<WORD coords="4359,3951,4521,3887,3949">AES</WORD>
<WORD coords="4549,3931,4595,3925,3931">-</WORD>
</LINE>
<LINE>
<WORD coords="587,4059,751,3995,4057">CTR</WORD>
<WORD coords="783,4075,1073,3995,4058">requires</WORD>
<WORD coords="1105,4075,1347,3995,4058">unique</WORD>
<WORD coords="1375,4059,1569,3997,4058">value</WORD>
<WORD coords="1597,4059,1693,3997,4057">for</WORD>
<WORD coords="1721,4059,1891,3997,4058">each</WORD>
<WORD coords="1925,4059,2113,3997,4058">block</WORD>
<WORD coords="2141,4059,2271,3997,4058">and</WORD>
<WORD coords="2301,4059,2791,3997,4058">communicate</WORD>
<WORD coords="2819,4059,2945,3997,4058">this</WORD>
<WORD coords="2973,4059,3167,3997,4058">value</WORD>
<WORD coords="3195,4059,3291,3997,4057">for</WORD>
<WORD coords="3315,4059,3427,3997,4058">the</WORD>
<WORD coords="3457,4075,3855,3995,4058">decryption.</WORD>
<WORD coords="3885,4059,4039,3995,4057">This</WORD>
<WORD coords="4071,4059,4123,3997,4058">is</WORD>
<WORD coords="4155,4059,4337,4011,4058">more</WORD>
<WORD coords="4365,4059,4601,3997,4057">similar</WORD>
</LINE>
<LINE>
<WORD coords="583,4169,649,4111,4169">to</WORD>
<WORD coords="683,4167,751,4105,4167">IV</WORD>
<WORD coords="781,4185,1019,4111,4168">except</WORD>
<WORD coords="1045,4169,1181,4105,4168">that</WORD>
<WORD coords="1211,4169,1247,4105,4168">it</WORD>
<WORD coords="1275,4185,1491,4105,4168">keeps</WORD>
<WORD coords="1519,4185,1849,4105,4167">changing</WORD>
<WORD coords="1879,4169,1975,4105,4167">for</WORD>
<WORD coords="2001,4169,2173,4105,4168">each</WORD>
<WORD coords="2207,4169,2413,4105,4168">block.</WORD>
<WORD coords="2449,4169,2739,4105,4168">Counter</WORD>
<WORD coords="2769,4169,2821,4105,4168">is</WORD>
<WORD coords="2849,4169,3107,4105,4168">divided</WORD>
<WORD coords="3139,4167,3193,4105,4167">in</WORD>
<WORD coords="3223,4169,3287,4111,4169">to</WORD>
<WORD coords="3315,4169,3499,4105,4168">three</WORD>
<WORD coords="3529,4169,3675,4105,4167">field</WORD>
<WORD coords="3705,4169,3915,4105,4168">called</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,4297,677,4267,4302">•</WORD>
<WORD coords="813,4309,1045,4245,4308">Nonce</WORD>
<WORD coords="1071,4287,1117,4281,4298">-</WORD>
<WORD coords="1143,4309,1319,4245,4308">32bit</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,4423,677,4393,4427">•</WORD>
<WORD coords="815,4433,1235,4369,4431">Initialization</WORD>
<WORD coords="1267,4433,1505,4371,4432">Vector</WORD>
<WORD coords="1529,4413,1577,4405,4423">-</WORD>
<WORD coords="1603,4433,1779,4371,4432">64bit</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="647,4547,677,4517,4553">•</WORD>
<WORD coords="811,4559,1103,4495,4558">Counter</WORD>
<WORD coords="1131,4559,1319,4495,4558">block</WORD>
<WORD coords="1345,4537,1393,4531,4548">-</WORD>
<WORD coords="1417,4559,1593,4495,4558">32bit</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,4701,723,4637,4699">The</WORD>
<WORD coords="753,4701,1025,4643,4700">counter</WORD>
<WORD coords="1055,4701,1105,4639,4700">is</WORD>
<WORD coords="1139,4701,1587,4637,4700">incremented</WORD>
<WORD coords="1617,4701,1711,4637,4699">for</WORD>
<WORD coords="1739,4701,1911,4639,4700">each</WORD>
<WORD coords="1943,4701,2133,4639,4700">block</WORD>
<WORD coords="2161,4701,2291,4639,4700">and</WORD>
<WORD coords="2321,4701,2815,4639,4700">concatenated</WORD>
<WORD coords="2845,4701,2985,4639,4699">with</WORD>
<WORD coords="3019,4701,3251,4639,4700">Nonce</WORD>
<WORD coords="3281,4701,3413,4639,4700">and</WORD>
<WORD coords="3447,4699,3517,4639,4699">IV</WORD>
<WORD coords="3543,4701,3609,4643,4701">to</WORD>
<WORD coords="3637,4701,3797,4639,4699">form</WORD>
<WORD coords="3835,4701,3961,4639,4700">128</WORD>
<WORD coords="3993,4701,4073,4639,4700">bit</WORD>
<WORD coords="4101,4701,4325,4643,4700">vector</WORD>
<WORD coords="4355,4717,4527,4639,4700">input</WORD>
<WORD coords="4555,4701,4649,4637,4699">for</WORD>
</LINE>
<LINE>
<WORD coords="585,4825,1011,4745,4808">subsequent</WORD>
<WORD coords="1041,4809,1291,4745,4808">blocks.</WORD>
<WORD coords="1323,4809,1413,4745,4808">As</WORD>
<WORD coords="1443,4809,1715,4751,4808">counter</WORD>
<WORD coords="1745,4809,1795,4745,4808">is</WORD>
<WORD coords="1825,4819,2049,4745,4808">32-bit,</WORD>
<WORD coords="2079,4809,2191,4745,4808">the</WORD>
<WORD coords="2219,4809,2419,4761,4808">same</WORD>
<WORD coords="2449,4825,2573,4745,4808">key</WORD>
<WORD coords="2597,4807,2707,4745,4807">will</WORD>
<WORD coords="2739,4809,2825,4745,4809">be</WORD>
<WORD coords="2857,4825,3175,4745,4808">repeated</WORD>
<WORD coords="3207,4809,3369,4745,4808">after</WORD>
<WORD coords="3395,4807,3435,4747,4807">2</WORD>
<WORD coords="3441,4783,3499,4743,4782">32</WORD>
<WORD coords="3529,4809,3611,4745,4808">bit</WORD>
<WORD coords="3641,4809,3907,4745,4808">rounds.</WORD>
<WORD coords="3941,4809,4035,4745,4809">So</WORD>
<WORD coords="4063,4809,4205,4745,4807">with</WORD>
<WORD coords="4235,4809,4323,4747,4808">32</WORD>
<WORD coords="4353,4809,4435,4745,4808">bit</WORD>
</LINE>
<LINE>
<WORD coords="585,4919,859,4861,4918">counter</WORD>
<WORD coords="885,4917,925,4857,4917">2</WORD>
<WORD coords="931,4893,979,4853,4892">31</WORD>
<WORD coords="1017,4919,1205,4855,4918">block</WORD>
<WORD coords="1233,4919,1299,4855,4918">of</WORD>
<WORD coords="1325,4919,1483,4855,4919">data</WORD>
<WORD coords="1511,4919,1637,4871,4918">can</WORD>
<WORD coords="1671,4919,1755,4855,4919">be</WORD>
<WORD coords="1785,4935,2143,4855,4918">encrypted</WORD>
<WORD coords="2175,4935,2557,4855,4918">effectively.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,5133,463,5071,5131">4.5.4</WORD>
<WORD coords="587,5133,639,5069,5133">C</WORD>
<WORD coords="671,5149,1275,5069,5131">Implementation</WORD>
<WORD coords="1305,5133,1381,5069,5132">of</WORD>
<WORD coords="1409,5133,1575,5069,5131">CTR</WORD>
<WORD coords="1607,5133,1821,5069,5132">mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,5275,723,5211,5273">The</WORD>
<WORD coords="753,5275,1025,5217,5274">counter</WORD>
<WORD coords="1055,5275,1243,5213,5274">block</WORD>
<WORD coords="1271,5275,1597,5213,5274">contains:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="582,5413,918,5358,5407">//Counter</WORD>
<WORD coords="967,5407,1155,5358,5407">block</WORD>
<WORD coords="1199,5407,1535,5363,5407">structure</WORD>
<WORD coords="1579,5407,1689,5358,5407">for</WORD>
<WORD coords="1733,5407,1998,5363,5407">AES-CTR</WORD>
<WORD coords="2042,5407,2190,5358,5407">mode</WORD>
</LINE>
<LINE>
<WORD coords="582,5512,846,5446,5495">typedef</WORD>
<WORD coords="890,5512,1149,5446,5495">struct{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="736,5600,1033,5534,5584">uint32_t</WORD>
<WORD coords="1083,5595,1298,5551,5585">nonces</WORD>
</LINE>
<LINE>
<WORD coords="736,5688,1033,5622,5672">uint64_t</WORD>
<WORD coords="1083,5688,1414,5622,5672">i_vector;</WORD>
</LINE>
<LINE>
<WORD coords="736,5777,1033,5711,5760">uint32_t</WORD>
<WORD coords="1083,5771,1375,5716,5760">counter^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="582,5865,610,5799,5865">}</WORD>
<WORD coords="659,5865,995,5799,5848">ctr_blk_t</WORD>
<WORD coords="1006,5859,1028,5815,5859">i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4383,6295,4643,6193,6295">TYl©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0021.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0022.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0022.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16777214">
<PARAGRAPH>
<LINE>
<WORD coords="583,561,723,497,559">The</WORD>
<WORD coords="757,571,843,497,559">IV,</WORD>
<WORD coords="879,561,1095,513,560">nonce</WORD>
<WORD coords="1127,561,1257,497,560">and</WORD>
<WORD coords="1287,561,1561,503,560">counter</WORD>
<WORD coords="1591,561,1703,513,560">are</WORD>
<WORD coords="1733,561,2225,497,560">concatenated</WORD>
<WORD coords="2253,561,2319,503,561">to</WORD>
<WORD coords="2347,561,2507,497,559">form</WORD>
<WORD coords="2537,561,2647,497,560">the</WORD>
<WORD coords="2679,577,2853,497,560">input</WORD>
<WORD coords="2883,561,3071,497,560">block</WORD>
<WORD coords="3101,561,3231,497,560">and</WORD>
<WORD coords="3263,577,3523,497,560">applied</WORD>
<WORD coords="3551,561,3617,503,561">to</WORD>
<WORD coords="3645,561,3755,497,560">the</WORD>
<WORD coords="3783,561,4055,497,559">forward</WORD>
<WORD coords="4085,577,4309,497,559">cipher</WORD>
<WORD coords="4337,561,4419,513,561">as</WORD>
</LINE>
<LINE>
<WORD coords="587,669,817,607,668">below:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,797,741,746,797">void</WORD>
<WORD coords="793,814,1780,746,797">ctr_inc_counter(ctr_bIk_t</WORD>
<WORD coords="1831,814,2173,746,797">^counter)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,907,621,837,907">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="753,997,1061,929,980">//Append</WORD>
<WORD coords="1106,980,1300,934,979">INonce</WORD>
<WORD coords="1346,980,1420,934,980">to</WORD>
<WORD coords="1471,980,1582,934,980">1st</WORD>
<WORD coords="1626,980,1665,934,980">4</WORD>
<WORD coords="1711,997,1899,929,980">bytes</WORD>
<WORD coords="1945,980,2019,929,980">of</WORD>
<WORD coords="2071,980,2339,934,980">counter</WORD>
<WORD coords="2390,980,2584,929,980">block</WORD>
</LINE>
<LINE>
<WORD coords="753,1088,1375,1020,1071">counter_block[0]</WORD>
<WORD coords="1431,1060,1466,1043,1074">=</WORD>
<WORD coords="1517,1088,1534,1020,1088">(</WORD>
<WORD coords="1557,1088,2173,1020,1071">(counter~&gt;nonce)</WORD>
<WORD coords="2230,1071,2299,1031,1071">&gt;&gt;</WORD>
<WORD coords="2350,1088,2453,1020,1079">24)</WORD>
<WORD coords="2504,1071,2544,1020,1071">&amp;</WORD>
<WORD coords="2584,1083,2772,1026,1071">0xFF;</WORD>
</LINE>
<LINE>
<WORD coords="753,1180,1375,1111,1163">counter_block[l]</WORD>
<WORD coords="1426,1151,1466,1134,1165">=</WORD>
<WORD coords="1517,1180,1535,1111,1180">(</WORD>
<WORD coords="1557,1180,1899,1111,1163">(counter-</WORD>
<WORD coords="1911,1163,1939,1123,1163">&gt;</WORD>
<WORD coords="1951,1180,2173,1111,1163">nonce)</WORD>
<WORD coords="2230,1163,2299,1123,1163">&gt;&gt;</WORD>
<WORD coords="2350,1180,2453,1111,1171">16)</WORD>
<WORD coords="2504,1163,2544,1111,1163">&amp;</WORD>
<WORD coords="2584,1174,2772,1117,1163">0xFFj</WORD>
</LINE>
<LINE>
<WORD coords="753,1271,1375,1202,1254">counter_block[2]</WORD>
<WORD coords="1431,1242,1466,1225,1256">=</WORD>
<WORD coords="1517,1271,1534,1202,1271">(</WORD>
<WORD coords="1557,1271,2173,1202,1254">(counter-&gt;nonce)</WORD>
<WORD coords="2230,1254,2299,1214,1254">&gt;&gt;</WORD>
<WORD coords="2350,1271,2413,1202,1265">3)</WORD>
<WORD coords="2464,1254,2504,1202,1254">&amp;</WORD>
<WORD coords="2544,1254,2579,1208,1254">6</WORD>
<WORD coords="2590,1254,2698,1208,1254">kFF</WORD>
<WORD coords="2709,1265,2732,1220,1265">j</WORD>
</LINE>
<LINE>
<WORD coords="753,1362,1375,1294,1345">counter_block[3]</WORD>
<WORD coords="1431,1334,1466,1317,1348">=</WORD>
<WORD coords="1517,1362,1534,1294,1362">(</WORD>
<WORD coords="1557,1362,2173,1294,1345">(counter-&gt;nonce)</WORD>
<WORD coords="2230,1345,2299,1305,1345">&gt;&gt;</WORD>
<WORD coords="2344,1362,2413,1294,1356">0)</WORD>
<WORD coords="2464,1345,2504,1294,1345">&amp;</WORD>
<WORD coords="2544,1356,2732,1299,1345">0xFFj,</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="753,1453,1061,1385,1436">//Append</WORD>
<WORD coords="1112,1436,1186,1391,1436">IV</WORD>
<WORD coords="1226,1436,1300,1391,1436">to</WORD>
<WORD coords="1352,1436,1500,1391,1436">next</WORD>
<WORD coords="1551,1436,1580,1391,1436">3</WORD>
<WORD coords="1631,1453,1820,1385,1436">bytes</WORD>
<WORD coords="1865,1436,1939,1385,1436">of</WORD>
<WORD coords="1991,1436,2259,1391,1436">counter</WORD>
<WORD coords="2310,1436,2504,1385,1436">block</WORD>
</LINE>
<LINE>
<WORD coords="753,1545,1375,1476,1528">counter_block[4]</WORD>
<WORD coords="1431,1516,1466,1499,1530">=</WORD>
<WORD coords="1517,1545,2293,1476,1528">((counter-&gt;i_vector)</WORD>
<WORD coords="2350,1528,2419,1488,1528">&gt;&gt;</WORD>
<WORD coords="2470,1545,2573,1476,1536">56)</WORD>
<WORD coords="2624,1528,2664,1476,1528">&amp;</WORD>
<WORD coords="2704,1539,2892,1482,1528">0xFFj</WORD>
</LINE>
<LINE>
<WORD coords="753,1636,1375,1568,1619">counter_block[5]</WORD>
<WORD coords="1426,1608,1466,1590,1622">=</WORD>
<WORD coords="1517,1636,1535,1568,1636">(</WORD>
<WORD coords="1557,1636,1861,1568,1619">(counter</WORD>
<WORD coords="1871,1636,2295,1568,1619">-&gt;i_vector)</WORD>
<WORD coords="2350,1619,2419,1579,1619">&gt;&gt;</WORD>
<WORD coords="2464,1636,2573,1568,1627">43)</WORD>
<WORD coords="2624,1619,2664,1568,1619">&amp;</WORD>
<WORD coords="2704,1619,2858,1573,1619">0xFF</WORD>
<WORD coords="2869,1630,2892,1585,1630">j</WORD>
</LINE>
<LINE>
<WORD coords="753,1727,1375,1659,1710">C0unter_block[6]</WORD>
<WORD coords="1429,1699,1466,1682,1713">=</WORD>
<WORD coords="1517,1727,1534,1659,1727">(</WORD>
<WORD coords="1557,1727,2293,1659,1710">(counter-&gt;i_vector)</WORD>
<WORD coords="2350,1710,2419,1670,1710">&gt;&gt;</WORD>
<WORD coords="2464,1727,2573,1659,1718">40)</WORD>
<WORD coords="2624,1710,2664,1659,1710">&amp;</WORD>
<WORD coords="2704,1722,2892,1665,1710">0xFFj</WORD>
</LINE>
<LINE>
<WORD coords="753,1819,1375,1750,1802">counter_block[7]</WORD>
<WORD coords="1426,1790,1466,1773,1804">=</WORD>
<WORD coords="1517,1819,1534,1750,1819">(</WORD>
<WORD coords="1557,1820,2263,1750,1802">(counter-&gt;i_vector</WORD>
<WORD coords="2276,1819,2293,1750,1819">)</WORD>
<WORD coords="2350,1802,2419,1762,1802">&gt;&gt;</WORD>
<WORD coords="2470,1819,2573,1750,1810">32)</WORD>
<WORD coords="2624,1802,2664,1750,1802">&amp;</WORD>
<WORD coords="2704,1813,2892,1756,1802">0xFFj</WORD>
</LINE>
<LINE>
<WORD coords="753,1910,1375,1841,1893">counter_block[S]</WORD>
<WORD coords="1431,1881,1466,1864,1895">=</WORD>
<WORD coords="1517,1910,1534,1841,1910">(</WORD>
<WORD coords="1557,1910,2293,1841,1893">(counter-&gt;i_vector)</WORD>
<WORD coords="2350,1893,2419,1853,1893">&gt;&gt;</WORD>
<WORD coords="2470,1910,2573,1841,1901">24)</WORD>
<WORD coords="2624,1893,2664,1841,1893">&amp;</WORD>
<WORD coords="2704,1904,2892,1847,1893">0xFF;</WORD>
</LINE>
<LINE>
<WORD coords="753,2001,1375,1933,1984">counter_block[9]</WORD>
<WORD coords="1428,1973,1466,1956,1987">=</WORD>
<WORD coords="1517,2001,1534,1933,2001">(</WORD>
<WORD coords="1557,2001,2293,1933,1984">(counter-&gt;i_vector)</WORD>
<WORD coords="2350,1984,2419,1944,1984">&gt;&gt;</WORD>
<WORD coords="2470,2001,2573,1933,1992">16)</WORD>
<WORD coords="2624,1984,2664,1933,1984">El</WORD>
<WORD coords="2704,1984,2858,1938,1984">0xFF</WORD>
<WORD coords="2869,1995,2892,1950,1995">j</WORD>
</LINE>
<LINE>
<WORD coords="753,2092,1414,2024,2075">counter_block[10]</WORD>
<WORD coords="1470,2064,1506,2047,2078">=</WORD>
<WORD coords="1557,2092,1574,2024,2092">(</WORD>
<WORD coords="1597,2092,2333,2024,2075">(counter-&gt;i_vector)</WORD>
<WORD coords="2390,2075,2458,2035,2075">&gt;&gt;</WORD>
<WORD coords="2510,2092,2573,2024,2086">3)</WORD>
<WORD coords="2624,2075,2664,2024,2075">&amp;</WORD>
<WORD coords="2704,2087,2892,2030,2075">0xFF;</WORD>
</LINE>
<LINE>
<WORD coords="753,2184,1414,2115,2167">counter_block[ll]</WORD>
<WORD coords="1471,2155,1506,2138,2169">=</WORD>
<WORD coords="1557,2184,2337,2115,2168">(fcounter-&gt;i_vector)</WORD>
<WORD coords="2390,2167,2458,2127,2167">&gt;&gt;</WORD>
<WORD coords="2504,2184,2573,2115,2178">0)</WORD>
<WORD coords="2624,2167,2664,2115,2167">El</WORD>
<WORD coords="2704,2178,2892,2121,2167">0xFF;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="753,2264,1181,2207,2258">//Increment</WORD>
<WORD coords="1232,2258,1380,2212,2258">next</WORD>
<WORD coords="1432,2258,1700,2212,2258">counter</WORD>
</LINE>
<LINE>
<WORD coords="753,2349,1101,2304,2349">counter-&gt;</WORD>
<WORD coords="1112,2349,1384,2304,2349">counter</WORD>
<WORD coords="1426,2349,1500,2309,2345">+=</WORD>
<WORD coords="1551,2361,1614,2304,2355">1;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="753,2458,1061,2389,2440">//Append</WORD>
<WORD coords="1112,2440,1381,2389,2440">Initial</WORD>
<WORD coords="1426,2440,1700,2395,2440">Counter</WORD>
<WORD coords="1745,2440,1939,2389,2440">value</WORD>
<WORD coords="1985,2440,2059,2395,2440">to</WORD>
<WORD coords="2110,2458,2462,2389,2440">remaining</WORD>
<WORD coords="2504,2440,2544,2395,2440">4</WORD>
<WORD coords="2590,2458,2778,2389,2440">bytes</WORD>
<WORD coords="2824,2440,2898,2389,2440">of</WORD>
<WORD coords="2949,2440,3217,2395,2440">counter</WORD>
<WORD coords="3269,2440,3463,2389,2440">block</WORD>
</LINE>
<LINE>
<WORD coords="753,2549,1414,2480,2532">counter_block[12]</WORD>
<WORD coords="1471,2520,1506,2503,2534">=</WORD>
<WORD coords="1557,2549,2293,2480,2532">((counter-&gt;counter)</WORD>
<WORD coords="2350,2532,2419,2492,2532">&gt;&gt;</WORD>
<WORD coords="2470,2549,2573,2480,2540">24)</WORD>
<WORD coords="2624,2532,2664,2480,2532">&amp;</WORD>
<WORD coords="2704,2532,2858,2486,2532">0xFF</WORD>
<WORD coords="2869,2543,2892,2498,0">j</WORD>
</LINE>
<LINE>
<WORD coords="753,2640,1414,2572,2623">counter_block[13]</WORD>
<WORD coords="1467,2612,1506,2595,2626">=</WORD>
<WORD coords="1557,2640,1574,2572,2640">(</WORD>
<WORD coords="1597,2640,2293,2572,2623">(counter-&gt;counter)</WORD>
<WORD coords="2350,2623,2419,2583,2623">&gt;&gt;</WORD>
<WORD coords="2470,2640,2573,2572,2631">16)</WORD>
<WORD coords="2624,2623,2664,2572,2623">&amp;</WORD>
<WORD coords="2704,2634,2892,2577,2623">0xFFj</WORD>
</LINE>
<LINE>
<WORD coords="753,2731,1414,2663,2714">counter_block[14]</WORD>
<WORD coords="1471,2703,1506,2686,2717">=</WORD>
<WORD coords="1557,2731,1574,2663,2731">(</WORD>
<WORD coords="1597,2731,1935,2663,2714">(counter-</WORD>
<WORD coords="1951,2731,2293,2663,2714">&gt;counter)</WORD>
<WORD coords="2350,2714,2419,2674,2714">&gt;&gt;</WORD>
<WORD coords="2470,2731,2533,2663,2725">3)</WORD>
<WORD coords="2584,2714,2624,2663,2714">&amp;</WORD>
<WORD coords="2664,2726,2852,2669,2714">0xFF;</WORD>
</LINE>
<LINE>
<WORD coords="753,2823,1414,2754,2806">counter_block[15]</WORD>
<WORD coords="1470,2794,1506,2777,2808">=</WORD>
<WORD coords="1557,2823,1574,2754,2823">(</WORD>
<WORD coords="1597,2823,2293,2754,2806">(counter-&gt;counter)</WORD>
<WORD coords="2350,2806,2419,2766,2806">&gt;&gt;</WORD>
<WORD coords="2464,2823,2533,2754,2817">0)</WORD>
<WORD coords="2584,2806,2624,2754,2806">El</WORD>
<WORD coords="2664,2817,2852,2760,2806">0xFF;</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,2915,621,2847,2915">}</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,3107,705,3043,3105">For</WORD>
<WORD coords="733,3107,897,3043,3105">CTR</WORD>
<WORD coords="929,3117,1149,3045,3106">mode,</WORD>
<WORD coords="1181,3107,1335,3045,3106">both</WORD>
<WORD coords="1367,3123,1743,3045,3106">encryption</WORD>
<WORD coords="1775,3107,1907,3045,3106">and</WORD>
<WORD coords="1937,3123,2313,3045,3106">decryption</WORD>
<WORD coords="2343,3107,2593,3043,3105">follows</WORD>
<WORD coords="2621,3107,2731,3045,3106">the</WORD>
<WORD coords="2761,3107,2959,3059,3106">same</WORD>
<WORD coords="2989,3107,3071,3061,3107">as</WORD>
<WORD coords="3099,3123,3447,3043,3106">explained</WORD>
<WORD coords="3479,3107,3723,3045,3105">earlier.</WORD>
<WORD coords="3757,3107,3851,3043,3107">So</WORD>
<WORD coords="3879,3107,4065,3045,3106">there</WORD>
<WORD coords="4097,3107,4149,3045,3106">is</WORD>
<WORD coords="4177,3123,4325,3045,3105">only</WORD>
<WORD coords="4353,3107,4485,3059,3106">one</WORD>
</LINE>
<LINE>
<WORD coords="583,3217,867,3153,3216">function</WORD>
<WORD coords="897,3217,993,3153,3215">for</WORD>
<WORD coords="1021,3217,1173,3153,3216">both</WORD>
<WORD coords="1205,3233,1579,3153,3216">encryption</WORD>
<WORD coords="1613,3217,1743,3153,3216">and</WORD>
<WORD coords="1773,3233,2171,3153,3216">decryption.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0022.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0023.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0023.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="582,550,730,501,550">void</WORD>
<WORD coords="780,567,1308,501,550">ctr_encrypt_de</WORD>
<WORD coords="1319,567,1501,506,550">crypt</WORD>
<WORD coords="1556,567,1848,501,550">(uintS_t</WORD>
<WORD coords="1898,567,2355,501,550">*input_block</WORD>
<WORD coords="2399,561,2421,539,561">^</WORD>
<WORD coords="2476,567,2735,501,550">uint8_t</WORD>
<WORD coords="2784,567,3280,501,550">*output_t&gt;locfc</WORD>
<WORD coords="3286,561,3308,539,561">J</WORD>
<WORD coords="3363,567,3699,501,550">ctr_bl.k_t</WORD>
<WORD coords="3748,561,4079,501,550">^counter^</WORD>
<WORD coords="4134,567,4431,501,550">uint32_t</WORD>
<WORD coords="4481,567,4657,501,550">size)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,657,615,589,657">{</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,743,1039,677,726">uint32_t</WORD>
<WORD coords="1088,743,1501,677,726">block_count</WORD>
<WORD coords="1550,715,1584,699,720">=</WORD>
<WORD coords="1622,737,1688,682,734">0.,</WORD>
<WORD coords="1744,743,2349,677,726">input_block_size</WORD>
<WORD coords="2398,715,2432,699,720">=</WORD>
<WORD coords="2471,737,2537,682,737">0_i</WORD>
</LINE>
<LINE>
<WORD coords="741,831,1000,765,814">uint3_t</WORD>
<WORD coords="1050,831,1424,765,814">byte_count</WORD>
<WORD coords="1472,803,1507,787,808">=</WORD>
<WORD coords="1545,826,1611,770,820">0j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,996,1154,941,991">//Calculate</WORD>
<WORD coords="1204,1007,1386,941,991">input</WORD>
<WORD coords="1435,991,1622,941,991">block</WORD>
<WORD coords="1666,991,1810,941,991">size</WORD>
</LINE>
<LINE>
<WORD coords="741,1095,1347,1029,1079">input_block_size</WORD>
<WORD coords="1391,1068,1430,1051,1081">=</WORD>
<WORD coords="1479,1095,1655,1029,1079">(size</WORD>
<WORD coords="1705,1084,1733,1029,1084">/</WORD>
<WORD coords="1777,1095,2311,1035,1079">AE5_BL0CK_SIZE</WORD>
<WORD coords="2366,1095,2421,1029,1092">)^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="737,1261,962,1206,1255">//Hove</WORD>
<WORD coords="1006,1255,1116,1206,1255">the</WORD>
<WORD coords="1165,1255,1424,1206,1255">initial</WORD>
<WORD coords="1474,1255,1733,1211,1255">counter</WORD>
<WORD coords="1777,1255,1848,1211,1255">to</WORD>
<WORD coords="1898,1255,2081,1206,1255">local</WORD>
<WORD coords="2129,1255,2388,1211,1255">counter</WORD>
<WORD coords="2437,1255,2625,1206,1255">block</WORD>
</LINE>
<LINE>
<WORD coords="741,1360,1039,1294,1343">//Append</WORD>
<WORD coords="1083,1343,1270,1299,1343">Nonce</WORD>
<WORD coords="1314,1343,1386,1299,1343">to</WORD>
<WORD coords="1430,1343,1617,1294,1343">first</WORD>
<WORD coords="1661,1343,1699,1299,1343">4</WORD>
<WORD coords="1744,1360,1925,1294,1343">bytes</WORD>
<WORD coords="1969,1343,2041,1294,1343">of</WORD>
<WORD coords="2091,1343,2349,1299,1343">counter</WORD>
<WORD coords="2399,1343,2586,1294,1343">block</WORD>
</LINE>
<LINE>
<WORD coords="741,1448,1342,1382,1431">counter_block[0]</WORD>
<WORD coords="1391,1420,1430,1404,1434">=</WORD>
<WORD coords="1479,1448,1496,1382,1448">(</WORD>
<WORD coords="1518,1448,1810,1382,1431">(counter</WORD>
<WORD coords="1826,1448,2113,1382,1431">-&gt;nonce)</WORD>
<WORD coords="2168,1431,2234,1393,1431">&gt;&gt;</WORD>
<WORD coords="2283,1448,2382,1382,1439">24)</WORD>
<WORD coords="2432,1431,2471,1382,1431">H</WORD>
<WORD coords="2509,1442,2691,1387,1431">0xFF^</WORD>
</LINE>
<LINE>
<WORD coords="741,1536,1264,1470,1519">counter_block[</WORD>
<WORD coords="1281,1536,1342,1470,1530">1]</WORD>
<WORD coords="1391,1508,1430,1492,1522">=</WORD>
<WORD coords="1479,1536,1496,1470,1536">(</WORD>
<WORD coords="1518,1536,2113,1470,1519">(counter-&gt;nonce)</WORD>
<WORD coords="2168,1519,2234,1481,1519">&gt;&gt;</WORD>
<WORD coords="2283,1536,2382,1470,1527">16)</WORD>
<WORD coords="2432,1519,2471,1470,1519">El</WORD>
<WORD coords="2509,1530,2691,1475,1519">0kFF^</WORD>
</LINE>
<LINE>
<WORD coords="741,1624,1264,1558,1608">counter_block[</WORD>
<WORD coords="1281,1608,1308,1564,1616">2</WORD>
<WORD coords="1325,1624,1342,1558,1624">]</WORD>
<WORD coords="1391,1597,1430,1580,1610">=</WORD>
<WORD coords="1479,1624,1496,1558,1624">(</WORD>
<WORD coords="1518,1624,2113,1558,1608">(counter-&gt;nonce)</WORD>
<WORD coords="2168,1608,2234,1569,1608">&gt;&gt;</WORD>
<WORD coords="2283,1624,2344,1558,1608">S)</WORD>
<WORD coords="2393,1608,2432,1558,1608">El</WORD>
<WORD coords="2471,1619,2652,1564,1608">0kFF.j</WORD>
</LINE>
<LINE>
<WORD coords="741,1712,1264,1646,1696">counter_block[</WORD>
<WORD coords="1281,1696,1308,1652,1704">3</WORD>
<WORD coords="1325,1712,1342,1646,1712">]</WORD>
<WORD coords="1391,1685,1430,1668,1698">=</WORD>
<WORD coords="1479,1712,1496,1646,1712">(</WORD>
<WORD coords="1518,1712,2113,1646,1696">(counter-&gt;nonce)</WORD>
<WORD coords="2168,1696,2234,1657,1696">&gt;&gt;</WORD>
<WORD coords="2278,1712,2344,1646,1706">0)</WORD>
<WORD coords="2393,1696,2432,1646,1696">&amp;</WORD>
<WORD coords="2471,1707,2652,1652,1696">0xFF^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,1800,1039,1734,1784">//Append</WORD>
<WORD coords="1088,1784,1160,1740,1784">IV</WORD>
<WORD coords="1198,1784,1270,1740,1784">to</WORD>
<WORD coords="1319,1784,1463,1740,1784">next</WORD>
<WORD coords="1512,1784,1540,1740,1784">S</WORD>
<WORD coords="1589,1800,1771,1734,1784">bytes</WORD>
<WORD coords="1815,1784,1887,1734,1784">of</WORD>
<WORD coords="1936,1784,2196,1740,1784">counter</WORD>
<WORD coords="2245,1784,2432,1734,1784">block</WORD>
</LINE>
<LINE>
<WORD coords="741,1888,1342,1822,1872">counter_block[4]</WORD>
<WORD coords="1391,1861,1430,1844,1874">=</WORD>
<WORD coords="1479,1888,1540,1822,1888">((</WORD>
<WORD coords="1551,1872,1848,1828,1872">counter-</WORD>
<WORD coords="1859,1888,2118,1822,1872">&gt;i_vect</WORD>
<WORD coords="2124,1888,2228,1822,1872">or)</WORD>
<WORD coords="2283,1872,2349,1833,1872">&gt;&gt;</WORD>
<WORD coords="2399,1888,2498,1822,1880">56)</WORD>
<WORD coords="2548,1872,2586,1822,1872">&amp;</WORD>
<WORD coords="2625,1883,2806,1828,1874">0xFF,i</WORD>
</LINE>
<LINE>
<WORD coords="741,1977,1264,1911,1960">counter_block[</WORD>
<WORD coords="1281,1960,1308,1916,1968">5</WORD>
<WORD coords="1325,1977,1342,1911,1977">]</WORD>
<WORD coords="1391,1949,1430,1933,1963">=</WORD>
<WORD coords="1479,1977,1540,1911,1977">((</WORD>
<WORD coords="1551,1960,1848,1916,1960">counter-</WORD>
<WORD coords="1859,1977,2118,1911,1960">&gt;i_vect</WORD>
<WORD coords="2124,1977,2228,1911,1960">or)</WORD>
<WORD coords="2283,1960,2349,1922,1960">»</WORD>
<WORD coords="2393,1977,2498,1911,1960">4S)</WORD>
<WORD coords="2548,1960,2586,1911,1960">&amp;</WORD>
<WORD coords="2625,1960,2773,1916,1960">0xFF</WORD>
<WORD coords="2784,1971,2794,1950,1971">:</WORD>
<WORD coords="2794,1971,2806,1927,1971">;</WORD>
</LINE>
<LINE>
<WORD coords="741,2065,1264,1999,2048">counter_block[</WORD>
<WORD coords="1281,2048,1308,2004,2056">6</WORD>
<WORD coords="1325,2065,1342,1999,2065">]</WORD>
<WORD coords="1391,2037,1430,2021,2051">=</WORD>
<WORD coords="1479,2065,1540,1999,2065">((</WORD>
<WORD coords="1551,2048,1848,2004,2048">counter-</WORD>
<WORD coords="1859,2065,2118,1999,2048">&gt;i_vect</WORD>
<WORD coords="2124,2065,2228,1999,2048">or)</WORD>
<WORD coords="2283,2048,2349,2010,2048">»</WORD>
<WORD coords="2393,2065,2498,1999,2054">40)</WORD>
<WORD coords="2548,2048,2586,1999,2048">&amp;</WORD>
<WORD coords="2625,2059,2806,2004,2048">0xFF^</WORD>
</LINE>
<LINE>
<WORD coords="741,2153,1342,2087,2136">counter_block[7]</WORD>
<WORD coords="1391,2125,1430,2109,2139">=</WORD>
<WORD coords="1479,2153,1540,2087,2153">((</WORD>
<WORD coords="1551,2136,1848,2092,2136">counter-</WORD>
<WORD coords="1859,2153,2118,2087,2136">&gt;i_vect</WORD>
<WORD coords="2124,2153,2228,2087,2136">or)</WORD>
<WORD coords="2283,2136,2349,2098,2136">»</WORD>
<WORD coords="2399,2153,2498,2087,2142">32)</WORD>
<WORD coords="2548,2136,2586,2087,2136">&amp;</WORD>
<WORD coords="2625,2147,2806,2092,2136">0xFF_^</WORD>
</LINE>
<LINE>
<WORD coords="741,2241,1264,2175,2224">counter_block[</WORD>
<WORD coords="1281,2224,1308,2180,2224">S</WORD>
<WORD coords="1325,2241,1342,2175,2241">]</WORD>
<WORD coords="1391,2213,1430,2197,2227">=</WORD>
<WORD coords="1479,2241,1501,2175,2241">(</WORD>
<WORD coords="1518,2241,1848,2175,2224">(counter-</WORD>
<WORD coords="1859,2241,2228,2175,2224">&gt;i_vector)</WORD>
<WORD coords="2283,2224,2349,2186,2224">»</WORD>
<WORD coords="2399,2241,2498,2175,2230">24)</WORD>
<WORD coords="2548,2224,2586,2175,2224">&amp;</WORD>
<WORD coords="2625,2235,2806,2180,2224">0xFF^</WORD>
</LINE>
<LINE>
<WORD coords="741,2329,1264,2263,2313">counter_block[</WORD>
<WORD coords="1281,2313,1308,2269,2313">9</WORD>
<WORD coords="1325,2329,1342,2263,2329">]</WORD>
<WORD coords="1391,2302,1430,2285,2315">=</WORD>
<WORD coords="1479,2329,1496,2263,2329">(</WORD>
<WORD coords="1518,2329,1534,2263,0">(</WORD>
<WORD coords="1551,2329,2199,2263,2313">counter-&gt;i_vector</WORD>
<WORD coords="2212,2329,2228,2263,2329">)</WORD>
<WORD coords="2283,2313,2349,2274,2313">&gt;&gt;</WORD>
<WORD coords="2399,2329,2498,2263,2321">16)</WORD>
<WORD coords="2548,2313,2586,2263,2313">&amp;</WORD>
<WORD coords="2625,2324,2806,2269,2313">0xFF^</WORD>
</LINE>
<LINE>
<WORD coords="741,2417,1380,2351,2401">counter_block[10]</WORD>
<WORD coords="1434,2390,1468,2373,2403">=</WORD>
<WORD coords="1518,2417,1534,2351,2417">(</WORD>
<WORD coords="1556,2417,1849,2351,2401">(counter</WORD>
<WORD coords="1859,2417,2267,2351,2401">-&gt;i_vector)</WORD>
<WORD coords="2322,2401,2388,2362,2401">&gt;&gt;</WORD>
<WORD coords="2437,2417,2498,2351,2401">S)</WORD>
<WORD coords="2548,2401,2586,2351,2401">El</WORD>
<WORD coords="2625,2412,2806,2357,2401">0kFF;</WORD>
</LINE>
<LINE>
<WORD coords="741,2505,1380,2439,2489">counter_block[ll]</WORD>
<WORD coords="1434,2478,1468,2461,2491">=</WORD>
<WORD coords="1518,2505,1534,2439,2505">(</WORD>
<WORD coords="1556,2505,2267,2439,2489">(counter-&gt;i_vector)</WORD>
<WORD coords="2322,2489,2388,2450,2489">&gt;&gt;</WORD>
<WORD coords="2432,2505,2498,2439,2499">0)</WORD>
<WORD coords="2548,2489,2586,2439,2489">&amp;</WORD>
<WORD coords="2625,2500,2806,2445,2489">0xFF^</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,2593,1039,2527,2577">//Append</WORD>
<WORD coords="1088,2577,1349,2527,2577">Initial</WORD>
<WORD coords="1391,2577,1656,2533,2577">Counter</WORD>
<WORD coords="1699,2577,1887,2527,2577">value</WORD>
<WORD coords="1931,2577,2002,2533,2577">to</WORD>
<WORD coords="2052,2593,2392,2527,2577">remaining</WORD>
<WORD coords="2432,2577,2471,2533,2577">4</WORD>
<WORD coords="2515,2593,2696,2527,2577">bytes</WORD>
<WORD coords="2740,2577,2812,2527,2577">of</WORD>
<WORD coords="2862,2577,3120,2533,2577">counter</WORD>
<WORD coords="3170,2577,3357,2527,2577">block</WORD>
</LINE>
<LINE>
<WORD coords="741,2682,1264,2616,2665">counter_block[</WORD>
<WORD coords="1281,2665,1347,2621,2670">12</WORD>
<WORD coords="1364,2682,1380,2616,2682">]</WORD>
<WORD coords="1431,2654,1468,2638,2668">=</WORD>
<WORD coords="1518,2682,1534,2616,2682">(</WORD>
<WORD coords="1556,2682,2228,2616,2665">(counter-&gt;counter)</WORD>
<WORD coords="2283,2665,2349,2627,2665">&gt;&gt;</WORD>
<WORD coords="2399,2682,2498,2616,2673">24)</WORD>
<WORD coords="2548,2665,2586,2616,2665">&amp;</WORD>
<WORD coords="2625,2676,2806,2621,2665">0xFF^</WORD>
</LINE>
<LINE>
<WORD coords="741,2770,1264,2704,2753">counter_block[</WORD>
<WORD coords="1281,2753,1347,2709,2758">13</WORD>
<WORD coords="1364,2770,1380,2704,2770">]</WORD>
<WORD coords="1430,2742,1468,2726,2756">=</WORD>
<WORD coords="1518,2770,1534,2704,2770">(</WORD>
<WORD coords="1556,2770,2195,2704,2753">(counter-&gt;counter</WORD>
<WORD coords="2212,2770,2228,2704,2770">)</WORD>
<WORD coords="2283,2753,2349,2715,2753">&gt;&gt;</WORD>
<WORD coords="2399,2770,2498,2704,2761">16)</WORD>
<WORD coords="2548,2753,2586,2704,2753">El</WORD>
<WORD coords="2625,2753,2773,2709,2753">0xFF</WORD>
<WORD coords="2784,2764,2806,2720,2764">j</WORD>
</LINE>
<LINE>
<WORD coords="741,2858,1380,2792,2841">counter_block[14]</WORD>
<WORD coords="1431,2830,1468,2814,2844">=</WORD>
<WORD coords="1518,2858,1534,2792,2858">(</WORD>
<WORD coords="1556,2858,2228,2792,2841">(counter-&gt;counter)</WORD>
<WORD coords="2283,2841,2349,2803,2841">&gt;&gt;</WORD>
<WORD coords="2399,2858,2460,2792,2841">B)</WORD>
<WORD coords="2509,2841,2548,2792,2841">El</WORD>
<WORD coords="2586,2852,2768,2797,2841">0xFF;</WORD>
</LINE>
<LINE>
<WORD coords="741,2946,1380,2880,2929">counter_block[15]</WORD>
<WORD coords="1431,2918,1468,2902,2932">=</WORD>
<WORD coords="1518,2946,1534,2880,2946">(</WORD>
<WORD coords="1556,2946,2228,2880,2929">(counter-&gt;counter)</WORD>
<WORD coords="2283,2929,2349,2891,2929">&gt;&gt;</WORD>
<WORD coords="2393,2946,2460,2880,2940">0)</WORD>
<WORD coords="2509,2929,2548,2880,2929">&amp;</WORD>
<WORD coords="2586,2940,2768,2885,2929">0xFFj</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,3111,923,3056,3106">//Run</WORD>
<WORD coords="973,3122,1347,3056,3106">Encryption</WORD>
<WORD coords="1391,3106,1502,3056,3106">for</WORD>
<WORD coords="1551,3122,1733,3056,3106">input</WORD>
<WORD coords="1782,3106,2002,3056,3106">blocks</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="741,3210,1308,3144,3194">for(block_count</WORD>
<WORD coords="1353,3183,1391,3166,3188">=</WORD>
<WORD coords="1430,3205,1496,3150,3201">0^</WORD>
<WORD coords="1551,3210,1964,3144,3194">block_count</WORD>
<WORD coords="2013,3194,2041,3155,3194">&lt;</WORD>
<WORD coords="2091,3210,2729,3144,3194">input_block_size^</WORD>
<WORD coords="2784,3210,3352,3144,3194">block_count++){</WORD>
</LINE>
<LINE>
<WORD coords="895,3282,962,3232,3282">if</WORD>
<WORD coords="1017,3298,1083,3232,3290">(0</WORD>
<WORD coords="1132,3282,1198,3232,3279">!=</WORD>
<WORD coords="1242,3298,1688,3232,3282">b!ock_count)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1050,3387,1650,3321,3370">ctr_inc_counter(</WORD>
<WORD coords="1666,3370,1925,3326,3370">counter</WORD>
<WORD coords="1942,3387,1958,3321,3384">)</WORD>
<WORD coords="1975,3381,1997,3337,0">j</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="895,3552,1231,3497,3546">//Forward</WORD>
<WORD coords="1281,3563,1501,3497,3546">cipher</WORD>
<WORD coords="1545,3546,1617,3497,3546">of</WORD>
<WORD coords="1666,3546,1926,3502,3546">counter</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="895,3651,1843,3585,3634">aes_cipher(counter_blockj</WORD>
<WORD coords="1893,3651,2355,3585,3634">output_block</WORD>
<WORD coords="2394,3634,2426,3596,3642">4</WORD>
<WORD coords="2482,3651,2928,3585,3634">(block_count</WORD>
<WORD coords="2977,3612,3005,3585,3623">*</WORD>
<WORD coords="3049,3651,3583,3590,3634">AE5_BLOCK_5IZE</WORD>
<WORD coords="3600,3651,3616,3585,3651">)</WORD>
<WORD coords="3638,3651,3655,3585,3648">)</WORD>
<WORD coords="3671,3645,3693,3601,0">±</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="895,3816,1077,3761,3811">//XGR</WORD>
<WORD coords="1121,3811,1194,3761,3811">of</WORD>
<WORD coords="1242,3827,1424,3761,3811">plain</WORD>
<WORD coords="1468,3811,1617,3767,3811">text</WORD>
<WORD coords="1661,3811,1810,3761,3811">with</WORD>
<WORD coords="1854,3811,1964,3761,3811">the</WORD>
<WORD coords="2008,3827,2234,3767,3811">output</WORD>
<WORD coords="2283,3811,2471,3761,3811">block</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="895,3899,1006,3849,3899">for</WORD>
<WORD coords="1055,3915,1463,3849,3899">(byte_count</WORD>
<WORD coords="1512,3910,1611,3855,3901">=0;</WORD>
<WORD coords="1666,3915,2041,3849,3899">byte_count</WORD>
<WORD coords="2091,3899,2118,3860,3899">&lt;</WORD>
<WORD coords="2162,3915,2729,3855,3899">AE5_BLOCK_5IZEj</WORD>
<WORD coords="2784,3915,3269,3849,3899">byte_count++)</WORD>
<WORD coords="3286,3915,3313,3849,0">{</WORD>
</LINE>
<LINE>
<WORD coords="1044,4003,1925,3937,3987">output_block[byte_count</WORD>
<WORD coords="1969,3987,2008,3948,3995">+</WORD>
<WORD coords="2057,4003,2504,3937,3987">(block_count</WORD>
<WORD coords="2553,3965,2581,3937,3976">*</WORD>
<WORD coords="2625,4003,3192,3937,3987">AES_BLOCK_SIZE)</WORD>
<WORD coords="3214,4003,3231,3937,4003">]</WORD>
<WORD coords="3282,3976,3319,3959,3976">=</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1358,4092,2195,4025,4075">input_block[byte_count</WORD>
<WORD coords="2239,4075,2272,4037,4083">4</WORD>
<WORD coords="2327,4092,2773,4025,4075">(block_count</WORD>
<WORD coords="2823,4053,2851,4025,4064">*</WORD>
<WORD coords="2895,4092,3462,4025,4075">AE5_B_OCK_5IZE)</WORD>
<WORD coords="3484,4092,3500,4025,4092">]</WORD>
<WORD coords="3555,4053,3583,4031,4053">A</WORD>
</LINE>
<LINE>
<WORD coords="1353,4180,2234,4114,4163">output_block[byte_count</WORD>
<WORD coords="2279,4163,2312,4125,4171">4</WORD>
<WORD coords="2366,4180,2812,4114,4163">(block_count</WORD>
<WORD coords="2862,4141,2889,4114,4152">*</WORD>
<WORD coords="2933,4180,3500,4114,4163">AE5_BLOCK_5IZE)</WORD>
<WORD coords="3522,4180,3578,4114,4177">];</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="895,4357,923,4291,4357">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645884">
<PARAGRAPH>
<LINE>
<WORD coords="741,4533,769,4467,4533">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="587,4709,615,4643,4709">}</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4383,6295,4643,6193,6295">TYl©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0023.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0024.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0024.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,603,343,517,603">5</WORD>
<WORD coords="585,603,817,513,601">AES</WORD>
<WORD coords="857,603,1085,515,602">-128</WORD>
<WORD coords="1129,625,1597,515,601">Example</WORD>
<WORD coords="1639,625,2489,515,601">Implementation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,753,723,689,751">The</WORD>
<WORD coords="753,769,1141,689,752">application</WORD>
<WORD coords="1175,753,1327,695,752">note</WORD>
<WORD coords="1357,753,1597,705,752">comes</WORD>
<WORD coords="1623,753,1765,689,751">with</WORD>
<WORD coords="1795,753,1905,689,752">the</WORD>
<WORD coords="1937,753,2181,705,752">source</WORD>
<WORD coords="2209,769,2581,689,751">containing</WORD>
<WORD coords="2611,753,2723,689,752">the</WORD>
<WORD coords="2751,753,2911,689,751">AES</WORD>
<WORD coords="2943,769,3165,689,751">library</WORD>
<WORD coords="3191,753,3323,689,752">and</WORD>
<WORD coords="3353,753,3557,689,752">demo</WORD>
<WORD coords="3587,769,3915,689,752">example.</WORD>
<WORD coords="3945,753,4099,689,751">This</WORD>
<WORD coords="4127,753,4383,689,752">section</WORD>
<WORD coords="4415,769,4603,689,752">gives</WORD>
</LINE>
<LINE>
<WORD coords="585,861,765,797,860">short</WORD>
<WORD coords="791,877,1185,797,860">description</WORD>
<WORD coords="1219,861,1423,797,861">about</WORD>
<WORD coords="1447,861,1559,797,860">the</WORD>
<WORD coords="1587,861,1791,797,860">demo</WORD>
<WORD coords="1821,877,2211,797,860">application</WORD>
<WORD coords="2243,861,2307,797,860">of</WORD>
<WORD coords="2335,861,2663,797,859">AES-128</WORD>
<WORD coords="2691,877,2999,797,859">covering</WORD>
<WORD coords="3031,861,3105,797,859">all</WORD>
<WORD coords="3137,861,3175,799,861">5</WORD>
<WORD coords="3209,861,3471,797,860">modes.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,993,677,963,997">•</WORD>
<WORD coords="809,1003,1137,939,1001">AES-128</WORD>
<WORD coords="1167,1003,1297,941,1002">and</WORD>
<WORD coords="1327,1003,1451,939,1001">five</WORD>
<WORD coords="1481,1019,1981,939,1002">confidentiality</WORD>
<WORD coords="2011,1003,2253,941,1002">modes</WORD>
<WORD coords="2283,1003,2395,955,1002">are</WORD>
<WORD coords="2427,1019,2893,941,1002">implemented</WORD>
<WORD coords="2925,1003,2989,945,1003">at</WORD>
<WORD coords="3015,1003,3139,945,1002">two</WORD>
<WORD coords="3173,1003,3397,941,1002">levels.</WORD>
<WORD coords="3427,1003,3567,939,1001">The</WORD>
<WORD coords="3597,1003,3757,939,1001">AES</WORD>
<WORD coords="3789,1019,4121,941,1001">algorithm</WORD>
<WORD coords="4155,1019,4503,941,1002">explained</WORD>
<WORD coords="4535,1001,4589,939,1001">in</WORD>
</LINE>
<LINE>
<WORD coords="809,1127,1083,1047,1110">chapter</WORD>
<WORD coords="1109,1111,1149,1049,1111">3</WORD>
<WORD coords="1179,1111,1245,1047,1110">of</WORD>
<WORD coords="1269,1111,1395,1047,1110">this</WORD>
<WORD coords="1425,1127,1815,1047,1110">application</WORD>
<WORD coords="1849,1111,2001,1053,1110">note</WORD>
<WORD coords="2033,1111,2085,1047,1110">is</WORD>
<WORD coords="2117,1127,2583,1047,1110">implemented</WORD>
<WORD coords="2617,1109,2671,1047,1109">in</WORD>
<WORD coords="2703,1111,3121,1047,1110">aes.c/aes.h</WORD>
<WORD coords="3151,1111,3275,1047,1109">file.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1225,677,1195,1229">•</WORD>
<WORD coords="809,1235,947,1171,1233">The</WORD>
<WORD coords="975,1235,1099,1171,1233">five</WORD>
<WORD coords="1129,1251,1629,1171,1234">confidentiality</WORD>
<WORD coords="1659,1235,1901,1173,1234">modes</WORD>
<WORD coords="1931,1235,2043,1187,1234">are</WORD>
<WORD coords="2075,1251,2543,1173,1234">implemented</WORD>
<WORD coords="2575,1233,2629,1173,1233">in</WORD>
<WORD coords="2661,1251,3171,1173,1234">crypt.c/crypt.h</WORD>
<WORD coords="3201,1235,3303,1171,1233">file</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1349,677,1319,1354">•</WORD>
<WORD coords="809,1361,947,1297,1359">The</WORD>
<WORD coords="977,1377,1285,1297,1360">example</WORD>
<WORD coords="1317,1361,1369,1297,1360">is</WORD>
<WORD coords="1401,1377,1867,1297,1360">implemented</WORD>
<WORD coords="1899,1359,1953,1297,1359">in</WORD>
<WORD coords="1985,1361,2027,1313,1361">a</WORD>
<WORD coords="2053,1377,2199,1313,1360">way</WORD>
<WORD coords="2223,1361,2359,1297,1360">that</WORD>
<WORD coords="2389,1361,2475,1299,1360">64</WORD>
<WORD coords="2505,1377,2697,1297,1361">bytes</WORD>
<WORD coords="2729,1375,2855,1297,1360">(i.e.</WORD>
<WORD coords="2893,1361,2973,1299,1360">16</WORD>
<WORD coords="3007,1377,3181,1297,1360">input</WORD>
<WORD coords="3211,1375,3465,1297,1360">blocks)</WORD>
<WORD coords="3497,1361,3563,1297,1360">of</WORD>
<WORD coords="3593,1377,3755,1297,1359">plain</WORD>
<WORD coords="3785,1361,3919,1303,1360">text</WORD>
<WORD coords="3947,1361,4059,1313,1360">are</WORD>
<WORD coords="4089,1377,4447,1297,1360">encrypted</WORD>
<WORD coords="4479,1361,4609,1297,1360">and</WORD>
</LINE>
<LINE>
<WORD coords="809,1485,1167,1405,1468">decrypted</WORD>
<WORD coords="1199,1485,1389,1405,1468">using</WORD>
<WORD coords="1421,1469,1495,1405,1467">all</WORD>
<WORD coords="1529,1469,1771,1405,1468">modes</WORD>
<WORD coords="1799,1485,2181,1405,1468">separately</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1583,677,1553,1587">•</WORD>
<WORD coords="809,1593,947,1529,1591">The</WORD>
<WORD coords="977,1609,1351,1531,1592">decrypting</WORD>
<WORD coords="1385,1609,1715,1545,1592">message</WORD>
<WORD coords="1745,1593,1871,1545,1592">can</WORD>
<WORD coords="1903,1593,1987,1531,1593">be</WORD>
<WORD coords="2017,1593,2269,1531,1592">viewed</WORD>
<WORD coords="2303,1591,2357,1531,1591">in</WORD>
<WORD coords="2385,1593,2497,1531,1592">the</WORD>
<WORD coords="2525,1593,2815,1531,1591">terminal</WORD>
<WORD coords="2845,1593,3119,1531,1591">window</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1707,677,1677,1712">•</WORD>
<WORD coords="813,1719,993,1655,1717">From</WORD>
<WORD coords="1025,1719,1135,1655,1718">the</WORD>
<WORD coords="1169,1719,1363,1655,1718">result</WORD>
<WORD coords="1393,1717,1429,1655,1717">if</WORD>
<WORD coords="1455,1719,1565,1655,1718">the</WORD>
<WORD coords="1595,1735,1953,1655,1718">decrypted</WORD>
<WORD coords="1983,1719,2141,1655,1719">data</WORD>
<WORD coords="2173,1719,2223,1655,1718">is</WORD>
<WORD coords="2251,1719,2451,1671,1718">same</WORD>
<WORD coords="2481,1719,2561,1671,1719">as</WORD>
<WORD coords="2589,1719,2699,1655,1718">the</WORD>
<WORD coords="2731,1735,2897,1655,1717">plain</WORD>
<WORD coords="2927,1729,3079,1661,1718">text,</WORD>
<WORD coords="3109,1719,3235,1655,1718">this</WORD>
<WORD coords="3263,1719,3601,1655,1718">conforms</WORD>
<WORD coords="3629,1719,3739,1655,1718">the</WORD>
<WORD coords="3767,1735,4049,1655,1717">working</WORD>
<WORD coords="4079,1719,4145,1655,1718">of</WORD>
<WORD coords="4173,1719,4345,1655,1718">each</WORD>
<WORD coords="4379,1719,4579,1655,1718">mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1833,677,1803,1838">•</WORD>
<WORD coords="809,1845,947,1781,1843">The</WORD>
<WORD coords="979,1845,1221,1781,1844">modes</WORD>
<WORD coords="1249,1845,1375,1797,1844">can</WORD>
<WORD coords="1407,1845,1491,1781,1845">be</WORD>
<WORD coords="1523,1861,2037,1781,1844">independently</WORD>
<WORD coords="2063,1845,2351,1781,1844">enabled</WORD>
<WORD coords="2383,1845,2453,1797,1844">or</WORD>
<WORD coords="2479,1845,2783,1781,1844">disabled</WORD>
<WORD coords="2815,1843,2871,1781,1843">in</WORD>
<WORD coords="2901,1861,3481,1781,1843">confexample.h</WORD>
<WORD coords="3513,1845,3593,1797,1845">as</WORD>
<WORD coords="3625,1845,3855,1781,1844">below.</WORD>
<WORD coords="3891,1861,3981,1781,1843">By</WORD>
<WORD coords="4007,1845,4253,1781,1844">default</WORD>
<WORD coords="4285,1845,4359,1781,1843">all</WORD>
<WORD coords="4389,1845,4499,1781,1844">the</WORD>
</LINE>
<LINE>
<WORD coords="813,1953,1055,1889,1952">modes</WORD>
<WORD coords="1085,1953,1197,1905,1952">are</WORD>
<WORD coords="1227,1953,1515,1889,1952">enabled</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="593,2156,662,2098,2144">/*</WORD>
<WORD coords="712,2150,823,2104,2150">Set</WORD>
<WORD coords="869,2150,944,2104,2150">to</WORD>
<WORD coords="990,2150,1145,2104,2150">true</WORD>
<WORD coords="1191,2150,1266,2104,2150">to</WORD>
<WORD coords="1313,2150,1548,2098,2150">enable</WORD>
<WORD coords="1600,2167,1991,2098,2150">respective</WORD>
<WORD coords="2037,2150,2192,2098,2150">mode</WORD>
</LINE>
<LINE>
<WORD coords="633,2219,662,2190,2230">*</WORD>
<WORD coords="714,2242,823,2196,2242">set</WORD>
<WORD coords="869,2242,944,2196,2242">to</WORD>
<WORD coords="990,2242,1186,2190,2242">false</WORD>
<WORD coords="1232,2242,1306,2196,2242">to</WORD>
<WORD coords="1352,2242,1629,2190,2242">disable</WORD>
<WORD coords="1675,2242,1790,2190,2242">the</WORD>
<WORD coords="1841,2259,2233,2190,2242">respective</WORD>
<WORD coords="2279,2242,2434,2190,2242">mode</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="633,2340,702,2282,2340">V</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,2432,1226,2375,2426">//Enable/Disable</WORD>
<WORD coords="1278,2426,1387,2380,2426">ECB</WORD>
<WORD coords="1433,2426,1588,2375,2426">mode</WORD>
</LINE>
<LINE>
<WORD coords="587,2518,863,2467,2518">#define</WORD>
<WORD coords="909,2536,1186,2472,2518">AES_ECB</WORD>
<WORD coords="1352,2518,1508,2472,2518">true</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,2708,1226,2651,2703">//Enable/Disable</WORD>
<WORD coords="1273,2703,1387,2656,2703">CBC</WORD>
<WORD coords="1433,2703,1588,2651,2703">mode</WORD>
</LINE>
<LINE>
<WORD coords="587,2795,863,2743,2795">#define</WORD>
<WORD coords="909,2812,1186,2749,2795">AES_CBC</WORD>
<WORD coords="1352,2795,1508,2749,2795">true</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,2984,1226,2927,2979">//Enable/Disable</WORD>
<WORD coords="1273,2979,1387,2933,2979">CFB</WORD>
<WORD coords="1433,2979,1588,2927,2979">mode</WORD>
</LINE>
<LINE>
<WORD coords="587,3071,863,3019,3071">#define</WORD>
<WORD coords="909,3088,1186,3025,3071">AE5_CFB</WORD>
<WORD coords="1352,3071,1508,3025,3071">true</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,3261,1226,3203,3255">//Enable/Disable</WORD>
<WORD coords="1272,3255,1387,3209,3255">OFB</WORD>
<WORD coords="1433,3255,1588,3203,3255">mode</WORD>
</LINE>
<LINE>
<WORD coords="587,3347,863,3295,3347">#define</WORD>
<WORD coords="909,3364,1186,3301,3347">AES_OF6</WORD>
<WORD coords="1352,3347,1508,3301,3347">true</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="593,3537,1226,3479,3531">//Enable/Disable</WORD>
<WORD coords="1273,3531,1387,3485,3531">CTR</WORD>
<WORD coords="1433,3531,1588,3479,3531">mode</WORD>
</LINE>
<LINE>
<WORD coords="587,3623,863,3571,3623">#define</WORD>
<WORD coords="909,3623,1024,3577,3623">AES</WORD>
<WORD coords="1076,3623,1186,3577,3623">CTR</WORD>
<WORD coords="1352,3623,1508,3577,3623">true</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4573,6273,4659,6211,6272">25</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0024.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0025.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0025.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="287,603,343,515,603">6</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="591,603,1135,515,602">Execution</WORD>
<WORD coords="1177,603,1281,515,602">of</WORD>
<WORD coords="1323,625,1791,513,601">Example</WORD>
<WORD coords="1835,601,1925,513,601">in</WORD>
<WORD coords="1969,603,2279,513,601">Atmel</WORD>
<WORD coords="2323,603,2677,513,602">Studio</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,751,723,687,749">The</WORD>
<WORD coords="751,751,1065,689,749">firmware</WORD>
<WORD coords="1095,767,1613,689,750">corresponding</WORD>
<WORD coords="1643,751,1709,693,751">to</WORD>
<WORD coords="1735,751,1861,689,750">this</WORD>
<WORD coords="1891,767,2279,689,750">application</WORD>
<WORD coords="2315,751,2467,693,750">note</WORD>
<WORD coords="2497,751,2739,705,750">comes</WORD>
<WORD coords="2767,751,2907,689,749">with</WORD>
<WORD coords="2935,751,3047,689,750">the</WORD>
<WORD coords="3077,751,3283,689,749">Atmel</WORD>
<WORD coords="3315,751,3635,687,750">Software</WORD>
<WORD coords="3669,751,4077,687,749">Framework</WORD>
<WORD coords="4107,751,4237,689,750">and</WORD>
<WORD coords="4269,751,4303,689,750">it</WORD>
<WORD coords="4331,751,4457,703,750">can</WORD>
<WORD coords="4491,751,4575,689,751">be</WORD>
</LINE>
<LINE>
<WORD coords="589,877,903,797,860">imported</WORD>
<WORD coords="931,861,1089,797,859">from</WORD>
<WORD coords="1123,861,1327,797,859">Atmel</WORD>
<WORD coords="1359,861,1587,797,860">Studio</WORD>
<WORD coords="1619,861,1699,813,861">as</WORD>
<WORD coords="1727,861,1885,797,859">well.</WORD>
<WORD coords="1917,861,2055,797,859">The</WORD>
<WORD coords="2083,877,2277,803,861">steps</WORD>
<WORD coords="2309,861,2521,797,860">below</WORD>
<WORD coords="2549,877,2803,797,859">explain</WORD>
<WORD coords="2833,861,2943,797,860">the</WORD>
<WORD coords="2973,861,3321,797,860">execution</WORD>
<WORD coords="3353,861,3417,797,860">of</WORD>
<WORD coords="3443,861,3569,797,860">this</WORD>
<WORD coords="3599,877,4009,797,860">application.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="651,1001,673,941,1001">1</WORD>
<WORD coords="695,1001,705,993,1001">.</WORD>
<WORD coords="815,1017,1045,941,1001">Import</WORD>
<WORD coords="1069,1003,1179,941,1001">the</WORD>
<WORD coords="1209,1017,1517,941,1002">example</WORD>
<WORD coords="1549,1001,1601,941,1001">in</WORD>
<WORD coords="1631,1003,1839,941,1001">Atmel</WORD>
<WORD coords="1871,1003,2101,941,1002">Studio</WORD>
<WORD coords="2127,1003,2289,941,1001">from</WORD>
<WORD coords="2321,1003,2475,941,1001">“File</WORD>
<WORD coords="2505,983,2563,977,989">—</WORD>
<WORD coords="2563,995,2581,965,1001">&gt;</WORD>
<WORD coords="2613,1003,2773,941,1001">New</WORD>
<WORD coords="2801,983,2859,977,989">—</WORD>
<WORD coords="2859,995,2877,965,1001">&gt;</WORD>
<WORD coords="2911,1017,3225,941,1001">Example</WORD>
<WORD coords="3257,1019,3511,941,1002">Project</WORD>
<WORD coords="3537,983,3595,977,989">—</WORD>
<WORD coords="3595,995,3613,965,1001">&gt;</WORD>
<WORD coords="3641,1003,3803,941,1001">AES</WORD>
<WORD coords="3835,1003,4155,941,1002">Software</WORD>
<WORD coords="4187,1019,4437,941,1001">Library</WORD>
</LINE>
<LINE>
<WORD coords="815,1111,1027,1049,1110">Demo</WORD>
<WORD coords="1053,1091,1101,1085,1101">-</WORD>
<WORD coords="1127,1111,1297,1047,1109">SAM</WORD>
<WORD coords="1333,1109,1463,1049,1109">D21</WORD>
<WORD coords="1505,1125,1821,1049,1109">Xplained</WORD>
<WORD coords="1855,1111,2003,1049,1109">Pro”</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1235,705,1175,1235">2.</WORD>
<WORD coords="813,1237,905,1173,1236">To</WORD>
<WORD coords="937,1237,1101,1173,1236">build</WORD>
<WORD coords="1131,1237,1241,1173,1236">the</WORD>
<WORD coords="1273,1253,1535,1173,1236">project,</WORD>
<WORD coords="1567,1253,1653,1189,1237">go</WORD>
<WORD coords="1681,1237,1745,1179,1237">to</WORD>
<WORD coords="1775,1237,1983,1173,1235">Atmel</WORD>
<WORD coords="2013,1237,2241,1173,1236">Studio</WORD>
<WORD coords="2273,1235,2343,1195,1228">-&gt;</WORD>
<WORD coords="2375,1237,2549,1173,1235">Build</WORD>
<WORD coords="2581,1235,2651,1195,1228">-&gt;</WORD>
<WORD coords="2683,1237,2859,1173,1235">Build</WORD>
<WORD coords="2889,1237,3181,1173,1236">Solution</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1361,705,1299,1360">3.</WORD>
<WORD coords="813,1377,1009,1297,1360">Open</WORD>
<WORD coords="1039,1361,1355,1297,1359">Terminal</WORD>
<WORD coords="1385,1361,1661,1299,1359">window</WORD>
<WORD coords="1687,1361,1827,1299,1359">with</WORD>
<WORD coords="1863,1361,2087,1297,1359">EDBG</WORD>
<WORD coords="2119,1361,2303,1297,1360">COM</WORD>
<WORD coords="2337,1377,2473,1303,1360">port</WORD>
<WORD coords="2501,1361,2641,1297,1359">with</WORD>
<WORD coords="2673,1377,3141,1297,1360">configuration</WORD>
<WORD coords="3179,1371,3463,1299,1362">115200,</WORD>
<WORD coords="3499,1361,3583,1313,1360">no</WORD>
<WORD coords="3613,1377,3831,1297,1360">parity,</WORD>
<WORD coords="3863,1361,3995,1313,1360">one</WORD>
<WORD coords="4025,1377,4177,1303,1361">stop</WORD>
<WORD coords="4207,1361,4289,1297,1360">bit</WORD>
<WORD coords="4317,1361,4447,1299,1360">and</WORD>
</LINE>
<LINE>
<WORD coords="817,1469,1153,1407,1468">hardware</WORD>
<WORD coords="1183,1469,1425,1407,1468">control</WORD>
<WORD coords="1459,1469,1655,1421,1468">none.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="645,1591,705,1531,1591">4.</WORD>
<WORD coords="815,1593,919,1531,1593">Go</WORD>
<WORD coords="945,1593,1011,1533,1593">to</WORD>
<WORD coords="1041,1593,1255,1531,1592">Tools</WORD>
<WORD coords="1287,1581,1355,1543,1581">-&gt;</WORD>
<WORD coords="1387,1593,1633,1531,1592">Device</WORD>
<WORD coords="1665,1609,2175,1531,1591">Programming’</WORD>
<WORD coords="2201,1593,2497,1531,1591">Window</WORD>
<WORD coords="2527,1591,2581,1529,1591">in</WORD>
<WORD coords="2611,1593,2819,1531,1591">Atmel</WORD>
<WORD coords="2849,1593,3099,1529,1592">Studio.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15330542">
<PARAGRAPH>
<LINE>
<WORD coords="604,1722,711,1674,1722">Too</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="12437207">
<PARAGRAPH>
<LINE>
<WORD coords="731,1722,758,1690,1722">s</WORD>
<WORD coords="833,1722,1068,1674,1722">Window</WORD>
<WORD coords="1148,1738,1271,1674,1722">Help</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="12437464">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="15330542">
<PARAGRAPH>
<LINE>
<WORD coords="624,1839,683,1780,1839">a</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264750">
<PARAGRAPH>
<LINE>
<WORD coords="769,1844,1063,1796,1844">Command</WORD>
<WORD coords="1089,1860,1298,1796,1844">Prompt:</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264750">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16706741">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="16706741">
<PARAGRAPH>
<LINE>
<WORD coords="769,1978,950,1930,1978">Device</WORD>
<WORD coords="972,1994,1357,1930,1978">Programming</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16706741">
<PARAGRAPH>
<LINE>
<WORD coords="1843,1978,2185,1930,1978">Ctrl+5hift+P</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264750">
<PARAGRAPH>
<LINE>
<WORD coords="619,2111,695,2025,2103">51</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15001836">
<PARAGRAPH>
<LINE>
<WORD coords="763,2095,876,2047,2095">Add</WORD>
<WORD coords="897,2111,1106,2053,2095">target:...</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15001836">
<PARAGRAPH></PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711166">
<PARAGRAPH>
<LINE>
<WORD coords="647,2287,705,2225,2285">5.</WORD>
<WORD coords="819,2287,1005,2223,2286">Read</WORD>
<WORD coords="1033,2287,1145,2223,2286">the</WORD>
<WORD coords="1173,2287,1407,2223,2286">device</WORD>
<WORD coords="1441,2287,1495,2223,2286">id</WORD>
<WORD coords="1527,2287,1689,2223,2286">after</WORD>
<WORD coords="1715,2287,2035,2223,2286">selection</WORD>
<WORD coords="2069,2303,2483,2223,2286">appropriate</WORD>
<WORD coords="2509,2287,2681,2223,2286">tools</WORD>
<WORD coords="2711,2287,2843,2223,2286">and</WORD>
<WORD coords="2871,2287,3107,2223,2286">device</WORD>
<WORD coords="3135,2287,3199,2229,2287">to</WORD>
<WORD coords="3231,2287,3477,2239,2286">ensure</WORD>
<WORD coords="3509,2303,3743,2239,2286">proper</WORD>
<WORD coords="3769,2287,4165,2223,2286">connection</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="592,2412,746,2362,2412">EDBG</WORD>
<WORD coords="774,2423,922,2362,2412">(ATM</WORD>
<WORD coords="933,2412,1173,2362,2412">IL213Q02</WORD>
<WORD coords="1181,2423,1549,2362,2414">1800006944)</WORD>
<WORD coords="1577,2417,1626,2362,2417">©</WORD>
<WORD coords="1670,2395,1692,2390,2403">-</WORD>
<WORD coords="1720,2412,1907,2362,2412">Device</WORD>
<WORD coords="1934,2428,2325,2362,2412">Programming</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645374">
<PARAGRAPH>
<LINE>
<WORD coords="647,2975,705,2913,2973">6.</WORD>
<WORD coords="815,2973,919,2911,2973">Go</WORD>
<WORD coords="947,2973,1011,2915,2973">to</WORD>
<WORD coords="1041,2973,1435,2911,2973">‘Memories’</WORD>
<WORD coords="1463,2973,1595,2913,2973">tab.</WORD>
<WORD coords="1629,2975,1857,2911,2974">Select</WORD>
<WORD coords="1881,2975,1993,2911,2974">the</WORD>
<WORD coords="2023,2975,2149,2927,2974">exe</WORD>
<WORD coords="2179,2975,2279,2911,2973">file</WORD>
<WORD coords="2309,2975,2439,2911,2974">and</WORD>
<WORD coords="2471,2975,2629,2911,2973">click</WORD>
<WORD coords="2659,2991,2983,2927,2973">program.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="605,3093,731,3053,3093">EDBG</WORD>
<WORD coords="751,3103,873,3053,3093">(ATM</WORD>
<WORD coords="881,3093,1073,3053,3093">L2130O2</WORD>
<WORD coords="1081,3103,1381,3053,3094">1800006678)</WORD>
<WORD coords="1403,3097,1445,3053,3097">©</WORD>
<WORD coords="1479,3081,1497,3075,3087">-</WORD>
<WORD coords="1519,3093,1671,3053,3093">Device</WORD>
<WORD coords="1693,3107,2011,3053,3093">Programming</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="14275304">
<PARAGRAPH>
<LINE>
<WORD coords="3633,3081,3671,3027,3081">f</WORD>
<WORD coords="3795,3077,3845,3031,3077">S3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="12437465">
<PARAGRAPH>
<LINE>
<WORD coords="644,3249,748,3209,3249">Tool</WORD>
<WORD coords="840,3267,876,3213,3267">1</WORD>
<WORD coords="943,3249,1095,3209,3249">Device</WORD>
<WORD coords="1161,3254,1197,3200,3254">2</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="12437464">
<PARAGRAPH>
<LINE>
<WORD coords="1501,3249,1706,3209,3249">Interface</WORD>
<WORD coords="1741,3263,1777,3209,3263">3</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16580092">
<PARAGRAPH>
<LINE>
<WORD coords="666,3352,787,3312,3352">EDBG</WORD>
<WORD coords="858,3343,880,3325,3347">*</WORD>
<WORD coords="961,3352,1335,3312,3352">ATSAMD21J18A</WORD>
<WORD coords="1425,3343,1448,3325,3343">*</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="14211287">
<PARAGRAPH>
<LINE>
<WORD coords="1521,3352,1627,3312,3352">SWD</WORD>
<WORD coords="1715,3343,1737,3325,3343">*</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="13948116">
<PARAGRAPH>
<LINE>
<WORD coords="1817,3365,1956,3312,3352">Apply</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="12437464">
<PARAGRAPH>
<LINE>
<WORD coords="1941,3280,1978,3227,3280">^</WORD>
<WORD coords="2072,3249,2223,3209,3249">Device</WORD>
<WORD coords="2241,3263,2455,3209,3249">signature</WORD>
<WORD coords="2527,3254,2562,3200,3254">5</WORD>
</LINE>
<LINE>
<WORD coords="2089,3352,2348,3312,3352">0x10010100</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15592684">
<PARAGRAPH>
<LINE>
<WORD coords="2553,3352,2661,3312,3352">Read</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="12437464">
<PARAGRAPH>
<LINE>
<WORD coords="2741,3263,2893,3209,3249">Target</WORD>
<WORD coords="2906,3263,3084,3209,3249">Voltage</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="2808,3352,2870,3312,3352">33</WORD>
<WORD coords="2888,3352,2919,3312,3352">V</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15592684">
<PARAGRAPH>
<LINE>
<WORD coords="3026,3352,3133,3312,3352">Read</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="14079703">
<PARAGRAPH></PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="662,3512,867,3472,3512">Interface</WORD>
<WORD coords="880,3526,1062,3472,3512">settings</WORD>
</LINE>
<LINE>
<WORD coords="662,3615,764,3575,3615">Tool</WORD>
<WORD coords="787,3615,1059,3575,3615">information</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="666,3753,818,3713,3753">Device</WORD>
<WORD coords="836,3753,1108,3713,3753">information</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="1260,3499,1411,3459,3499">Device</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="14013909">
<PARAGRAPH>
<LINE>
<WORD coords="1277,3597,1393,3557,3597">Erase</WORD>
<WORD coords="1411,3611,1518,3557,3597">-Chip</WORD>
<WORD coords="1563,3584,1585,3566,3584">w</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15592941">
<PARAGRAPH>
<LINE>
<WORD coords="1692,3597,1808,3557,3597">Erase</WORD>
<WORD coords="1831,3597,1924,3570,3597">now</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="1260,3753,1371,3713,3753">Flash</WORD>
<WORD coords="1393,3762,1492,3713,3754">(256</WORD>
<WORD coords="1509,3762,1581,3713,3753">KB)</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711421">
<PARAGRAPH>
<LINE>
<WORD coords="3767,3762,3803,3709,3762">8</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15003901">
<PARAGRAPH>
<LINE>
<WORD coords="666,3856,894,3816,3856">Memories</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="666,3959,788,3919,3959">Fuses</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="662,4075,849,4021,4061">Security</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1282,3861,1559,3811,3852">D:\AES_libra</WORD>
<WORD coords="1567,3865,1777,3811,3853">ry_D21\A</WORD>
<WORD coords="1786,3861,1866,3811,3852">ES_I</WORD>
<WORD coords="1875,3852,1880,3811,3852">i</WORD>
<WORD coords="1889,3852,1911,3811,3852">b</WORD>
<WORD coords="1920,3852,1956,3825,3852">ra</WORD>
<WORD coords="1965,3865,2090,3811,3852">ry_D2</WORD>
<WORD coords="2098,3865,2442,3811,3852">l\Debug\AES_l</WORD>
<WORD coords="2451,3852,2455,3811,3852">i</WORD>
<WORD coords="2464,3865,2772,3811,3852">brary_D21.elf</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1335,3954,1451,3914,3954">Erase</WORD>
<WORD coords="1474,3954,1585,3914,3954">Flash</WORD>
<WORD coords="1608,3954,1755,3914,3954">before</WORD>
<WORD coords="1777,3968,2094,3914,3954">programming</WORD>
<WORD coords="2611,3977,2647,3923,3977">g</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1272,4035,1313,3977,4030">7\</WORD>
<WORD coords="1331,4044,1465,3990,4030">Verify</WORD>
<WORD coords="1487,4030,1599,3990,4030">Flash</WORD>
<WORD coords="1617,4030,1724,3990,4030">after</WORD>
<WORD coords="1741,4044,2062,3990,4030">programming</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="13948116">
<PARAGRAPH>
<LINE>
<WORD coords="2799,4003,2991,3950,3990">Program</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="13948116">
<PARAGRAPH>
<LINE>
<WORD coords="3218,4003,3348,3950,3990">Verify</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15592941">
<PARAGRAPH>
<LINE>
<WORD coords="3597,3990,3722,3950,3990">Read,</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645885">
<PARAGRAPH>
<LINE>
<WORD coords="1260,4160,1362,4119,4160">User</WORD>
<WORD coords="1380,4173,1492,4119,4159">Page</WORD>
<WORD coords="1509,4169,1581,4119,4162">(64</WORD>
<WORD coords="1599,4173,1734,4119,4160">bytes)</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711421">
<PARAGRAPH>
<LINE>
<WORD coords="1255,4365,1313,4307,4365">0</WORD>
<WORD coords="1335,4360,1451,4320,4360">Erase</WORD>
<WORD coords="1474,4360,1576,4320,4360">User</WORD>
<WORD coords="1594,4374,1706,4320,4360">Page</WORD>
<WORD coords="1724,4360,1875,4320,4360">before</WORD>
<WORD coords="1893,4374,2214,4320,4360">programming</WORD>
</LINE>
<LINE>
<WORD coords="1257,4441,1313,4383,4441">0</WORD>
<WORD coords="1331,4450,1465,4396,4436">Verify</WORD>
<WORD coords="1487,4436,1586,4396,4436">User</WORD>
<WORD coords="1608,4450,1715,4396,4436">Page</WORD>
<WORD coords="1737,4436,1840,4396,4436">after</WORD>
<WORD coords="1862,4450,2179,4396,4436">programming</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16053492">
<PARAGRAPH>
<LINE>
<WORD coords="2799,4400,2962,4356,4396">Proqrat</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15987956">
<PARAGRAPH>
<LINE>
<WORD coords="3234,4396,3302,4366,4395">reri</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15592685">
<PARAGRAPH>
<LINE>
<WORD coords="3597,4396,3722,4356,4396">Read,</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15856113">
<PARAGRAPH>
<LINE>
<WORD coords="617,4990,778,4936,4976">Erasing</WORD>
<WORD coords="800,4976,983,4936,4976">device,.,</WORD>
<WORD coords="1005,4976,1072,4936,4976">OK</WORD>
</LINE>
<LINE>
<WORD coords="617,5057,938,5003,5043">Programming</WORD>
<WORD coords="961,5043,1112,5003,5043">Flash.,,</WORD>
<WORD coords="1121,5043,1188,5003,5043">OK</WORD>
</LINE>
<LINE>
<WORD coords="613,5124,818,5070,5110">Verifying</WORD>
<WORD coords="840,5110,965,5070,5110">Flash,</WORD>
<WORD coords="974,5110,1068,5070,5110">..OK</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="12371928">
<PARAGRAPH>
<LINE>
<WORD coords="643,5449,671,5431,5465">*</WORD>
<WORD coords="697,5481,703,5401,5481">[</WORD>
<WORD coords="729,5477,987,5413,5463">Verifying</WORD>
<WORD coords="1013,5463,1179,5413,5463">Flash.,</WORD>
<WORD coords="1187,5463,1287,5413,5463">.OK</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="647,5953,705,5893,5953">7.</WORD>
<WORD coords="819,5953,875,5891,5953">In</WORD>
<WORD coords="903,5955,1015,5891,5954">the</WORD>
<WORD coords="1043,5955,1333,5891,5953">terminal</WORD>
<WORD coords="1361,5955,1637,5891,5953">window</WORD>
<WORD coords="1661,5955,1773,5891,5954">the</WORD>
<WORD coords="1803,5971,2161,5891,5954">decrypted</WORD>
<WORD coords="2193,5955,2323,5891,5954">and</WORD>
<WORD coords="2355,5955,2569,5891,5954">actual</WORD>
<WORD coords="2601,5971,2775,5891,5954">input</WORD>
<WORD coords="2807,5971,3135,5907,5954">message</WORD>
<WORD coords="3165,5955,3289,5907,5954">can</WORD>
<WORD coords="3323,5955,3407,5891,5955">be</WORD>
<WORD coords="3435,5955,3713,5891,5954">viewed.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4383,6295,4643,6193,6295">TYl©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0025.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0026.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0026.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="0" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="632,955,769,898,955">The</WORD>
<WORD coords="832,967,1169,917,955">message</WORD>
<WORD coords="1232,955,1319,905,955">to</WORD>
<WORD coords="1382,955,1469,898,955">be</WORD>
<WORD coords="1532,967,1976,898,955">encrypted</WORD>
<WORD coords="2038,955,2163,898,955">is:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="638,1105,663,1049,1105">I</WORD>
<WORD coords="682,1118,1419,1049,1105">nput_Text_blckl</WORD>
<WORD coords="1438,1105,1463,1049,1105">I</WORD>
<WORD coords="1482,1118,2220,1049,1105">nput_Text_blck2</WORD>
<WORD coords="2238,1105,2263,1049,1105">I</WORD>
<WORD coords="2282,1118,3020,1049,1105">nput_Text_blck3</WORD>
<WORD coords="3039,1105,3064,1049,1105">I</WORD>
<WORD coords="3082,1118,3826,1049,1105">nput_Text_blck4</WORD>
</LINE>
<LINE>
<WORD coords="632,1268,1075,1199,1255">Decrypted</WORD>
<WORD coords="1132,1268,1469,1218,1255">message</WORD>
<WORD coords="1532,1268,1776,1199,1255">using</WORD>
<WORD coords="1832,1255,2176,1199,1255">flES-ECB</WORD>
<WORD coords="2232,1255,2420,1199,1255">mode</WORD>
<WORD coords="2495,1249,2513,1211,1249">:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="638,1406,663,1349,1406">I</WORD>
<WORD coords="682,1418,1419,1349,1406">nput_Text_blcki</WORD>
<WORD coords="1438,1406,1463,1349,1406">I</WORD>
<WORD coords="1482,1418,2220,1349,1406">nput_Text_blck2</WORD>
<WORD coords="2238,1406,2263,1349,1406">I</WORD>
<WORD coords="2282,1418,3020,1349,1406">nput_Text_blck3</WORD>
<WORD coords="3039,1406,3064,1349,1406">I</WORD>
<WORD coords="3082,1418,3826,1349,1406">nput_Text_blck4</WORD>
</LINE>
<LINE>
<WORD coords="632,1568,1075,1499,1556">Decrypted</WORD>
<WORD coords="1132,1568,1469,1518,1556">message</WORD>
<WORD coords="1532,1568,1776,1499,1556">using</WORD>
<WORD coords="1832,1556,2176,1499,1556">AES-CFB</WORD>
<WORD coords="2232,1556,2420,1499,1556">mode</WORD>
<WORD coords="2495,1550,2513,1512,1550">:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="638,1706,663,1650,1706">I</WORD>
<WORD coords="682,1719,1419,1650,1706">nput_Text_blckl</WORD>
<WORD coords="1438,1706,1463,1650,1706">I</WORD>
<WORD coords="1482,1719,2220,1650,1706">nput_Text_blck2</WORD>
<WORD coords="2238,1706,2263,1650,1706">I</WORD>
<WORD coords="2282,1719,3020,1650,1706">nput_Text_blck3</WORD>
<WORD coords="3039,1706,3064,1650,1706">I</WORD>
<WORD coords="3082,1719,3826,1650,1706">nput_Text_blck4</WORD>
</LINE>
<LINE>
<WORD coords="632,1869,1075,1800,1856">Decrypted</WORD>
<WORD coords="1132,1869,1469,1819,1856">message</WORD>
<WORD coords="1532,1869,1776,1800,1856">using</WORD>
<WORD coords="1832,1856,2176,1800,1856">AES-OFB</WORD>
<WORD coords="2232,1856,2420,1800,1856">mode</WORD>
<WORD coords="2495,1850,2513,1812,1850">:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="638,2007,663,1950,2007">I</WORD>
<WORD coords="682,2019,1419,1950,2007">nput_Text_blcki</WORD>
<WORD coords="1438,2007,1463,1950,2007">I</WORD>
<WORD coords="1482,2019,2220,1950,2007">nput_Text_blck2</WORD>
<WORD coords="2238,2007,2263,1950,2007">I</WORD>
<WORD coords="2282,2019,3020,1950,2007">nput_Text_blck3</WORD>
<WORD coords="3039,2007,3064,1950,2007">I</WORD>
<WORD coords="3082,2019,3826,1950,2007">nput_Text_blck4</WORD>
</LINE>
<LINE>
<WORD coords="632,2169,1075,2100,2157">Decrypted</WORD>
<WORD coords="1132,2169,1469,2119,2157">message</WORD>
<WORD coords="1532,2169,1776,2100,2157">using</WORD>
<WORD coords="1832,2157,2176,2100,2157">AES-CTR</WORD>
<WORD coords="2232,2157,2420,2100,2157">mode</WORD>
<WORD coords="2495,2150,2513,2113,2150">:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="638,2307,663,2251,2307">I</WORD>
<WORD coords="682,2320,1419,2251,2307">nput_Text_blckl</WORD>
<WORD coords="1438,2307,1463,2251,2307">I</WORD>
<WORD coords="1482,2320,2220,2251,2307">nput_Text_blck2</WORD>
<WORD coords="2238,2307,2263,2251,2307">I</WORD>
<WORD coords="2282,2320,3020,2251,2307">nput_Text_blck3</WORD>
<WORD coords="3039,2307,3064,2251,2307">I</WORD>
<WORD coords="3082,2320,3826,2251,2307">nput_Text_blck4</WORD>
</LINE>
<LINE>
<WORD coords="632,2470,1075,2401,2457">Decrypted</WORD>
<WORD coords="1132,2470,1469,2420,2457">message</WORD>
<WORD coords="1532,2470,1776,2401,2457">using</WORD>
<WORD coords="1832,2457,2176,2401,2457">AES-CBC</WORD>
<WORD coords="2232,2457,2420,2401,2457">mode</WORD>
<WORD coords="2495,2451,2513,2413,2451">:</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="638,2607,663,2551,2607">I</WORD>
<WORD coords="682,2620,1419,2551,2607">nput_Text_blcki</WORD>
<WORD coords="1438,2607,1463,2551,2607">I</WORD>
<WORD coords="1482,2620,2220,2551,2607">nput_Text_blck2</WORD>
<WORD coords="2238,2607,2263,2551,2607">I</WORD>
<WORD coords="2282,2620,3020,2551,2607">nput_Text_blck3</WORD>
<WORD coords="3039,2607,3064,2551,2607">I</WORD>
<WORD coords="3082,2620,3826,2551,2607">nput_Text_blck4</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="589,2765,627,2701,2765">i</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="645,3047,705,2985,3045">8.</WORD>
<WORD coords="811,3047,951,2983,3045">The</WORD>
<WORD coords="979,3063,1377,2983,3045">Application</WORD>
<WORD coords="1409,3047,1535,2999,3046">can</WORD>
<WORD coords="1567,3047,1653,2983,3047">be</WORD>
<WORD coords="1681,3063,2045,2983,3046">debugged</WORD>
<WORD coords="2075,3047,2147,2999,3046">or</WORD>
<WORD coords="2173,3047,2299,2999,3046">can</WORD>
<WORD coords="2329,3047,2771,2983,3046">downloaded</WORD>
<WORD coords="2801,3047,3061,2983,3046">without</WORD>
<WORD coords="3089,3063,3469,2983,3046">debugging</WORD>
<WORD coords="3503,3063,3691,2983,3046">using</WORD>
<WORD coords="3725,3047,3937,2983,3046">below</WORD>
<WORD coords="3963,3047,4197,2983,3045">shown</WORD>
<WORD coords="4229,3063,4509,2983,3046">options.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="15330542">
<PARAGRAPH>
<LINE>
<WORD coords="633,3177,795,3119,3177">Debu</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="12371671">
<PARAGRAPH>
<LINE>
<WORD coords="807,3194,838,3138,3194">g</WORD>
<WORD coords="932,3176,1113,3119,3176">Tools</WORD>
<WORD coords="1200,3176,1475,3119,3176">Window</WORD>
<WORD coords="1569,3194,1713,3119,3176">Help</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="12371671">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="15265006">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="15265006">
<PARAGRAPH>
<LINE>
<WORD coords="813,3319,1119,3263,3319">Windows</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264750">
<PARAGRAPH>
<LINE>
<WORD coords="2519,3313,2544,3276,3313">*</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16706741">
<PARAGRAPH>
<LINE>
<WORD coords="645,3477,721,3407,3477">m</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16706741">
<PARAGRAPH>
<LINE>
<WORD coords="819,3475,963,3419,3475">Start</WORD>
<WORD coords="988,3494,1344,3419,3475">Debugging</WORD>
<WORD coords="1375,3475,1488,3419,3475">and</WORD>
<WORD coords="1519,3475,1694,3419,3475">Break</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="16706741">
<PARAGRAPH>
<LINE>
<WORD coords="2038,3475,2169,3419,3475">Alt+</WORD>
<WORD coords="2188,3475,2250,3419,3475">F5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264750">
<PARAGRAPH>
<LINE>
<WORD coords="657,3631,715,3555,3631">0</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15133421">
<PARAGRAPH>
<LINE>
<WORD coords="813,3613,1025,3556,3613">Attach</WORD>
<WORD coords="1050,3613,1116,3563,3613">to</WORD>
<WORD coords="1138,3631,1349,3556,3613">Target</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15133421">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="15264749">
<PARAGRAPH>
<LINE>
<WORD coords="699,3712,706,3699,3712">1</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15067628">
<PARAGRAPH>
<LINE>
<WORD coords="819,3769,957,3694,3750">Stop</WORD>
<WORD coords="988,3769,1344,3694,3750">Debugging</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15067628">
<PARAGRAPH>
<LINE>
<WORD coords="2044,3750,2194,3694,3750">Ctrl+</WORD>
<WORD coords="2212,3750,2352,3694,3750">Shift</WORD>
<WORD coords="2363,3744,2394,3712,3747">+</WORD>
<WORD coords="2413,3750,2475,3694,3750">F5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264750">
<PARAGRAPH>
<LINE>
<WORD coords="635,3889,721,3819,3880">=&gt;</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15001836">
<PARAGRAPH>
<LINE>
<WORD coords="819,3887,963,3831,3887">Start</WORD>
<WORD coords="982,3887,1250,3831,3887">Without</WORD>
<WORD coords="1275,3906,1632,3831,3887">Debugging</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15001836">
<PARAGRAPH>
<LINE>
<WORD coords="2044,3887,2150,3831,3887">Ctrl</WORD>
<WORD coords="2163,3881,2194,3850,3884">+</WORD>
<WORD coords="2207,3887,2338,3831,3887">Alt+</WORD>
<WORD coords="2357,3887,2418,3831,3887">F5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15264749">
<PARAGRAPH></PARAGRAPH>
</REGION>
<REGION backgroundColor="15001579">
<PARAGRAPH>
<LINE>
<WORD coords="819,4025,1050,3968,4025">Disable</WORD>
<WORD coords="1075,4043,1275,3968,4025">debug</WORD>
<WORD coords="1282,4025,1444,3968,4025">WIRE</WORD>
<WORD coords="1475,4025,1588,3968,4025">and</WORD>
<WORD coords="1619,4025,1794,3968,4025">Close</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="14936044">
<PARAGRAPH></PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0026.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0027.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0027.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="285,601,345,517,601">7</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="591,603,1209,515,602">References</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,845,403,773,845">7.1</WORD>
<WORD coords="589,847,801,771,845">FIPS</WORD>
<WORD coords="833,825,889,813,835">-</WORD>
<WORD coords="923,847,1081,773,845">197</WORD>
<WORD coords="1115,847,1581,771,846">Advanced</WORD>
<WORD coords="1623,867,2129,771,845">Encryption</WORD>
<WORD coords="2167,847,2591,771,846">Standard</WORD>
<WORD coords="2629,865,2893,771,845">(AES)</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,993,931,929,991">FIPS-197</WORD>
<WORD coords="961,1009,1309,931,992">published</WORD>
<WORD coords="1341,1009,1423,931,993">by</WORD>
<WORD coords="1453,993,1635,929,991">NIST</WORD>
<WORD coords="1663,993,1967,931,992">contains</WORD>
<WORD coords="1993,993,2105,931,992">the</WORD>
<WORD coords="2137,993,2623,929,992">mathematical</WORD>
<WORD coords="2653,993,3037,931,992">calculation</WORD>
<WORD coords="3069,993,3133,931,992">of</WORD>
<WORD coords="3161,993,3491,929,991">AES-128</WORD>
<WORD coords="3521,1009,3853,931,991">algorithm</WORD>
<WORD coords="3885,993,3981,931,991">for</WORD>
<WORD coords="4011,1009,4391,931,991">Encryption</WORD>
<WORD coords="4423,993,4555,931,992">and</WORD>
</LINE>
<LINE>
<WORD coords="589,1119,995,1039,1102">Decryption.</WORD>
<WORD coords="1033,1103,1069,1039,1102">It</WORD>
<WORD coords="1097,1103,1223,1055,1102">can</WORD>
<WORD coords="1255,1103,1341,1039,1103">be</WORD>
<WORD coords="1371,1103,1627,1039,1102">availed</WORD>
<WORD coords="1657,1103,1815,1039,1101">from</WORD>
<WORD coords="1853,1119,3901,1039,1102">http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,1337,417,1265,1337">7.2</WORD>
<WORD coords="589,1339,801,1263,1337">FIPS</WORD>
<WORD coords="835,1339,963,1263,1338">SP</WORD>
<WORD coords="995,1339,1377,1263,1337">800-38A</WORD>
<WORD coords="1411,1339,2237,1263,1338">Recommendation</WORD>
<WORD coords="2273,1339,2403,1263,1337">for</WORD>
<WORD coords="2439,1339,2703,1263,1337">Block</WORD>
<WORD coords="2737,1359,3049,1263,1337">Cipher</WORD>
<WORD coords="3085,1339,3391,1263,1338">Modes</WORD>
<WORD coords="3425,1339,3515,1263,1338">of</WORD>
<WORD coords="3547,1359,4011,1263,1338">Operation</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,1487,763,1423,1485">FIPS</WORD>
<WORD coords="791,1503,1043,1423,1486">special</WORD>
<WORD coords="1075,1503,1465,1423,1486">publication</WORD>
<WORD coords="1497,1487,1807,1423,1485">800-38A</WORD>
<WORD coords="1837,1503,2143,1423,1486">provides</WORD>
<WORD coords="2171,1487,2457,1423,1486">detailed</WORD>
<WORD coords="2487,1503,2881,1423,1486">description</WORD>
<WORD coords="2913,1487,3117,1423,1486">about</WORD>
<WORD coords="3141,1487,3253,1423,1486">the</WORD>
<WORD coords="3281,1487,3405,1423,1485">five</WORD>
<WORD coords="3439,1487,3679,1423,1486">modes</WORD>
<WORD coords="3709,1487,3773,1423,1486">of</WORD>
<WORD coords="3801,1503,4319,1423,1486">confidentiality.</WORD>
<WORD coords="4357,1487,4393,1423,1486">It</WORD>
<WORD coords="4421,1487,4567,1423,1486">also</WORD>
</LINE>
<LINE>
<WORD coords="585,1611,883,1531,1593">explains</WORD>
<WORD coords="909,1595,1021,1531,1594">the</WORD>
<WORD coords="1051,1611,1437,1531,1594">generation</WORD>
<WORD coords="1467,1595,1533,1531,1594">of</WORD>
<WORD coords="1565,1595,1987,1531,1593">Initialization</WORD>
<WORD coords="2017,1595,2241,1537,1594">vector</WORD>
<WORD coords="2269,1595,2401,1531,1594">and</WORD>
<WORD coords="2431,1595,2705,1537,1594">counter</WORD>
<WORD coords="2733,1595,2905,1531,1595">used</WORD>
<WORD coords="2937,1593,2991,1531,1593">in</WORD>
<WORD coords="3023,1595,3195,1531,1594">each</WORD>
<WORD coords="3229,1595,3491,1531,1594">modes.</WORD>
<WORD coords="3529,1595,3565,1531,1594">It</WORD>
<WORD coords="3595,1595,3647,1531,1594">is</WORD>
<WORD coords="3677,1595,3997,1531,1594">available</WORD>
<WORD coords="4029,1595,4093,1537,1595">at</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="587,1719,2953,1639,1702">http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,1939,417,1865,1938">7.3</WORD>
<WORD coords="585,1939,799,1863,1937">SAM</WORD>
<WORD coords="837,1937,899,1863,1937">D</WORD>
<WORD coords="937,1939,1249,1863,1938">Device</WORD>
<WORD coords="1289,1939,1757,1863,1938">Datasheet</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,2087,723,2023,2085">The</WORD>
<WORD coords="751,2087,985,2023,2086">device</WORD>
<WORD coords="1013,2087,1375,2023,2086">datasheet</WORD>
<WORD coords="1403,2087,1707,2023,2086">contains</WORD>
<WORD coords="1735,2087,1847,2023,2086">the</WORD>
<WORD coords="1877,2087,2065,2023,2086">block</WORD>
<WORD coords="2093,2103,2431,2023,2086">diagrams</WORD>
<WORD coords="2459,2087,2525,2023,2086">of</WORD>
<WORD coords="2551,2087,2661,2023,2086">the</WORD>
<WORD coords="2691,2103,3095,2023,2085">peripherals</WORD>
<WORD coords="3125,2087,3255,2023,2086">and</WORD>
<WORD coords="3285,2087,3521,2023,2086">details</WORD>
<WORD coords="3553,2087,3755,2023,2087">about</WORD>
<WORD coords="3785,2103,4269,2023,2085">implementing</WORD>
<WORD coords="4301,2087,4615,2023,2085">firmware</WORD>
</LINE>
<LINE>
<WORD coords="583,2195,679,2131,2193">for</WORD>
<WORD coords="703,2195,815,2131,2194">the</WORD>
<WORD coords="843,2195,1097,2131,2194">device.</WORD>
<WORD coords="1135,2195,1173,2131,2194">It</WORD>
<WORD coords="1201,2195,1345,2131,2194">also</WORD>
<WORD coords="1375,2195,1681,2131,2194">contains</WORD>
<WORD coords="1707,2195,1819,2131,2194">the</WORD>
<WORD coords="1851,2195,2171,2131,2194">electrical</WORD>
<WORD coords="2201,2211,2695,2131,2194">specifications</WORD>
<WORD coords="2725,2195,2855,2131,2194">and</WORD>
<WORD coords="2887,2211,3217,2131,2194">expected</WORD>
<WORD coords="3247,2195,3773,2131,2194">characteristics</WORD>
<WORD coords="3803,2195,3867,2131,2194">of</WORD>
<WORD coords="3893,2195,4005,2131,2194">the</WORD>
<WORD coords="4033,2195,4287,2131,2194">device.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="589,2335,959,2273,2334">Datasheet</WORD>
<WORD coords="989,2335,1041,2273,2334">is</WORD>
<WORD coords="1071,2335,1391,2273,2334">available</WORD>
<WORD coords="1421,2335,1505,2287,2334">on</WORD>
<WORD coords="1537,2335,2119,2273,2333">www.atmel.com</WORD>
<WORD coords="2153,2333,2207,2271,2333">in</WORD>
<WORD coords="2237,2335,2347,2273,2334">the</WORD>
<WORD coords="2381,2335,2793,2273,2334">Documents</WORD>
<WORD coords="2823,2335,3077,2273,2334">section</WORD>
<WORD coords="3109,2335,3173,2273,2334">of</WORD>
<WORD coords="3201,2335,3407,2273,2333">Atmel</WORD>
<WORD coords="3439,2335,3609,2271,2333">SAM</WORD>
<WORD coords="3645,2333,3773,2273,2333">D21</WORD>
<WORD coords="3819,2351,4091,2273,2334">product</WORD>
<WORD coords="4121,2351,4317,2287,2335">page.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,2573,417,2501,2573">7.4</WORD>
<WORD coords="589,2575,1035,2499,2574">Hardware</WORD>
<WORD coords="1067,2575,1329,2499,2574">Tools</WORD>
<WORD coords="1367,2575,1581,2499,2574">User</WORD>
<WORD coords="1613,2575,1889,2497,2574">Guide</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="585,2719,757,2655,2717">SAM</WORD>
<WORD coords="793,2717,921,2657,2717">D21</WORD>
<WORD coords="963,2735,1281,2657,2717">Xplained</WORD>
<WORD coords="1317,2719,1435,2655,2717">Pro</WORD>
<WORD coords="1465,2719,1669,2657,2718">board</WORD>
<WORD coords="1703,2719,1859,2671,2718">user</WORD>
<WORD coords="1887,2719,2101,2655,2718">Guide</WORD>
<WORD coords="2131,2719,2257,2671,2718">can</WORD>
<WORD coords="2289,2719,2375,2657,2719">be</WORD>
<WORD coords="2403,2719,2911,2657,2718">downloadable</WORD>
<WORD coords="2939,2719,3099,2657,2717">from</WORD>
<WORD coords="3135,2735,4611,2655,2717">http://www.atmel.com/tools/ATSAMD21-</WORD>
</LINE>
<LINE>
<WORD coords="585,2843,1033,2763,2825">XPRO.aspx.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="285,3065,417,2991,3064">7.5</WORD>
<WORD coords="585,3065,853,2989,3063">Atmel</WORD>
<WORD coords="889,3065,1193,2989,3064">Studio</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,3213,723,3149,3211">The</WORD>
<WORD coords="755,3213,945,3149,3212">latest</WORD>
<WORD coords="971,3213,1233,3149,3211">version</WORD>
<WORD coords="1265,3213,1329,3149,3212">of</WORD>
<WORD coords="1357,3213,1563,3149,3211">Atmel</WORD>
<WORD coords="1595,3213,1823,3149,3212">Studio</WORD>
<WORD coords="1853,3213,1979,3165,3212">can</WORD>
<WORD coords="2013,3213,2097,3149,3213">be</WORD>
<WORD coords="2125,3213,2567,3149,3212">downloaded</WORD>
<WORD coords="2597,3213,2757,3149,3211">from</WORD>
<WORD coords="2793,3229,4449,3149,3212">http://www.atmel.com/tools/atmelstudio.aspx.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711678">
<PARAGRAPH>
<LINE>
<WORD coords="585,6265,905,6201,6264">Software</WORD>
<WORD coords="939,6281,1185,6201,6263">Library</WORD>
<WORD coords="1213,6265,1307,6201,6263">for</WORD>
<WORD coords="1333,6265,1661,6201,6263">AES-128</WORD>
<WORD coords="1695,6281,2075,6201,6263">Encryption</WORD>
<WORD coords="2109,6265,2239,6203,6264">and</WORD>
<WORD coords="2273,6281,2659,6203,6264">Decryption</WORD>
<WORD coords="2693,6281,3257,6201,6263">[APPLICATION</WORD>
<WORD coords="3293,6281,3537,6201,6263">NOTE]</WORD>
<WORD coords="4383,6295,4643,6193,6295">TYl©i</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="583,6329,978,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="985,6328,997,6293,6329">1</WORD>
<WORD coords="1010,6339,1727,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="1740,6339,2951,6292,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="2964,6329,2987,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0027.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0028.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0028.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="285,603,343,515,603">8</WORD>
<WORD coords="591,603,1061,515,601">Revision</WORD>
<WORD coords="1107,625,1501,515,602">History</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="5789784" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="715,754,848,697,753">Doc</WORD>
<WORD coords="877,754,1025,697,752">Rev.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="5789784" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="1309,753,1462,697,752">Date</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="5789784" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="2969,754,3351,697,752">Comments</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="662,903,919,846,901">42508A</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1178,903,1443,846,901">08/2015</WORD>
</LINE>
</PARAGRAPH>
</REGION>
<REGION backgroundColor="15987699">
<PARAGRAPH>
<LINE>
<WORD coords="1698,903,1860,846,901">Initial</WORD>
<WORD coords="1888,903,2213,846,902">document</WORD>
<WORD coords="2241,903,2496,846,902">release.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16645886">
<PARAGRAPH>
<LINE>
<WORD coords="285,6295,691,6193,6295">/Itmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1421,6267,1743,6203,6266">Software</WORD>
<WORD coords="1775,6283,2023,6203,6265">Library</WORD>
<WORD coords="2049,6267,2143,6203,6265">for</WORD>
<WORD coords="2169,6267,2497,6203,6265">AES-128</WORD>
<WORD coords="2531,6283,2911,6203,6265">Encryption</WORD>
<WORD coords="2945,6267,3075,6203,6266">and</WORD>
<WORD coords="3109,6283,3495,6203,6266">Decryption</WORD>
<WORD coords="3529,6281,4093,6203,6265">[APPLICATION</WORD>
<WORD coords="4129,6283,4373,6203,6265">NOTE]</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="1971,6329,2366,6292,6328">Atmel-42508A-AT</WORD>
<WORD coords="2373,6328,2385,6293,6329">1</WORD>
<WORD coords="2398,6339,3115,6291,6328">0764-Software-Library-for-AES-1</WORD>
<WORD coords="3128,6339,4340,6291,6328">28-Encryption-and-Decryption_ApplicationNote_08/201</WORD>
<WORD coords="4353,6329,4376,6293,0">5</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4573,6273,4659,6211,6272">29</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0028.djvu"/>
<OBJECT data="file://localhost//var/tmp/autoclean/derive/AtmelAVRUSB//atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764.djvu" height="6590" type="image/x.djvu" usemap="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0029.djvu" width="4961">
<PARAM name="PAGE" value="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0029.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION backgroundColor="1215659" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="4227,4271,4577,4175,4259">ARM®</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="4271,4320,4527,4302,4320">CONNECTED</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="354,4606,866,4478,4606">yitmel</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="1017,4595,1405,4518,4578">Enabling</WORD>
<WORD coords="1464,4579,1903,4518,4578">Unlimited</WORD>
<WORD coords="1962,4579,2534,4518,4578">Possibilities&apos;</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="3617,4645,3743,4515,4645">li</WORD>
<WORD coords="3951,4645,4429,4515,4644">B30D</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="65793" inverted="true">
<PARAGRAPH>
<LINE>
<WORD coords="4473,4621,4593,4543,4621">w</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="344,4919,499,4876,4918">Atmel</WORD>
<WORD coords="522,4931,849,4875,4918">Corporation</WORD>
<WORD coords="1048,4919,1168,4877,4918">1600</WORD>
<WORD coords="1188,4930,1487,4876,4918">Technology</WORD>
<WORD coords="1510,4926,1651,4876,4918">Drive,</WORD>
<WORD coords="1675,4919,1772,4875,4918">San</WORD>
<WORD coords="1794,4926,1927,4876,4919">Jose,</WORD>
<WORD coords="1951,4919,2027,4875,4918">CA</WORD>
<WORD coords="2048,4919,2204,4877,4918">95110</WORD>
<WORD coords="2229,4919,2342,4875,4918">USA</WORD>
<WORD coords="2493,4918,2542,4876,4918">T:</WORD>
<WORD coords="2567,4930,2800,4876,4924">(+1)(408)</WORD>
<WORD coords="2822,4918,2905,4877,4918">441</WORD>
<WORD coords="2923,4919,3019,4877,4918">.031</WORD>
<WORD coords="3037,4918,3051,4877,4918">1</WORD>
<WORD coords="3246,4918,3292,4876,4918">F:</WORD>
<WORD coords="3317,4930,3550,4876,4924">(+1)(408)</WORD>
<WORD coords="3572,4919,3810,4877,4918">436.4200</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="4153,4919,4588,4876,4918">www.atmel.com</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="341,5062,527,5018,5061">©2015</WORD>
<WORD coords="547,5062,690,5019,5061">Atmel</WORD>
<WORD coords="714,5073,1027,5018,5061">Corporation.</WORD>
<WORD coords="1048,5062,1064,5019,5062">/</WORD>
<WORD coords="1087,5062,1214,5019,5061">Rev.:</WORD>
<WORD coords="1235,5074,4039,5018,5061">Atmel-42508A-AT10764-Software-Library-for-AES-128-Encryption-and-Decryption_ApplicationNote_08/2015</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="343,5203,530,5146,5195">Atmel®,</WORD>
<WORD coords="552,5196,696,5153,5195">Atmel</WORD>
<WORD coords="720,5207,823,5153,5195">logo</WORD>
<WORD coords="845,5196,936,5153,5195">and</WORD>
<WORD coords="958,5196,1296,5153,5195">combinations</WORD>
<WORD coords="1316,5203,1507,5153,5195">thereof,</WORD>
<WORD coords="1533,5208,1751,5153,5195">Enabling</WORD>
<WORD coords="1777,5196,2012,5153,5195">Unlimited</WORD>
<WORD coords="2036,5203,2376,5146,5195">Possibilities®,</WORD>
<WORD coords="2401,5196,2492,5153,5195">and</WORD>
<WORD coords="2513,5196,2670,5153,5195">others</WORD>
<WORD coords="2693,5196,2771,5164,5195">are</WORD>
<WORD coords="2794,5207,3046,5153,5195">registered</WORD>
<WORD coords="3066,5196,3355,5153,5195">trademarks</WORD>
<WORD coords="3376,5196,3424,5164,5195">or</WORD>
<WORD coords="3442,5196,3730,5153,5195">trademarks</WORD>
<WORD coords="3751,5196,3796,5153,5195">of</WORD>
<WORD coords="3814,5196,3958,5153,5195">Atmel</WORD>
<WORD coords="3981,5208,4279,5152,5195">Corporation</WORD>
<WORD coords="4303,5195,4341,5153,5195">in</WORD>
<WORD coords="4367,5196,4470,5152,5196">U.S.</WORD>
<WORD coords="4494,5196,4585,5153,5195">and</WORD>
</LINE>
<LINE>
<WORD coords="344,5263,472,5220,5262">other</WORD>
<WORD coords="492,5263,737,5220,5262">countries.</WORD>
<WORD coords="759,5270,928,5213,5262">ARM®,</WORD>
<WORD coords="950,5262,1075,5220,5262">ARM</WORD>
<WORD coords="1098,5263,1406,5213,5262">Connected®</WORD>
<WORD coords="1426,5274,1543,5220,5262">logo,</WORD>
<WORD coords="1567,5263,1658,5220,5262">and</WORD>
<WORD coords="1680,5263,1837,5220,5262">others</WORD>
<WORD coords="1859,5263,1937,5231,5262">are</WORD>
<WORD coords="1958,5263,2036,5220,5262">the</WORD>
<WORD coords="2058,5274,2310,5220,5262">registered</WORD>
<WORD coords="2331,5263,2618,5220,5262">trademarks</WORD>
<WORD coords="2639,5263,2687,5231,5262">or</WORD>
<WORD coords="2706,5263,2994,5220,5262">trademarks</WORD>
<WORD coords="3015,5263,3061,5220,5262">of</WORD>
<WORD coords="3079,5262,3204,5220,5262">ARM</WORD>
<WORD coords="3230,5263,3316,5220,5262">Ltd.</WORD>
<WORD coords="3340,5263,3483,5219,5262">Other</WORD>
<WORD coords="3501,5263,3643,5223,5262">terms</WORD>
<WORD coords="3665,5263,3756,5220,5262">and</WORD>
<WORD coords="3779,5274,3969,5220,5262">product</WORD>
<WORD coords="3991,5263,4158,5231,5262">names</WORD>
<WORD coords="4181,5274,4287,5231,5262">may</WORD>
<WORD coords="4307,5263,4367,5220,5263">be</WORD>
</LINE>
<LINE>
<WORD coords="343,5330,629,5287,5329">trademarks</WORD>
<WORD coords="650,5330,696,5287,5329">of</WORD>
<WORD coords="715,5330,886,5287,5329">others.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION backgroundColor="16711422">
<PARAGRAPH>
<LINE>
<WORD coords="347,5459,669,5421,5458">DISCLAIMER:</WORD>
<WORD coords="688,5459,773,5421,5458">The</WORD>
<WORD coords="795,5459,1047,5422,5458">information</WORD>
<WORD coords="1069,5458,1103,5422,5458">in</WORD>
<WORD coords="1123,5459,1202,5422,5458">this</WORD>
<WORD coords="1221,5459,1446,5422,5458">document</WORD>
<WORD coords="1465,5459,1498,5422,5458">is</WORD>
<WORD coords="1517,5469,1712,5422,5458">provided</WORD>
<WORD coords="1733,5458,1767,5422,5458">in</WORD>
<WORD coords="1788,5459,2036,5422,5458">connection</WORD>
<WORD coords="2056,5459,2143,5422,5458">with</WORD>
<WORD coords="2163,5459,2291,5422,5458">Atmel</WORD>
<WORD coords="2313,5469,2522,5422,5458">products.</WORD>
<WORD coords="2545,5459,2603,5421,5458">No</WORD>
<WORD coords="2624,5465,2795,5422,5458">license,</WORD>
<WORD coords="2817,5469,2995,5431,5458">express</WORD>
<WORD coords="3014,5459,3057,5431,5458">or</WORD>
<WORD coords="3076,5469,3251,5422,5458">implied,</WORD>
<WORD coords="3273,5469,3328,5422,5459">by</WORD>
<WORD coords="3347,5469,3539,5422,5458">estoppel</WORD>
<WORD coords="3560,5459,3603,5431,5458">or</WORD>
<WORD coords="3621,5465,3853,5422,5458">otherwise,</WORD>
<WORD coords="3873,5459,3912,5425,5459">to</WORD>
<WORD coords="3932,5469,4012,5431,5458">any</WORD>
<WORD coords="4032,5459,4277,5422,5458">intellectual</WORD>
<WORD coords="4298,5469,4484,5425,5458">property</WORD>
<WORD coords="4505,5469,4603,5422,5458">right</WORD>
</LINE>
<LINE>
<WORD coords="345,5517,377,5480,5516">is</WORD>
<WORD coords="400,5527,572,5480,5516">granted</WORD>
<WORD coords="597,5527,646,5480,5517">by</WORD>
<WORD coords="668,5517,747,5480,5516">this</WORD>
<WORD coords="770,5517,995,5480,5516">document</WORD>
<WORD coords="1017,5517,1060,5489,5516">or</WORD>
<WORD coords="1083,5516,1117,5480,5516">in</WORD>
<WORD coords="1142,5517,1389,5480,5516">connection</WORD>
<WORD coords="1414,5517,1501,5480,5516">with</WORD>
<WORD coords="1525,5517,1593,5480,5516">the</WORD>
<WORD coords="1617,5517,1708,5480,5516">sale</WORD>
<WORD coords="1732,5517,1772,5480,5516">of</WORD>
<WORD coords="1793,5517,1921,5480,5516">Atmel</WORD>
<WORD coords="1947,5527,2155,5480,5516">products.</WORD>
<WORD coords="2184,5517,2384,5479,5516">EXCEPT</WORD>
<WORD coords="2406,5517,2470,5479,5516">AS</WORD>
<WORD coords="2495,5517,2591,5479,5516">SET</WORD>
<WORD coords="2615,5517,2784,5479,5516">FORTH</WORD>
<WORD coords="2813,5516,2855,5479,5516">IN</WORD>
<WORD coords="2879,5516,2978,5480,5516">THE</WORD>
<WORD coords="3001,5516,3170,5480,5516">ATMEL</WORD>
<WORD coords="3191,5517,3369,5479,5516">TERMS</WORD>
<WORD coords="3392,5516,3496,5480,5516">AND</WORD>
<WORD coords="3521,5517,3847,5479,5516">CONDITIONS</WORD>
<WORD coords="3871,5517,3938,5479,5516">OF</WORD>
<WORD coords="3962,5517,4123,5479,5516">SALES</WORD>
<WORD coords="4148,5517,4384,5479,5516">LOCATED</WORD>
<WORD coords="4409,5517,4479,5479,5516">ON</WORD>
<WORD coords="4503,5516,4603,5480,5516">THE</WORD>
</LINE>
<LINE>
<WORD coords="343,5574,511,5537,5574">ATMEL</WORD>
<WORD coords="534,5581,778,5537,5574">WEBSITE,</WORD>
<WORD coords="805,5574,974,5537,5574">ATMEL</WORD>
<WORD coords="998,5575,1247,5537,5574">ASSUMES</WORD>
<WORD coords="1275,5575,1345,5537,5574">NO</WORD>
<WORD coords="1374,5574,1607,5537,5574">LIABILITY</WORD>
<WORD coords="1628,5575,1993,5537,5574">WHATSOEVER</WORD>
<WORD coords="2018,5574,2122,5537,5574">AND</WORD>
<WORD coords="2151,5575,2424,5537,5574">DISCLAIMS</WORD>
<WORD coords="2449,5574,2553,5537,5574">ANY</WORD>
<WORD coords="2579,5581,2830,5537,5574">EXPRESS,</WORD>
<WORD coords="2861,5574,3059,5537,5574">IMPLIED</WORD>
<WORD coords="3086,5575,3159,5537,5574">OR</WORD>
<WORD coords="3185,5575,3496,5537,5574">STATUTORY</WORD>
<WORD coords="3523,5574,3818,5537,5574">WARRANTY</WORD>
<WORD coords="3845,5575,4096,5537,5574">RELATING</WORD>
<WORD coords="4121,5575,4189,5537,5574">TO</WORD>
<WORD coords="4218,5575,4291,5537,5574">ITS</WORD>
<WORD coords="4319,5575,4602,5537,5574">PRODUCTS</WORD>
</LINE>
<LINE>
<WORD coords="347,5640,636,5596,5633">INCLUDING,</WORD>
<WORD coords="666,5634,764,5596,5633">BUT</WORD>
<WORD coords="790,5634,894,5596,5633">NOT</WORD>
<WORD coords="920,5633,1117,5596,5633">LIMITED</WORD>
<WORD coords="1142,5640,1223,5596,5633">TO,</WORD>
<WORD coords="1250,5633,1349,5596,5633">THE</WORD>
<WORD coords="1378,5633,1576,5596,5633">IMPLIED</WORD>
<WORD coords="1601,5633,1896,5596,5633">WARRANTY</WORD>
<WORD coords="1919,5634,1986,5596,5633">OF</WORD>
<WORD coords="2014,5640,2507,5596,5633">MERCHANTABILITY,</WORD>
<WORD coords="2536,5634,2749,5596,5633">FITNESS</WORD>
<WORD coords="2777,5634,2878,5596,5633">FOR</WORD>
<WORD coords="2903,5633,2934,5596,5633">A</WORD>
<WORD coords="2961,5634,3283,5596,5633">PARTICULAR</WORD>
<WORD coords="3311,5640,3568,5596,5633">PURPOSE,</WORD>
<WORD coords="3596,5634,3668,5596,5633">OR</WORD>
<WORD coords="3696,5634,4236,5596,5633">NON-INFRINGEMENT.</WORD>
<WORD coords="4267,5633,4309,5596,5633">IN</WORD>
<WORD coords="4338,5634,4409,5596,5633">NO</WORD>
<WORD coords="4436,5633,4603,5597,5633">EVENT</WORD>
</LINE>
<LINE>
<WORD coords="345,5692,503,5654,5691">SHALL</WORD>
<WORD coords="523,5691,691,5655,5691">ATMEL</WORD>
<WORD coords="716,5691,777,5655,5691">BE</WORD>
<WORD coords="801,5691,971,5655,5691">LIABLE</WORD>
<WORD coords="995,5692,1096,5654,5691">FOR</WORD>
<WORD coords="1118,5691,1221,5654,5691">ANY</WORD>
<WORD coords="1245,5698,1442,5654,5691">DIRECT,</WORD>
<WORD coords="1470,5698,1720,5654,5691">INDIRECT,</WORD>
<WORD coords="1745,5698,2195,5654,5691">CONSEQUENTIAL,</WORD>
<WORD coords="2221,5698,2467,5654,5691">PUNITIVE,</WORD>
<WORD coords="2493,5692,2706,5654,5691">SPECIAL</WORD>
<WORD coords="2727,5692,2804,5654,5691">OR</WORD>
<WORD coords="2829,5692,3132,5654,5691">INCIDENTAL</WORD>
<WORD coords="3155,5692,3405,5654,5691">DAMAGES</WORD>
<WORD coords="3429,5702,3738,5654,5691">(INCLUDING,</WORD>
<WORD coords="3762,5692,4002,5654,5691">WITHOUT</WORD>
<WORD coords="4025,5698,4322,5654,5691">LIMITATION,</WORD>
<WORD coords="4349,5692,4600,5654,5691">DAMAGES</WORD>
</LINE>
<LINE>
<WORD coords="347,5750,447,5712,5749">FOR</WORD>
<WORD coords="472,5750,603,5712,5749">LOSS</WORD>
<WORD coords="626,5749,730,5713,5749">AND</WORD>
<WORD coords="758,5756,987,5712,5749">PROFITS,</WORD>
<WORD coords="1015,5750,1271,5712,5749">BUSINESS</WORD>
<WORD coords="1297,5756,1692,5712,5749">INTERRUPTION,</WORD>
<WORD coords="1717,5750,1790,5712,5749">OR</WORD>
<WORD coords="1815,5750,1947,5712,5749">LOSS</WORD>
<WORD coords="1970,5750,2037,5712,5749">OF</WORD>
<WORD coords="2064,5760,2435,5712,5749">INFORMATION)</WORD>
<WORD coords="2460,5750,2667,5712,5749">ARISING</WORD>
<WORD coords="2693,5750,2798,5712,5749">OUT</WORD>
<WORD coords="2820,5750,2887,5712,5749">OF</WORD>
<WORD coords="2909,5749,3009,5713,5749">THE</WORD>
<WORD coords="3035,5750,3134,5712,5749">USE</WORD>
<WORD coords="3158,5750,3230,5712,5749">OR</WORD>
<WORD coords="3257,5749,3496,5713,5749">INABILITY</WORD>
<WORD coords="3518,5750,3586,5712,5749">TO</WORD>
<WORD coords="3612,5750,3711,5712,5749">USE</WORD>
<WORD coords="3733,5750,3848,5712,5749">THIS</WORD>
<WORD coords="3875,5756,4185,5712,5749">DOCUMENT,</WORD>
<WORD coords="4214,5749,4345,5712,5749">EVEN</WORD>
<WORD coords="4374,5749,4413,5713,5749">IF</WORD>
<WORD coords="4436,5749,4605,5713,5749">ATMEL</WORD>
</LINE>
<LINE>
<WORD coords="346,5809,444,5771,5808">HAS</WORD>
<WORD coords="466,5808,598,5771,5808">BEEN</WORD>
<WORD coords="620,5809,842,5771,5808">ADVISED</WORD>
<WORD coords="864,5809,931,5771,5808">OF</WORD>
<WORD coords="950,5808,1048,5772,5808">THE</WORD>
<WORD coords="1072,5809,1384,5771,5808">POSSIBILITY</WORD>
<WORD coords="1403,5809,1470,5771,5808">OF</WORD>
<WORD coords="1491,5809,1629,5771,5808">SUCH</WORD>
<WORD coords="1654,5809,1917,5771,5808">DAMAGES.</WORD>
<WORD coords="1939,5809,2070,5772,5808">Atmel</WORD>
<WORD coords="2095,5809,2241,5772,5808">makes</WORD>
<WORD coords="2262,5809,2312,5781,5808">no</WORD>
<WORD coords="2335,5819,2692,5772,5808">representations</WORD>
<WORD coords="2711,5809,2754,5781,5808">or</WORD>
<WORD coords="2773,5809,3011,5772,5808">warranties</WORD>
<WORD coords="3031,5809,3118,5772,5808">with</WORD>
<WORD coords="3142,5819,3308,5775,5808">respect</WORD>
<WORD coords="3326,5809,3365,5775,5809">to</WORD>
<WORD coords="3386,5809,3454,5772,5808">the</WORD>
<WORD coords="3475,5819,3680,5781,5808">accuracy</WORD>
<WORD coords="3699,5809,3742,5781,5808">or</WORD>
<WORD coords="3761,5819,4079,5772,5808">completeness</WORD>
<WORD coords="4100,5809,4140,5772,5808">of</WORD>
<WORD coords="4157,5809,4225,5772,5808">the</WORD>
<WORD coords="4247,5809,4441,5775,5808">contents</WORD>
<WORD coords="4461,5809,4501,5772,5808">of</WORD>
<WORD coords="4519,5809,4598,5772,5808">this</WORD>
</LINE>
<LINE>
<WORD coords="344,5867,568,5830,5866">document</WORD>
<WORD coords="585,5867,666,5830,5866">and</WORD>
<WORD coords="687,5867,882,5839,5866">reserves</WORD>
<WORD coords="900,5867,968,5830,5866">the</WORD>
<WORD coords="988,5877,1086,5830,5866">right</WORD>
<WORD coords="1102,5867,1141,5833,5867">to</WORD>
<WORD coords="1164,5867,1282,5830,5866">make</WORD>
<WORD coords="1301,5877,1494,5830,5866">changes</WORD>
<WORD coords="1511,5867,1550,5833,5867">to</WORD>
<WORD coords="1569,5877,1882,5830,5866">specifications</WORD>
<WORD coords="1900,5867,1981,5830,5866">and</WORD>
<WORD coords="2001,5877,2196,5830,5866">products</WORD>
<WORD coords="2214,5877,2492,5830,5866">descriptions</WORD>
<WORD coords="2510,5867,2550,5833,5867">at</WORD>
<WORD coords="2567,5877,2645,5839,5866">any</WORD>
<WORD coords="2663,5867,2757,5830,5866">time</WORD>
<WORD coords="2776,5867,2940,5830,5866">without</WORD>
<WORD coords="2959,5867,3105,5830,5866">notice.</WORD>
<WORD coords="3125,5867,3252,5830,5866">Atmel</WORD>
<WORD coords="3279,5867,3388,5830,5867">does</WORD>
<WORD coords="3408,5867,3475,5833,5866">not</WORD>
<WORD coords="3495,5867,3613,5830,5866">make</WORD>
<WORD coords="3633,5877,3712,5839,5866">any</WORD>
<WORD coords="3731,5867,4011,5830,5866">commitment</WORD>
<WORD coords="4028,5867,4067,5833,5867">to</WORD>
<WORD coords="4087,5877,4241,5830,5867">update</WORD>
<WORD coords="4258,5867,4326,5830,5866">the</WORD>
<WORD coords="4347,5867,4600,5830,5866">information</WORD>
</LINE>
<LINE>
<WORD coords="344,5925,565,5888,5924">contained</WORD>
<WORD coords="595,5925,747,5888,5924">herein.</WORD>
<WORD coords="779,5925,931,5888,5924">Unless</WORD>
<WORD coords="958,5935,1210,5888,5924">specifically</WORD>
<WORD coords="1238,5935,1430,5888,5924">provided</WORD>
<WORD coords="1458,5931,1690,5888,5924">otherwise,</WORD>
<WORD coords="1719,5925,1846,5888,5924">Atmel</WORD>
<WORD coords="1876,5935,2071,5888,5924">products</WORD>
<WORD coords="2098,5925,2168,5897,5924">are</WORD>
<WORD coords="2198,5925,2265,5891,5924">not</WORD>
<WORD coords="2291,5925,2466,5888,5924">suitable</WORD>
<WORD coords="2493,5931,2564,5888,5924">for,</WORD>
<WORD coords="2593,5925,2674,5888,5924">and</WORD>
<WORD coords="2702,5925,2803,5888,5924">shall</WORD>
<WORD coords="2834,5925,2901,5891,5924">not</WORD>
<WORD coords="2928,5925,2979,5888,5925">be</WORD>
<WORD coords="3008,5925,3114,5888,5925">used</WORD>
<WORD coords="3142,5931,3191,5888,5924">in,</WORD>
<WORD coords="3220,5925,3476,5888,5924">automotive</WORD>
<WORD coords="3504,5935,3789,5888,5924">applications.</WORD>
<WORD coords="3818,5925,3945,5888,5924">Atmel</WORD>
<WORD coords="3975,5935,4170,5888,5924">products</WORD>
<WORD coords="4197,5925,4266,5897,5924">are</WORD>
<WORD coords="4296,5925,4363,5891,5924">not</WORD>
<WORD coords="4390,5931,4599,5888,5924">intended,</WORD>
</LINE>
<LINE>
<WORD coords="344,5990,597,5947,5983">authorized,</WORD>
<WORD coords="619,5984,662,5956,5983">or</WORD>
<WORD coords="681,5984,907,5947,5983">warranted</WORD>
<WORD coords="927,5984,986,5947,5983">for</WORD>
<WORD coords="1006,5984,1084,5956,5984">use</WORD>
<WORD coords="1105,5984,1155,5956,5984">as</WORD>
<WORD coords="1176,5994,1457,5950,5983">components</WORD>
<WORD coords="1478,5983,1512,5947,5983">in</WORD>
<WORD coords="1534,5994,1809,5947,5983">applications</WORD>
<WORD coords="1829,5984,2024,5947,5983">intended</WORD>
<WORD coords="2044,5984,2083,5950,5984">to</WORD>
<WORD coords="2104,5994,2275,5950,5983">support</WORD>
<WORD coords="2293,5984,2336,5956,5983">or</WORD>
<WORD coords="2355,5984,2516,5947,5983">sustain</WORD>
<WORD coords="2539,5984,2615,5947,5983">life.</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="345,6090,807,6046,6083">SAFETY-CRITICAL,</WORD>
<WORD coords="832,6090,1078,6046,6083">MILITARY,</WORD>
<WORD coords="1098,6083,1202,6046,6083">AND</WORD>
<WORD coords="1222,6084,1559,6046,6083">AUTOMOTIVE</WORD>
<WORD coords="1578,6084,1951,6046,6083">APPLICATIONS</WORD>
<WORD coords="1974,6084,2298,6046,6083">DISCLAIMER:</WORD>
<WORD coords="2318,6084,2446,6047,6083">Atmel</WORD>
<WORD coords="2467,6094,2662,6047,6083">products</WORD>
<WORD coords="2681,6084,2751,6056,6083">are</WORD>
<WORD coords="2773,6084,2840,6050,6083">not</WORD>
<WORD coords="2858,6094,3065,6047,6083">designed</WORD>
<WORD coords="3084,6084,3143,6047,6083">for</WORD>
<WORD coords="3161,6084,3242,6047,6083">and</WORD>
<WORD coords="3262,6083,3331,6047,6083">will</WORD>
<WORD coords="3353,6084,3420,6050,6083">not</WORD>
<WORD coords="3439,6084,3490,6047,6084">be</WORD>
<WORD coords="3511,6084,3616,6047,6084">used</WORD>
<WORD coords="3637,6083,3671,6047,6083">in</WORD>
<WORD coords="3692,6084,3945,6047,6083">connection</WORD>
<WORD coords="3966,6084,4053,6047,6083">with</WORD>
<WORD coords="4074,6094,4153,6056,6083">any</WORD>
<WORD coords="4172,6094,4447,6047,6083">applications</WORD>
<WORD coords="4465,6084,4601,6047,6083">where</WORD>
</LINE>
<LINE>
<WORD coords="343,6142,411,6105,6141">the</WORD>
<WORD coords="427,6142,568,6105,6141">failure</WORD>
<WORD coords="586,6142,626,6105,6141">of</WORD>
<WORD coords="642,6142,745,6105,6141">such</WORD>
<WORD coords="765,6152,960,6105,6141">products</WORD>
<WORD coords="979,6141,1109,6105,6141">would</WORD>
<WORD coords="1129,6151,1381,6105,6141">reasonably</WORD>
<WORD coords="1398,6141,1450,6105,6141">be</WORD>
<WORD coords="1467,6151,1673,6105,6141">expected</WORD>
<WORD coords="1690,6141,1730,6107,6141">to</WORD>
<WORD coords="1749,6141,1874,6105,6141">result</WORD>
<WORD coords="1891,6141,1925,6105,6141">in</WORD>
<WORD coords="1944,6151,2176,6105,6141">significant</WORD>
<WORD coords="2193,6151,2386,6105,6141">personal</WORD>
<WORD coords="2407,6151,2528,6105,6141">injury</WORD>
<WORD coords="2544,6141,2588,6115,6141">or</WORD>
<WORD coords="2603,6141,2727,6105,6141">death</WORD>
<WORD coords="2747,6152,3109,6105,6141">(“Safety-Critical</WORD>
<WORD coords="3127,6152,3443,6105,6141">Applications”)</WORD>
<WORD coords="3460,6141,3623,6105,6141">without</WORD>
<WORD coords="3639,6141,3690,6115,6141">an</WORD>
<WORD coords="3708,6141,3835,6105,6141">Atmel</WORD>
<WORD coords="3855,6141,4032,6105,6141">officer&apos;s</WORD>
<WORD coords="4049,6151,4222,6105,6141">specific</WORD>
<WORD coords="4237,6141,4387,6105,6141">written</WORD>
<WORD coords="4406,6141,4596,6107,6141">consent.</WORD>
</LINE>
<LINE>
<WORD coords="345,6210,667,6162,6199">Safety-Critical</WORD>
<WORD coords="694,6210,975,6163,6199">Applications</WORD>
<WORD coords="1002,6206,1176,6163,6199">include,</WORD>
<WORD coords="1203,6200,1367,6163,6199">without</WORD>
<WORD coords="1393,6206,1609,6163,6199">limitation,</WORD>
<WORD coords="1638,6200,1701,6163,6199">life</WORD>
<WORD coords="1728,6210,1899,6166,6199">support</WORD>
<WORD coords="1925,6200,2097,6163,6199">devices</WORD>
<WORD coords="2124,6200,2205,6163,6199">and</WORD>
<WORD coords="2233,6210,2436,6166,6199">systems,</WORD>
<WORD coords="2466,6210,2707,6163,6199">equipment</WORD>
<WORD coords="2732,6200,2774,6172,6199">or</WORD>
<WORD coords="2800,6210,2987,6166,6199">systems</WORD>
<WORD coords="3013,6200,3072,6163,6199">for</WORD>
<WORD coords="3096,6200,3164,6163,6199">the</WORD>
<WORD coords="3192,6210,3405,6163,6199">operation</WORD>
<WORD coords="3433,6200,3473,6163,6199">of</WORD>
<WORD coords="3501,6200,3668,6163,6199">nuclear</WORD>
<WORD coords="3692,6200,3879,6163,6199">facilities</WORD>
<WORD coords="3905,6200,3986,6163,6199">and</WORD>
<WORD coords="4013,6210,4216,6172,6199">weapons</WORD>
<WORD coords="4242,6210,4441,6166,6199">systems.</WORD>
<WORD coords="4470,6200,4599,6163,6199">Atmel</WORD>
</LINE>
<LINE>
<WORD coords="345,6269,539,6222,6258">products</WORD>
<WORD coords="560,6259,630,6231,6258">are</WORD>
<WORD coords="654,6259,721,6225,6258">not</WORD>
<WORD coords="741,6269,948,6222,6258">designed</WORD>
<WORD coords="972,6259,1042,6231,6258">nor</WORD>
<WORD coords="1063,6259,1258,6222,6258">intended</WORD>
<WORD coords="1279,6259,1337,6222,6258">for</WORD>
<WORD coords="1359,6259,1436,6231,6259">use</WORD>
<WORD coords="1459,6258,1493,6222,6258">in</WORD>
<WORD coords="1519,6269,1680,6222,6258">military</WORD>
<WORD coords="1701,6259,1744,6231,6258">or</WORD>
<WORD coords="1763,6269,2001,6231,6258">aerospace</WORD>
<WORD coords="2023,6269,2297,6222,6258">applications</WORD>
<WORD coords="2318,6259,2361,6231,6258">or</WORD>
<WORD coords="2380,6259,2689,6222,6258">environments</WORD>
<WORD coords="2711,6259,2856,6222,6258">unless</WORD>
<WORD coords="2878,6269,3131,6222,6258">specifically</WORD>
<WORD coords="3152,6269,3408,6222,6258">designated</WORD>
<WORD coords="3431,6269,3480,6222,6259">by</WORD>
<WORD coords="3500,6259,3627,6222,6258">Atmel</WORD>
<WORD coords="3650,6259,3700,6231,6259">as</WORD>
<WORD coords="3724,6269,4050,6222,6258">military-grade.</WORD>
<WORD coords="4073,6259,4201,6222,6258">Atmel</WORD>
<WORD coords="4226,6269,4421,6222,6258">products</WORD>
<WORD coords="4442,6259,4512,6231,6258">are</WORD>
<WORD coords="4536,6259,4604,6225,6258">not</WORD>
</LINE>
<LINE>
<WORD coords="344,6328,550,6281,6317">designed</WORD>
<WORD coords="573,6318,643,6290,6317">nor</WORD>
<WORD coords="663,6318,858,6281,6317">intended</WORD>
<WORD coords="877,6318,936,6281,6317">for</WORD>
<WORD coords="956,6318,1033,6290,6318">use</WORD>
<WORD coords="1055,6317,1089,6281,6317">in</WORD>
<WORD coords="1111,6318,1362,6281,6317">automotive</WORD>
<WORD coords="1383,6328,1658,6281,6317">applications</WORD>
<WORD coords="1679,6318,1824,6281,6317">unless</WORD>
<WORD coords="1844,6328,2096,6281,6317">specifically</WORD>
<WORD coords="2116,6328,2366,6281,6317">designated</WORD>
<WORD coords="2388,6328,2437,6281,6318">by</WORD>
<WORD coords="2456,6318,2584,6281,6317">Atmel</WORD>
<WORD coords="2606,6318,2656,6290,6318">as</WORD>
<WORD coords="2676,6318,2927,6281,6317">automotive</WORD>
<WORD coords="2939,6328,3098,6281,6317">-grade.</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
<PAGECOLUMN></PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="atmel-42508-software-library-for-aes-128-encryption-and-decryption_applicationnote_at10764_0029.djvu"/>
</BODY>
</DjVuXML>
