ÃÖ ÔØÓ Ö Å Ó Ö Ú ÓÚ ½ ÔÖ Ð ¾¼½¾ º ËÓ Ö Ò ½ ÍÚÓ ¾ Ç ÒÓÚÒ ÔÓ ÑÓÚ Á ØÓÖ ÈÖ Ð Ó ÒÓÚ Ø ÓÖ ÖÓ Ú Â ÒÓ Ø ÚÒ Ü Ö Ø Ñ ½ Ë ÚÖ Ñ Ò ÔÖÓØÓÕÒ Ü Ö ½ ÃÓÒ ÕÒ ÔÓ ½ 8 RC4 17 9 Ë ÑÓ Ò ÖÓÒ ÜÙ ÔÖÓØÓÕÒ Ü Ö ½ 10 ËÐÙÕ Ò Ü Ö ½ 11 ÃÓÒ ÕÒ ÔÓ II 19 12 AES ¾½ ½¾º½ ÍÚÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾½ 12.2 ÍÔÖÓÜ Ò AES º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¾ ½¾º ÃÓÒ ÕÒÓ ÔÓ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¾º Ì Ð S º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¾ ¾¾ ½¾º ÈÖÓÜ Ö Ú ÙÕ º º º º º º º º º º º º º º º º º º º º º º º º ¾ ½¾º ÈÖ Ñ Ö ÔÖÓÜ Ö Ú ÙÕ º º º º º º º º º º º º º º º º º º º ¾ ½¾º ÍÔÖÓÜ Ò Ð ÓÖ Ø Ñ AES º º º º º º º º º º º º º º º º º º º º ¾ ½¾º Ü ÖÓÚ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¾º ÈÖ Ñ Ö Ü ÖÓÚ º º º º º º º º º º º º º º º º º º º º º º º º º ¾ ¾ 12.10ÃÓÑÔÐ Ø Ò AES º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ 12.11AES Ó ÓÑ ÒÓÚ Ò Ü Ö º º º º º º º º º º º º º º º º º º º ¾ 12.12Æ Õ Ò ÓÖ Ü ÐÓ ÓÚ Ü Ö º º º º º º º º º º º º º ¾ 1
12.13 Ò Ð Þ ÙÔÖÓÜ ÒÓ Ð ÓÖ ØÑ AES º º º º º º º º º º º º º º ¾ 12.14Ç Ü ÓÒ ØÖÙ AES º º º º º º º º º º º º º º º º º º ½¾º½ Ë ÙÖÒÓ Ø º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ ¼ ½¾º½ ÒÓ Ø º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ ½ Æ Ô Ò ÐÓ ÓÚ Ü Ö ¾ ½ º½ ÈÓØÔÙÒ ÔÖ ØÖ Ù Ö Ø Ù Ö Ò º º º º º º º º º º º º º º ¾ ½ ËØ Ô ÒÓÚ ÔÓÒÓÚ Ò Ñ Ú Ö Ö Ñ ¾ ½ ÎÖ Ñ Ò ÐÓ ÒÓ Ø Ð ÓÖ Ø Ñ ½ Ë Ø Ñ ÚÒ Ñ ÙÕ Ñ 16.1 RSA º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º¾ ÈÖÓ Ð Ñ Ö ØÒÓ ÐÓ Ö ØÑ Ù ÓÒ ÕÒÓÑ ÔÓ Ù º º º º º º º ½ ½ º ÈÖÓØÓ ÓÐ Ù Ð Ü Ú ÙÕ ßÀ ÐÑ Ò º º º º º º º º º ½ ½ Å ÓÖ Ü Ò Ü Ö Ø Ñ ÚÒ Ñ ÙÕ Ñ ¾ 17.1 RSA Ó Ð ÓÖ Ø Ñ Þ Ü ÖÓÚ ÔÓÖÙ º º º º º º º º º º º ¾ ½ º¾ Ð Ñ ÐÓÚ Ð ÓÖ Ø Ñ Þ Ü ÖÓÚ º º º º º º º º º º º º º º º ½ º Ê ÞÑ Ò ÙÕ Ú Å ¹ÇÑÙÖ º º º º º º º º º º º º º º º º º º º ½ Ð ÔØ Õ Ö Ú ½ º½ ÈÖÓ Ð Ñ Ö ØÒÓ ÐÓ Ö ØÑ Ð ÔØ Õ Ñ Ö Ú Ñ º º º 18.2 Sistemi sa eliptichkim krivama................... 50 18.2.1 Sistem analogan PUKDH.................. 50 ½ º¾º¾ Ë Ø Ñ Ò ÐÓ Ò Ð Ñ ÐÓÚÓ Ö ÞÑ Ò ÔÓÖÙ º º º º º ½ 19 À Ü ÙÒ MD Ó ÓÚ Þ ÙØ ÒØ Ù MAC µ ¾ 19.1 À Ü Ð ÓÖ Ø Ñ MD º º º º º º º º º º º º º º º º º º º º º º º º ½ º½º½ ÈÓÕ ØÒÓ Ø Ö Ø Ö º º º º º º º º º º º º º º º º º º ½ º½º¾ É Ø Ö ÙÒ º º º º º º º º º º º º º º º º º º º º º º ½ º½º ÃÓÒ Ø ÒØ º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º½º ÇÞÒ Þ ÖÓØ Ù º º º º º º º º º º º º º º º º º º º º º ½ º½º Ç Ø Ð ÓÞÒ º º º º º º º º º º º º º º º º º º º º º º º º ½ º½º ÁÞÖ ÕÙÒ Ú f º º º º º º º º º º º º º º º º º º º º º º º ½ º½º Ç Ü º º º º º º º º º º º º º º º º º º º º º º º º º º ½ º½º À Ü Ð ÓÖ Ø Ñ º º º º º º º º º º º º º º º º º º º º º º º 20 ÈÓØÔ ÙØ ÒØ 20.1 ÈÓØÔ ÔÓÑÓ Ù RSA º º º º º º º º º º º º º º º º º º º º º º º ¾¼º¾ Ð Ñ ÐÓÚ ÔÓØÔ º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼º ÒÓÖÓÚ ÔÓ ØÙÔ ÙØ ÒØ ÔÓØÔ º º º º º º º º º º º ¼ ¾¼º ÎÖ Ñ Ò Ô Õ Ø º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ ¾¼º Ã Ê ÊÇË º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½ 20.6 PKI º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ ¾¼º º½ Ë ÖØ Ø º º º º º º º º º º º º º º º º º º º º º º º º º ¾ ¾
20.6.2 PGP ÑÖ ÔÓÚ Ö º º º º º º º º º º º º º º º º º º ¾¼º Ë ÙÖÒÓ Ø Ò ÒØ ÖÒ ØÙ º º º º º º º º º º º º º º º º º º º º º º 20.7.1 SSL º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º 20.7.2 IPSec º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾¼º ÍÔÖ Ú ÙÕ Ú Ñ º º º º º º º º º º º º º º º º º º º º º º º ¾¼º ÃÚ ÒØÒ Ö ÔØÓ Ö º º º º º º º º º º º º º º º º º º º º º º ¾¼º½¼ Ø Ò º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¼ ¾½ ÃÖ ÔØÓ Ò Ð Þ ¼ ¾½º½ Î Ò ÖÓÚ Ü Ö º º º º º º º º º º º º º º º º º º º º º º º º º ¾ ¾½º½º½ Ì Ø Ã Þ Ó º º º º º º º º º º º º º º º º º º º º º º º º ¾½º½º¾ Ö Ñ ÒÓÚ Ø Ø º º º º º º º º º º º º º º º º º º º º º º º ¾½º½º Ç Ö Æ Ú ÙÕ º º º º º º º º º º º º º º º º º º º º º ¾½º¾ ÃÖ ÔØÓ Ò Ð Þ ÑÓ ÖÒ ÔÖÓØÓÕÒ Ü Ö º º º º º º º º º º ¾½º¾º½ Ò Ö ØÓÖ ÐÙÕ Ò ÖÓ Ú b/p º º º º º º º º º º º º º ¾½º ÈÓÑ Ö Õ Ö Ø Ö Ð Ò ÖÒÓÑ ÔÓÚÖ ØÒÓÑ ÔÖ ÓÑ º º º º ¾¾ Ä Ò ÖÒ Ö Ò Ð Ö ÔØÓ Ò Ð Þ 22.1 1SAES º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º 22.2 Ä Ò ÖÒ Ö ÔØÓ Ò Ð Þ º º º º º º º º º º º º º º º º º º º º º º 22.3 Ä Ò ÖÒ Ö ÔØÓ Ò Ð Þ ½SAES º º º º º º º º º º º º º º º º º 22.4 Ç Ö Æ Ú Ò Õ Ò º º º º º º º º º º º º º º º º º º º º º º º 22.5 Æ Ô º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º 22.5.1 ÖÞ Ò Ò Ô º º º º º º º º º º º º º º º º º º º º º º º º ½ 22.6 Ö Ò ÐÒ Ö ÔØÓ Ò Ð Þ º º º º º º º º º º º º º º º º º º ½ ¾ ÊÓÆ Ò Ò Ô Ö Ó ¾ ØÓÖ Þ ¾ º½ ÖÑ ÓÚ ØÓÖ Þ n º º º º º º º º º º º º º º º º º º º º ¾ º¾ Þ ØÓÖ º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º ØÓÖ Þ ÔÓÑÓ Ù Ú Ö Ò Ö ÞÐÓÑ º º º º º º º º º º ½¼¼ ¾ º ØÓÖ Þ ÔÓÑÓ Ù Ð ÔØ Õ Ö Ú º º º º º º º º º º º ½¼½ ¾ º ÈÓ ÖÓ Ú º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¼¾ ¾ º Ë ØÓ Ù ÔÓ Ù ÖÓ Ú º º º º º º º º º º º º º º º º º º º º º º º º º ½¼ ¾ Ê Ü Ú ÔÖÓ Ð Ñ Ö ØÒÓ ÐÓ Ö ØÑ Ù F q ½¼ 25.1 Ö ÙÔÓØÖ Ò Ø ÓÖ Ñ Ó Ó Ø Ñ Þ Ü ÖÓÚ RSA º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º º ½¼ 25.2 ÈÓÐ ¹À ÐÑ ÒÓÚ Ð ÓÖ Ø Ñ º º º º º º º º º º º º º º º º º º º º ½¼ 25.3 Ð ÓÖ Ø Ñ Þ ÞÖ ÕÙÒ Ú Ò º º º º º º º º º º º º º º º ½¼ 26 ½½½
Ç ÒÓÚ Þ ÓÚ ÙÖ Ø Ø Ð E. Schaefera (ÙÒ Ú ÖÞ Ø Ø Ë ÒØ ÃÐ Ö Ù Ã Ð ÓÖÒ µ An introduction to cryptography, http://math.scu.edu/ eschaefe/crylec.pdf. ÁÞÚÖÜ Ò Ù ÑÓ Ñ Ò Ñ ÐÒ ÔÖ ¹ Ð ÓÆ Ú ÔÖ Ú Þ Õ º ÈÓØÖ ÒÓ ÔÖ ÞÒ Ñ Ò Ñ ÐÒÓº Ð Ð ÔÓÜ ÔÓÖÙ Ù Ó ÒÙ Ð Ø Ó Þ Ò Ö ÓÞ¹ Ò Ð ÔÖÓØ ÚÒ Ò ÔÖ Ø Ó ÑÓ Ò Ñ ØÙÆ ÔÓÖÙ µ ÑÓ Ö ÞÙÑ ØÙ ÔÓÖÙ Ùº Ó ØÓ Ð Ü ÖÙ ÔÓÖÙ Ù ÔÖ Ð º Ó Ò Ü ÖÙ ÔÖ Ñ ÒÙ ÔÓÖÙ Ùº Í ØÓ Ù ÔÖÚÓ Ð ÙÖ Ö ÔØÓ Ö µ Ò Ð Þ Ö ÑÓ ÓÚ Ú Ø ÚÒÓ Ø Ü ÖÓÚ Ü ÖÓÚ º Ó ÔÖ Ö ØÒ ÔÓÖÙ Ù ÓÒ ÓÒ ÔÓ ÙÜ Ø Ö Þ Ü ÖÙ Ö ÔØ Ö ÔÖÓÕ Ø µ ÔÓÖÙ Ù Ù ÖÙ ÓÑ ÐÙ ÙÖ Ú ÑÓ Ð ÓÖ ØÑ Ñ ÔÓÚ Þ Ò Ñ Ö Þ Ñ Ü Ö Ó ÒÓ ÒÓ Ö ÔØÓ Ò Ð ÞÓѺ Ä Ø Ö ØÙÖ Menezes, Oorshot, Vanstone, Handbook of Applied Cryptography B. Schneier, Applied Cryptography, II izdanje, 1996. D. Stinson, Cryptography - Theory And Practice, III izd, CRC 2006. N. Koblitz, A course in number theory and cryptography, Springer, 1987. A. G. Konheim, Computer Security and Cryptography, Wiley, 2007. D. Kahn, The CodeBreakers, 1973. º ÌÖ ÓÒ Ö ÔÖ ÐÙÜ Ú ½¹ ÈÐ ØÓ ¾¼¼¾º ½ ÍÚÓ ÈÓ Ð ÔÖ Ð Ó ÒÓÚÒ ÔÓ ÑÓÚ Þ Ö ÔØÓÐÓ Ò ÓÐ Ó ÔÖ Ñ Ö Þ ¹ ØÓÖ Ö ÔØÓ Ö Ó ÒÓÚÒ ÔÓ ÑÓÚ Þ Ø ÓÖ ÖÓ Ú Ù ÓÚÓÑ ÙÖ Ù Ö ÞÑ ØÖ ÑÓ Ò ÓÐ Ó ÒÓ Ø ÚÒ Ü Ö Ø Ñ ÔÖ Ñ Ö Ö Ô¹ ØÓ Ò Ð Þ Ò ÚÖ Ñ Ò Ü Ö Ø Ñ º ¾ Ç ÒÓÚÒ ÔÓ ÑÓÚ ÇØÚÓÖ Ò Ø Ø OT ÔÓÖÙ Ó Ù ØÖ ÔÓ Ð Ø ÒÔÖº ZDRAVO. Ö Ø ST Ü ÖÓÚ Ò ÔÓÖÙ ÒÔÖº XQABER. ÖÓÚ ØÖ Ò ÓÖÑ ÓØÚÓÖ ÒÓ Ø Ø Ù Ü Ö Øº Ü ÖÓÚ ÒÚ ÖÞÒ ØÖ Ò ÓÖÑ Ü Ö Ø Ù ÓØÚÓÖ Ò Ø Øº ÃÓ Ö ØÖ Ò ÓÖÑ Ü ÓØÚÓÖ Ò Ø Ø Ù Ò Þ Ö Ð Ø º Æ ÔÖ Ñ Ö Ó Ú Ð ÐÓÚ Ò Ð µ Ó Ö ÑÓ A 0,... Z 25, ÓÒ Ö Õ ZDRAVO Ó Ö 25 3 17 0 21 14º Í ÔÖ Õ ØÓ ÓÖ Ø ASCII Ó Ó Ú Ù Ñ ÓÐ ÔÖ Ø Ú 8 Ø ÒÔÖº A 01000001, B 01000010, a 01100001, 0 00110000,? 00111111, к Ó Ö ØÖ Ò ÓÖÑ Ü Ò Þ Ö Ð Ø Ù ÔÓÐ ÞÒ Ø Øº Í Ó ¹ Ö Ù Ó Ö Ù Ò Ñ Ò Õ Ø ÒÓ º ÈÖÓØÓÕÒ Ü Ö ØÖ Ò ÓÖÑ Ü ÓØÚÓÖ Ò Ø Ø Ñ ÓÐ ÔÓ Ñ ÓÐ Ó ÒÓ ¹ ÒÓ Ò Õ Ü Ø ÔÓ Øº
ÐÓ ÓÚ Ü Ö ÔÖ Ñ Ù Ò Ñ ÓÐ ÓØÚÓÖ ÒÓ Ø Ø ÖÙÔ Ò Ù ÐÓ ÓÚ º ÌÓ ÑÓ Ù Ù Ù ÒÔÖº Ö Ñ Ô ÖÓÚ ÐÓÚ Ó ÜØÓ TI), Ó ÒÓ ÒÓ ØÖ Ö Ñ ØÖÓ ÐÓÚ º AES Ö Ò Ó Advanced Encryption Standard) Ö ÐÓ ÓÚ Ñ Ó ÔÓ 128 Ø Ó ÒÓ ÒÓ 16 ÞÒ ÓÚ µº Ó Ð ÓÖ Ø Ñ Ü ÖÓÚ Ö Ö Ñ Ñ ÓÒ ÓÒ ÑÓ Ò ÑÓÖ µ ÙÚ TI Þ Ñ Ù ÒÔÖº AG, Ó ÒÓ ÒÓ TE LK. Ö ÔÖ Ñ ÜØ ÔÖ Ñ ÜØ Ô ÖÑÙØÙ µ ÐÓÚ ÞÒ ÓÚ Ø µº Ö Þ Ñ Ò Þ Ñ Ù ÐÓÚ ÞÒ ÓÚ Ø µ ÖÙ Ñ Ò Ñ Ù Ñ Ö Ó Ð º ÃÓÑ ÒÓÚ Ò Ü Ö ÔÖ Ñ Ù Ò ÞÑ Ò ÕÒÓ ÔÖ Ñ ÜØ Þ Ñ Ò º ÈÓ Ð Ò ÔÖÓØÓÕÒ ÐÓ ÓÚ Ü Ö Ù ÐÓÚÒ º Ö Ø Ñ Ð ÑÓ Ø Ñµ Ô Ö Õ Ù Ð Ñ ÒØ Ð ÓÖ Ø Ñ Ü ÖÓÚ Ð ÓÖ Ø Ñ Ü ÖÓÚ º ÇÚ Ð ÓÖ ØÑ ÓÖÓ ÙÚ Þ Ú Ó ÔÓ ÒÓ Ô Ö Ñ ØÖ Ó ÞÓÚ ÙÕº à ÙÕ Ô Ö Ñ Ø Ö Ó Ñ Ö ÓÒ Ö ØÒ Ü Ö ØÖ Ò ÓÖÑ Ù Ó Ú ÖÙ Þ Ö ÒÓ Ø Ñ º Ë Ñ ØÖ ÕÒ Ø Ñ ÔÓ Ö ÞÙÑ Ú ÙÔÓØÖ Ù ØÓ Ø ÒÓ ÙÕ Þ Ü ÖÓ¹ Ú Ü ÖÓÚ º Ð Ó Ò ÑÓÖ Ù ÙÒ ÔÖ Ó ÓÚÓÖ Ó ÙÕ ÓÖ Ø Ø º Ñ ØÖ ÕÒ Ø Ñ Ø Ñ ÚÒ Ñ ÙÕ Ñµ ÔÓ Ö ÞÙÑ Ú Ð ¹ Ó Ò Ó Ú ÔÙ Ð Ù Ùµ ÚÓ ÙÕ Ú Þ Ü ÖÓÚ Ù Ò Ú Ó Ø ÒÓ Ø ÕÙÚ Ù ÚÓ ÙÕ Ú Þ Ü ÖÓÚ º ÃÖ ÔØÓ Ò Ð Þ ÔÖÓ ÔÓÑÓ Ù Ó ÔÓ ÙÜ Ú Ü Ö Ø ØÖ Ò ¹ ÓÖÑ Ü Ù Ó ÓÚ Ö Ù ÓØÚÓÖ Ò Ø Ø Ò ÞÒ Ù ÙÕº Ö ÔØ Ö Ñ Ö Ð Ñ ÕÒÓµ Ù Ô ÜÒ Ö ÔØÓ Ò Ð Þ º Ð ÔÓÜ Ð Ü ÖÓÚ Ò ÔÓÖÙ º Ó Ò Ò ÔÖ Ñ Ð º ÔÖ ÐÙÜ Ù Ò Ð Ú Þ ÔÓ ÙÜ Ú ÔÖÓÕ Ø Ü ÖÓÚ ÒÙ ÔÓÖÙ Ùº ÍÓ Õ Ò ÔÖ ØÔÓ Ø Ú ½º ÖÓÚ Ü ÖÓÚ ØÖ Ù Ù ÒÓ Ø ÚÒ Þ Ö ÙÐ ÖÒ ÙÕ Ò Ð Ù Ó Ò º Ö ÔØ Ö ØÖ Ù Ø ÔÖÓ ¹ РѺ ¾º Ë ÙÖÒÓ Ø ÔÖ Ø ÕÒÓ Ø Ü Ö Ó Ø Ñ Ù ÓÖÓ ÙÚ ÔÖÓØ Ú¹ Ö ÕÒ Þ Ø Ú º º ÈÖ ØÔÓ Ø Ú ÞÒ Ø ÔÖ Ñ ÒÓ Ü Ö Ó Ø Ñ Ò ÞÒ ÑÓ ÙÕº
Á ØÓÖ ËÔ ÖØ Ò Ü Ö Ë Ø Ð ¼¼ Ó Ò ÔºÒº ºµ ÇÚÓ ÔÖ Ñ Ö Ü Ö ÔÖ ¹ Ñ ÜØ º ËÐÓÚ ÔÓÖÙ Ô Ù Ù Ò Ù Õ Ó Ô Ô ÖÒÓ ØÖ Ó ÓÑÓØ Ú Ó Ó ÜØ Ô º Ñ Ø Ö ÜØ Ô ÙÕ Þ Ü ÖÓÚ º ----------------------------- /T/H/I/S/I/S/_/ / \ / /H/O/W/I/T/ / /W/O/U/L/D/ \ / ----------------------------- Þ ÖÓÚ Ü Ö º Ö Þ Ñ Ò Ó Ú Ó ÐÓÚÓ Þ Ñ Ù ØÖ Ñ ÐÓÚÓÑ Ù ÒÓ Ù µ Ó º Ó Ö Ó Ò Ð Ó ÓÒ Ù Þ Ñ Ò A D B E º º º Z Cº Ö Ø HAL Ó ÓÚ Ö ÔÓÖÙ IBM Ç Ù Ú Ñ ÖÙ ¾¼¼½ µ ÓÚ ÚÖÜ ÔÓÑ Ö Þ ÒÓ ÐÓÚÓ Ù ÒÓµº ÈÐ ÖÓÚ Ü Ö º ÈÖ Ñ Ú Ò Ó Ó ½ ½¼¹¾¼º Ó Ò Ù ÙÖ ÓÑ Ö ØÙ ÔÖÚÓÑ Ú Ø ÓÑ Ö ØÙº ÌÓ Ò Ó ÔÖÚ Ü Ö Ó Ó Ö Æ Ú Ð ¹ Ö Ñ º ÌÓ ØÓÚÖ Ñ ÒÓ Ü Ö Þ Ñ Ò º Æ ÔÖ Ñ Ö Þ ÙÕ PALMER- STON ÓÖÑ Ö Ø Ð P A L R S T B C D H IJ K V W X M E O N F G Q U Y Z Ü ÖÓÚ Ó Ô Ö SF ÔÓ Ñ ØÖ ÔÖ ÚÓÙ ÓÒ ÓÑ Ù Ø Ñ Ò ÓÚ Ú ÐÓÚ Ó Ø Ð Ú Ø Ñ Ò ÔÖ ÚÓÙ ÓÒ Ù Ü Ö Ø OC. Ê Ó Ð Ó Ö Æ Ò Õ Ò ÓÑ Ù S O Ù ØÓ ÚÖ Ø Ó F C. Ó Ù Ú ÐÓÚ ÓØÚÓÖ ÒÓ Ø Ø Ù ØÓ ÚÖ Ø ÓÒ Ú Ó ÐÓÚÓ Þ Ñ Ù ÐÓÚÓÑ ÓÚ Ò ØÖ Ò º Ì Ó SO ÔÓ Ø TN, BG ÔÓ Ø CB. Ó Ù Ú ÐÓÚ ÓØÚÓÖ ÒÓ Ø Ø Ù ØÓ ÓÐÓÒ ÓÒ Ú Ó ÐÓÚÓ Þ Ñ Ù ÐÓÚÓÑ ÔÓ º Ì Ó IS ÔÓ Ø WC, SJ ÔÓ Ø CW. ÚÓ ØÖÙ ÐÓÚ Ö Þ Ú Ù ÐÓÚÓÑ X, Ô Ø Ó ÓØÚÓÖ Ò Ø Ø BALLOON ØÖ Ò ÓÖÑ Ü Ù BA LX LO ON ÔÖ Ü ÖÓÚ º ËÚ Ó ÐÓÚÓ J Ù Ø ØÙ Þ Ñ Ù ÐÓÚÓÑ I Ø Ó ÖÓ Ö ÞÐ Õ Ø ÐÓÚ Ñ Ù Ò 25µº ADFGVX.ÇÚÙ Ü ÖÙ ÓÖ Ø Ð Ù Æ Ñ Ù ÔÖÚÓÑ Ú Ø ÓÑ Ö ØÙº ¹ Ò Ú Ò ÔÖ Ñ Ò Ò Ø Ð A D F G V X A K Z W R 1 F D 9 B 6 C L 5 F Q 7 J P G X G E V Y 3 A N V 8 O D H 0 2 X U 4 I S T M 6
Æ Ö ÒÓ ÐÓÚÓ Ó ØÖ Ü ÖÓÚ Ø ÔÖÓÒ Ð Þ Ù Ø Ð Ô Þ ¹ Ñ Ù Ô ÖÓÑ ÓÞÒ ÚÖ Ø ÓÐÓÒ µº Ì Ó ÓØÚÓÖ Ò Ø Ø PRODUCTCI- PHERS ÔÓ Ø FG AG VD VF XA DG XV DG XF FG VG GA AG XG. ÇÚÓ Þ Þ Ñ Ò º Ø Ñ Ð Þ ÔÖ Ñ ÜØ Ó Þ Ú Ó ÙÕ Þ ÔÓÒÓÚ Ò ÐÓÚ º Æ ØÓ Ò ÔÖ Ñ Ö DEUTCH. ËÐÓÚ ÒÙÑ Ö ÜÙ ÔÖ Ñ Ñ ØÙ Ù º Ê ÞÙÐØ Ø ÔÖÚ Þ Ò Ô Ü ÔÓ ÙÕ Ù Ú Ü ÚÖ Ø º D E U T S C H 2 3 7 6 5 1 4 F G A G V D V F X A D G X V D G X F F G V G G A A G X G ËÐÓÚ Þ Ø Ñ Ô Ù Ù Ö ÓÑ ÔÓ ÓÐÓÒ Ñ ÔÖ Õ ÑÙ ÖÓ Ú ÞÒ ÓÐÓÒ ØÖ Õ Ò Ö ØÙ Ò Þº Í ÓÚÓÑ ÔÖ Ñ ÖÙ Ü Ö Ø DXGX FFDG GXGG VVVG VGFG GDFA AAXA Ö ÞÑ ÒÓÖ ÜÙµº ÚÖ Ñ ÖÙ Ó Ú Ø Ó Ö Ø ÒÓÒ Shannon) ÔÓ Þ Ó Ò Þ¹ Ñ Ò ÕÒÓ ÓÖ Ü Þ Ñ Ò ÔÖ Ñ ÜØ Ó Ö Ü Ö Ø Ñ º Ë Ø Ñ ADFGVX ÐÓÜ Ö ÓÖ Ø ÑÓ ÔÓ Ò Þ Ñ Ò ÔÖ Ñ Ü¹ Ø ÔÖ Õ ÑÙ Þ Ñ Ò Ò Ò Þ Ú Ó ÙÕ µº ÚÖ Ñ ÖÙ Ó Ú Ø Ó Ö Ø ÓÖ Ü Ò Ù ÓÑÔÐ ÓÚ Ò ÓÑ ÒÓÚ Ò Ü Ö Ó ÜØÓ Ù Ò Ñ Õ ENIGMA Ô Ò PURPLE, Ò ÔÖ Ú Ò Ù Ö ÕÙÒ Ö Colossus) Þ Ö Þ Ø Ü Ö º ÂÓÜ ÙÚ Ø Ò Ó Ü Ö Ù ÓÖ Ø Ð Ñ Ö Ò º ÈÓ Ð ½ ¼º Ó Ò Ù ÖÓ Ú Þ ÒÓ Ø Ö ÕÙÒ Ö ÔÓ Ø ÐÓ ÓÞ ¹ Ò ÔÖÓ Ð Ñº ÈÓ Ú Ð ÔÓØÖ Þ ÙÖÒ Ñ Ü Ö Ñ Þ ÓÑ Ö ÐÒÙ ÙÔÓØÖ Ùº ÈÓ Ø ÐÓ ÑÓ Ù Ö Ð ÞÓÚ Ø ÐÓ Ò Ð ÓÖ ØÑ Ù ÒÓÑ Õ ÔÙ ÜØÓ ÓÑÓ Ù Ú ÐÓ ÖÞÓ Ü ÖÓÚ º ÈÓÖ Ð Ù ÑÓ Ù ÒÓ Ø Ö ÔØÓ Ò ¹ Ð Þ º ÈÖÓ Ð Ñ ÒØ ÒÞ ÚÒÓ Ò Ð Þ Ö Ò ÞÑ ÆÙ ½ º ½ º Ó Ò º Ó Ò ½ º ÔÓ Ú Ð Ü Ö LUCIFER (IBM), ½ º DES Ö Ò Ó Data Encryption Standard). Ç ÓÚ Ø Ñ Ù ÓÑ ÒÓÚ Ò Ü Ö º DES ÓÖ Ø ÙÕ Ó 56 Ø º Í ÑÙ Ò ÞÑ Ò ÕÒÓ ÓÖ Ø 16 Þ Ñ Ò 15 ÔÖ Ñ ÜØ º AES ÓÖ Ø ÙÕ Ó 128 Ø ØÓ Ó 10 Þ Ñ Ò 10 ÔÖ Ñ ÜØ º Ó Ò ½ º ÔÓ Ú Ù Ù Ø Ñ ÚÒ Ñ ÙÕ Ñº ÈÖ Ð Ó ÒÓÚ Ø ÓÖ ÖÓ Ú Æ Z ÓÞÒ Õ Ú ÙÔ Ð ÖÓ Ú Z = {0, ±1, ±2,...}º Ð ÖÓ Ú a, b Z ÑÓ a Ð b ÓÞÒ a bµ Ó b = na Þ Ò Ó n Zº ÖÓ a Ð b Ó ÑÓ Ó b ÙÑÒÓ aº Ì Ó 3 12 Ö 12 = 4 3 3 3 Ö 3 = 1 3 5 5 Ö 5 = 1 5 6 0 Ö 0 = 0 6º Ó x 1 ÓÐ Ó x Ç ÓÚÓÖ ±1µº Ç Ó Ò ÓÔ Ö ØÓÖ
Ó a, b, c Z a b ÓÒ a bcº Ì Ó Þ 3 12 Ð 3 60º Ó a b a c ÓÒ a b ± cº Ó a b a c ÓÒ a b ± cº ÈÖÓ Ø ÖÓ Ú Ù 2, 3, 5, 7, 11, 13,...º Ç ÒÓÚÒ Ø ÓÖ Ñ Ö ØÑ Ø ËÚ ÖÓ n Z n > 1 ÑÓ Ò Ò ØÚ Ò Ò Õ Ò ÔÖ Ø Ú Ø Ù Ó Ð Ù ÔÖÓ ÞÚÓ ÔÖÓ Ø ÖÓ Ú n = p α1 1 pα2 2 pαr r Ù α i ÔÓÞ Ø ÚÒ Ð ÖÓ Ú º ËÚ ÔÓÞ Ø ÚÒ Ð Ó ÖÓ n Ù Ó Ð p β1 1 pβ2 2 pβr r 0 β i α i Þ Ú Ó i = 1, 2,...,r Ô n Ñ (α 1 + 1)(α 2 + 1) (α r + 1) Ö ÞÐ Õ Ø Ð Ð º Æ ÔÖ Ñ Ö 90 = 2 1 3 2 5 1 º ÑÓ ÔÖÓÒ ÜÐ Ú ÔÓÞ Ø ÚÒ Ð Ó ÖÓ 90 1 1 1 2 3 5 9 ØÖ ÔÖÓÆ ÑÓ Ú ÑÓ Ù ÔÙØ Ú Ð Ú Ù ÒÓ 1 1 1 = 1 1 1 5 = 5 1 3 1 = 3 1 3 5 = 15 1 9 1 = 9 1 9 5 = 45 2 1 1 = 2 2 1 5 = 10 2 3 1 = 6 2 3 5 = 30 2 9 1 = 18 2 9 5 = 90º ÈÓ Ð Ó ÒÓÚÒ Ø ÓÖ Ñ Ö ØÑ Ø Ó p ÔÖÓ Ø ÖÓ p ab ÓÒ p a Ð p bº Æ ÔÖ Ñ Ö ÔÓÜØÓ 3 180 = 4 45 ÓÒ 3 4 Ð 3 45 Ù ÓÚÓÑ ÐÙÕ Ù Ø ÕÒÓ ÖÙ Ó ØÚÖÆ µº ÁÑÔÐ Ò ÙÚ Ø ÕÒ Þ ÐÓ Ò ÖÓ Ú 4 6 2 Ó 4 6 4 2º Æ Ù a, b Z 0 ÔÓÞ Ø ÚÒ Ð ÖÓ Ú Ó Ó Ò ÑÓ Ø 0º Æ Ú Þ Ò Õ Ð Ð Æ µ a b ÓÞÒ nzd(a, b)µ Ò Ú Ð ÖÓ d Ó Ð a bº ÈÖ Ñ Ø ÑÓ Ó d a d b ÓÒ d nzd(a, b)º Æ ÔÖ Ñ Ö nzd(12, 18) = 6 nzd(12, 19) = 1º Æ Ú Þ Ò Õ Ð Ð ÓÖ Ø Þ Ö Ú ÚÓÆ µ Ö ÞÐÓÑ Ö ÞÐÓÑ 12/19 Ú Òº Ó ÞÒ ÑÓ ØÓÖ Þ ÖÓ Ú a = p α1 1 pα2 2 pαr r b = p β1 1 pβ2 2 pβr r r Ò Ó ÔÓÒ Ò Ø ÑÓ Ù Ø 0µ ÓÒ nzd(a, b) = p γ1 1 pγ2 2 pγr γ i = min{α i, β i }º Æ ÔÖ Ñ Ö 2520 = 2 3 3 2 5 1 7 1 2700 = 2 2 3 3 5 2 7 0 Ô nzd(2520, 2700) = 2 2 3 2 5 1 7 0 = 180º ÈÖ Ñ Ø ÑÓ 2520/180 = 14 2700/180 = 15 nzd(14, 15) = 1º ÖÓ Ú Ó Ñ Æ Ò 1 ÑÓ Ù ÙÞ ÑÒÓ ÔÖÓ Ø º Æ a mod b ÓÞÒ Õ Ú Ó Ø Ø ÔÖ Ù a b Ó a = qb + r 0 r < b ÓÒ a mod b = rº Æ ÔÖ Ñ Ö 12 mod 5 = 2 7 mod 5 = 2º Ê Ø Ú Ú Ð ÖÓ Ú Ò ÔÖÓ Ø Õ Ò Ó Ø ÔÖÓ Ð Ñº ÍÑ ØÓ ÔÓÑÓ Ù Ö Ø Ú Ò Õ Ò Ó ÒÓ Ø Ú Ò Ò Ò Õ Ò Þ ÞÖ ÕÙ¹ Ò Ú Æ ÔÖ Ñ Ò Ù Ð ÓÚÓ Ð ÓÖ ØÑ º ÃÓÖ Ø Õ Ò nzd(a, b) = nzd(a mod b, b)º Ç Ö ÑÓ ÒÔÖº nzd(329, 119)º Æ ÔÖ Ð ÑÓ 329 119 Ó ÑÓ ÓÐ ÕÒ 2 Ó Ø Ø 91º Í Ú ÓÑ Ò Ö ÒÓÑ ÓÖ Ù Ð Ð Ó Ø Ø ÔÓ Ø Ù Ò Ö Ò Ò Ð Ð 329 = 2 ½½ + ½ 119 = 1 ½ + ¾ 91 = 3 ¾ + 28 = 4 + ¼
ÈÓ Ð Ó Ø Ø Ö ÞÐ Õ Ø Ó 0 ØÖ Ò Æ º ÇÚ nzd(329, 119) = 7º Æ Þ Ó Õ Ò Ù Ð ÓÚ Ð ÓÖ Ø Ñ ÑÓ ÓÖ Ø Ø nzd(a, b) ÔÖ Ø Ú Ù Ó Ð Ù ÐÓ ÖÓ Ò Ð Ò ÖÒ ÓÑ Ò nzd(a, b) = na + mb Þ Ò m, n Zº Í Ú ÓÑ ÓÖ Ù Þ Ñ Ù Ñ ÔÓ ÚÙÕ Ò ÖÓ ÕÐ Ò Ò Þ Ó Ø Ø µ 7 = ½ 3 ¾ Þ Ñ Ò Ø Ñ = ½ 3(½½ 1 ½) ÙÔÖÓ Ø Ø = 4 ½ 3 ½½ Þ Ñ Ò Ø Ñ = 4( ¾ 2 ½½ ) 3 ½½ ÙÔÖÓ Ø Ø 7 = 4 ¾ 11 ½½ ÈÖ Ñ ØÓÑ 7 = 4 329 11 119 Ó ÒÓ ÒÓ n = 4 m = 11º Ê Ð mod. ÈÓÖ ØÓ ÜØÓ mod ÓÞÒ Õ Ú Ò ÖÒÙ ÓÔ Ö Ù Ó ¹ Ø Ø ÔÖ ÐÓ ÖÓ ÒÓÑ Ùµ mod ÓÞÒ Ö Ð Ù Z Ô Ü ÑÓ a b (mod m) Ó m b aº ÖÙ Ñ Ö Õ Ñ Ö ÞÐ a b ÙÑÒÓ mº Ì Ó 7 2 (mod 5) Ö 5 5 2 7 (mod 5) Ö 5 5 12 7 (mod 5) Ö 5 5 12 2 (mod 5) Ö 5 10 7 7 (mod 5) Ö 5 0 3 7 (mod 5) Ö 5 10º k = 0 k = 1, 2, 3, 4µ ÖÓ Ú k, k ± 5, k ± 10,... Ù Ú Ñ ÆÙ Ó ÒÓ ÓÒ ÖÙ ÒØÒ ÔÓ ÑÓ ÙÐÙ 5º ÍÓÔÜØ Ö Ð mod m Ö Þ Ú Ð ÖÓ Ú Ò m ÙÒ ØÒ ÔÓ ÙÔÓÚ Ð Ú Ú Ð Ò Þ ÓÚÙ Ö Ð Ùµº ËÚ ÔÓ ÙÔ Ö Ø ÕÒÓ ÒÓ ÔÖ Ø ÚÒ Ù ÒØ ÖÚ ÐÙ [0, m 1]º Ë ÙÔ ÓÚ ÔÓ ÙÔÓÚ ÓÞÒ Õ Ú Z/mZ Ð Z m º Î ÑÓ Z/mZ Ñ m Ð Ñ Ò Ø ÖÓ Ú 0, 1,...m 1 Ù ÔÖ Ø ÚÒ m Ð Ñ Ò Ø ÙÔ Z/mZº Æ ÚÓ ÑÓ Ò ÙÓ Õ Ò ÔÖ Ñ Ö ÓÖ Ü Ö Ð mod º É ÓÚÒ ÓÖ Ø Ö ØÑ Ø Ù mod 12º Æ ÔÖ Ñ Ö 3 Ø ÔÓ Ð 11 2 Ø Ö 11 + 3 = 14 2 (mod 12)º È ÖÒ ÖÓ Ú Ù Ú 0 (mod 2) Ò Ô ÖÒ Ù 1 (mod 2)º Ç Ó Ò ÓÒ ÖÙ Ò ½º Ö Ð Ú Ú Ð Ò ½¹ a a (mod m) ¾º Ó a b (mod m) ÓÒ b a (mod m) º Ó a b (mod m) b c (mod m) ÓÒ a c (mod m)º ÈÓ Ð ¹ Ó Ó Ò ½ ¾º º ÓÒ ÖÙ ÒØÒÓ Ø ÔÓ ÑÓ ÙÐÙ m Ö Ð Ú Ú Ð Ò º º Ö ÑÒÓ Ù Z/mZ Ó a b (mod m) c d (mod m) ÓÒ a ± c b ± d (mod m) a c b d (mod m)º Ó ØÓ ÑÓ Ù ÚÖÜ Ø ÓÚ ÓÔ Ö Ù Z/Z m º Ó ÓÚ Ó Ó Ò Ö Ð mod Ð Ò ÓÔ Ö Ñ + º 12, 14 mod 5 2, 4 + + 26 mod 5 1
Æ m = 5º Ì Z/5Z = {0, 1, 2, 3, 4} = {0, 1, 2, 3, 4} Þ Ó ÒÓ ¹ Ø ÚÒÓ Ø ÔÓ ØÓÚ Ù ÑÓ Ð Ñ ÒØ Z/5Z ÓÚ Ñ ÔÖ Ø ÚÒ Ñ ÖÓ Ú Ñ µº Í Z/5Z 2 3 = 1 Ö 2 3 = 6 1 (mod 5) 3+4 = 2 Ö 3+4 = 7 2 (mod 5) 0 1 = 4 Ö 0 1 4 (mod 5)º Ì Ð Ö Ù Z/5Z ¼ ½ ¾ ¼ ¼ ½ ¾ ½ ½ ¾ ¼ ¾ ¾ ¼ ½ ¼ ½ ¾ ¼ ½ ¾ º ÈÖÓÑ Ò ÑÓ ÙÐ ÓÒ ÖÙ Ò Ó a b (mod m) d m ÓÒ a b (mod d)º Ì Ó Þ 12 2 (mod 10) Ð 12 2 (mod 5)º º ÁÒÚ ÖÞ Æ Ð Ñ ÒØ x Z/mZ Ñ ÑÙÐØ ÔÐ Ø ÚÒ ÒÚ ÖÞ (1/x) = x 1 Ù Z/mZ Ó nzd(x, m) = 1 ÔÓÜØÓ nzd(x, m) = 1 ÞÖ Þ Ù Ó Ð Ù ÐÓ ÖÓ Ò Ð Ò ÖÒ ÓÑ Ò 1 = ax + bm Ú ax 1 (mod m)º Ë ÙÔ Ð Ñ Ò Ø Z/mZ Ó Ñ Ù ÒÚ ÖÞ ÓÞÒ Õ Ú Z/mZ º Æ ÔÖ Ñ Ö 1/2 = 2 1 3 (mod 5) Ö 2 3 1 (mod 5)º Í ÙÔÙ Z/9Z = {0, 1,..., 8} ÑÓ Ù ÓÖ Ø ÓÔ Ö + º Í ÙÔÙ Z/9Z = {1, 2, 4, 5, 7, 8} ÑÓ Ù ÓÖ Ø ÓÔ Ö /º ÑÓ ÔÖÓÒ ÜÐ ÒÚ ÖÞ 7 ÔÓ ÑÓ ÙÐÙ 9 Ó ÒÓ ÒÓ Ð Ñ Ò Ø 7 1 Z/9Z ÓÖ Ø ÑÓ Ù Ð ÓÚ Ð ÓÖ Ø Ñ Ô 9 = 1 7 + 2 7 = 3 2 + 1 2 = 2 1 + 0 1 = 7 3 2 1 = 7 3(9 7) 1 = 4 7 3 9 ÈÓ Ñ ØÖ ÑÓ ÓÚÙ Ò Ó Ø ÔÓ ÑÓ ÙÐÙ 9 ØÓ ÑÓ ÑÓ Ö a a (mod m)µº Ó ÑÓ 1 = 4 7 3 9 4 7 3 0 4 7 (mod 9)º ÈÖ Ñ ØÓÑ 1 4 7 (mod 9) 7 1 = 1/7 = 4 Ù Z/9Zº É ÑÙ Ò Ó 2/7 Ù Z/9Z 2/7 = 2 1/7 = 2 4 = 8 Z/9Zº ÈÖ Ñ ØÓÑ 2/7 8 (mod 9)º ÈÖ Ñ Ø ÑÓ 2 8 7 (mod 9) Ö 9 2 56 = 54º ÖÓ 6 Ò Ñ ÒÚ ÖÞ ÔÓ ÑÓ ÙÐÙ 9 Ö Þ 6x 1 (mod 9) Ð 9 6x 1 Ó ÒÓ ÒÓ 3 6x 1 Ó ÒÓ ÒÓ 3 1 Þ Ó 3 6xµ ÜØÓ Ò Ø ÕÒÓº Ð 6 Ò Ñ ÒÚ ÖÞ ÔÓ ÑÓ ÙÐÙ 9º ½¼
º Ù Z/mZ Ó a b (mod m) c d (mod m) nzd(c, m) = 1 Þ Õ Ð nzd(d, m) = 1µ ÓÒ ac 1 bd 1 (mod m) Ó ÒÓ ¹ ÒÓ a/c b/d (mod m)º ÈÖ Ñ ØÓÑ ÓÞÚÓ ÒÓ Ù ÓÐ Ó Ò ÙÞ ÑÒÓ ÔÖÓ Ø ÑÓ ÙÐÓÑ m Ó ÒÓ ÒÓ ÒÚ ÖØ Ð Ò º º Ê Ü Ú ÓÒ ÖÙ Ò ÈÓØÖ ÒÓ Þ Ø a, b, m ÔÓ x Ö Ü Ø ÓÒ ÖÙ Ò Ù ax b (mod m)º Ó nzd(a, m) = 1 ÓÒ Ù Ö Ü ¹ Ú ÖÓ Ú x a 1 b (mod m)º Ó nzd(a, m) = g ÓÒ ÓÒ¹ ÖÙ Ò Ñ Ö Ü Ó g bº Ì ÓÒ ÖÙ Ò Ú Ú Ð ÒØÒ ax/g b/g (mod m/g)º ÈÓÜØÓ nzd(a/g, m/g) = 1 Ö Ü Ù x (a/g) 1 (b/g) (mod m/g)º Ó g b ÓÒ Ò Ñ Ö Ü º Ê Ü Ø ÓÒ ÖÙ Ò Ù 7x 3 (mod 10)º ÈÓÜØÓ nzd(7, 10) = 1 Ö Ü 7 1 3 (mod 10)º Ç Ö Æ Ú 7 1 (mod 10) 10 = 7+3, 7 = 2 3+1 Ô 1 = 7 2(10 7) = 3 7 2 7º ÈÖ Ñ ØÓÑ 1 3 7 (mod 10) 1/7 3 7 1 (mod 10)º Ð x 3 3 9 (mod 10)º Ê Ü ÙÔ ÔÓÞ Ø ÚÒ ÖÓ Ú ÖÓÑ Ò 9 ÙÔ Ò Ø ÚÒ ÖÓ Ú ÖÓÑ Ò 1º Ê Ü Ø ÓÒ ÖÙ Ò Ù 6x 8 (mod 10)º ÈÓÜØÓ nzd(6, 10) = 2 2 8 Ö Ü ÔÓ ØÓ º ÃÓÒ ÖÙ Ò Ú Ú Ð ÒØÒ 3x 4 (mod 5) Ô x 4 3 1 (mod 5)º ÈÓÜØÓ 3 1 2 (mod 5) Ó x 4 2 3 (mod 5)º ÖÙ Ñ Ö Õ Ñ x = 3 + 5n n Z Ó ÒÓ ÒÓ x 3 (mod 10) Ð x 8 (mod 10) ÓÒ ÖÙ Ò Ñ Ú Ö Ü ÔÓ ÑÓ ÙÐÙ 10µº Ê Ü Ø 6x 7 (mod 10)º ÇÚ ÓÒ ÖÙ Ò Ò Ñ Ö Ü Ö nzd(6, 10) = 2 2 7º Æ Ö ÚÒÓ ÒÚ ÖÞ Ò ÑÓÖ ÚÖÜ Ø ÔÓÑÓ Ù Ù Ð ÓÚÓ Ð ÓÖ ØÑ º Æ ÔÓØÖ ÒÓ Ó Ö Ø ÒÚ ÖÞ Ú Ð Ñ Ò Ø Z/17Z º Ð ÖÓ Ú Ó Ù ÓÒ ÖÙ ÒØÒ 1 ÔÓ ÑÓ ÙÐÙ 17 Ù Ó Ð 17n + 1º ÅÓ ÑÓ Ö ¹ Ø Ú ÑÓ Ò Õ Ò Ó Ò ÓÐ Ó Ø Ú ÖÓ Ú º ÈÖÚ Ò ÓÐ Ó ÔÖ ÖÓ Ò ÖÓ Ú Ó Ð 17n + 1 Ú Ó 41µ Ù 18 35 52º ÈÓÜØÓ 18 = 2 9 2 9 1 (mod 17) 2 1 9 (mod 17) 9 1 2 (mod 17)º ÈÓÜØÓ Ø ÓÆ 18 = 3 6 ÖÓ Ú 3 6 Ù ÙÞ ÑÒÓ ÒÚ ÖÞÒ ÔÓ ÑÓ ÙÐÙ 17º Ó ¹ Ò Ó Ø 35 = 5 7 Ù ÖÓ Ú 5 7 Ñ ÆÙ Ó ÒÓ ÒÚ ÖÞÒ º ËÐ ÕÒÓ 52 = 4 13º 18 = 2 9 ( 2)( 9) 15 8 18 = 3 6 = ( 3)( 6) 14 11. ËÐ ÕÒÓ 35 = 5 7 = ( 5)( 7) 12 10º ÈÖ Ñ Ø ÑÓ 16 1 1 = ( 1)( 1) 16 16º Ð Ó Ö Ð ÑÓ ÒÚ ÖÞ Ú Ð Ñ Ò Ø Z/17Z º ÂÓÜ ÒÓ Ú ØÖ Ó Þ Ø x 3 x 1 x Z Ò Ò Ò Ó Ú Ö ØÙ Ò Ó ÐÓ ÖÓ º Ø Ú Ö Ø Ù 0 2, 1 2, 2 2 (mod 3) 0, 1, 1 (mod 3)º Ë ÖÙ ØÖ Ò ÓÒ ÖÙ Ò x 3 x 1 2 (mod 3) Ú Þ Ú Ó x 0 3 0 1 2 1 3 1 1 2 2 3 2 1 2º Ã Ò Ø ÓÖ Ñ Ó Ó Ø Ñ º Æ Ù m 1 m 2 º º º m r Ù Ô ÖÓÚ Ñ ÙÞ ÑÒÓ ÔÖÓ Ø ÔÖ ÖÓ Ò ÖÓ Ú º Ë Ø Ñ ÓÒ ÖÙ Ò x a 1 (mod m 1 ) x a 2 (mod m 2 ) º º º x a r (mod m r ) Ñ Ò ØÚ ÒÓ Ö Ü ÔÓ ÑÓ ÙÐÙ m 1 m 2... m r º ÈÖ Ñ Ö Ó x 1 (mod 7) x 2 (mod 4) ÓÒ x 22 (mod 28)º ÖÙ Ñ Ö Õ Ñ Ó ÞÒ ÑÓ Ó Ø Ø Ò Ó ÖÓ ÔÓ ÑÓ ÙÐÙ m ÔÓ ÑÓ ÙÐÙ n ÓÒ ÞÒ ÑÓ Ó Ø Ø ØÓ ÖÓ ÔÓ ÑÓ ÙÐÙ mnº Â Ò Þ Ò Ñ Ú ÔÖ Ñ Öº ÈÓ Ð ØÖ Ö Ú Ö Ø ÖÓ 6378000 Ù 000º Í ØÚ Ö ØÓ Ø ÕÒÓ Þ ÐÓ Ó Ð ÖÓ ÓÑ Ù ØÖ ÔÓ Ð ½½
Ö 000º ËÐ ÕÒÓ ØÚÖÆ Ø ÕÒÓ Þ ÖÓ Ú Ó Ñ Ù ØÖ ÔÓ Ð Ö 625 Ú Ö Ø Ø ÖÓ Ú Þ ÚÖÜ Ú ØÓ Ò 625º Ð ÔÓ ØÓ ÓÜ Ò ØÖÓ Ö Ò ÖÓ ØÓÑ Ó Ó ÒÓÑ ÈÓØÖ ÒÓ Ö Ü ÑÓ ÓÒ ÖÙ¹ Ò Ù x 2 x (mod 1000)º ÍÑ ØÓ ÑÓ ÑÓ Ö Ü ÑÓ x 2 x (mod 8) x 2 x (mod 125)º Æ ÔÓ Ö ÒÓ ÔÖÓÚ Ö Ú Ù Ö Ü ÓÚ ÓÒ ÖÙ¹ Ò x 0, 1 (mod 8) x 0, 1 (mod 125)º Ì Ó Ó ÑÓ Õ Ø Ö Ö Ü x 0 (mod 8) x 0 (mod 125) Ù x 0 (mod 1000) x 1 (mod 8) x 1 (mod 125) Ù x 1 (mod 1000) x 1 (mod 8) x 0 (mod 125) Ù x 625 (mod 1000) x 0 (mod 8) x 1 (mod 125) Ù x 376 (mod 1000)º Ø 376 2 = 141376º ÃÖ ÔÖ Ñ Ö º ÚÓ Ð ÓÖ ØÑ Þ Ó Ö Æ Ú ÖÓ xº ÈÓØÖ Ò Ò Ñ ÞÖ Þ Ó ÓÒ ÖÙ ÒØ Ò a 1 ÔÓ ÑÓ ÙÐÙ m 1 Ó ÒÓ ÒÓ ÒÙÐ ÔÓ Ó Ø Ð Ñ ÑÓ ÙÐ Ñ m i i 1º ÌÙ Ó Ó ÒÙ Ñ ÞÖ Þ a 1 m 2 m 3... m r b 1 m 2 m 3... m r b 1 1 (mod m 1 ) Ô Ò b 1 = (m 2...m r ) 1 (mod m 1 )º Á ØÓ Ø Ó ÔÓØÖ Ò Ò Ñ ÞÖ Þ Ó ÓÒ ÖÙ ÒØ Ò a 2 (mod m 2 ) Ó ÒÓ ÒÓ ÔÓ ÑÓ ÙÐÙ Ó Ø Ð m i º ÃÓÖ Ø ÑÓ ÞÖ Þ a 2 m 1 m 3 m 4... m r b 2 b 2 = (m 1 m 3 m 4... m r ) 1 (mod m 2 ) Ø º Ð x = (a 1 m 2 m 3... m r b 1 )+(a 2 m 1 m 3... m r b 2 )+...+(a r m 1 m 2...m r 1 b r ) (mod m 1 m 2... m r ). ÈÖ Ñ Öº Ê Ü Ø x 2 (mod 3) x 3 (mod 5) x 9 (mod 11)º b 1 = (5 11) 1 (mod 3) = 1 1 (mod 3) = 1 b 2 = (3 11) 1 (mod 5) = 3 1 (mod 5) = 2 b 3 = (3 5) 1 (mod 11) = 4 1 (mod 11) = 3 Ô x = 2(5 11)1 + 3(3 11)2 + 9(3 5)3 = 713 53 (mod 165)º Ç Ð ÖÓÚ ÙÒ ϕº Æ n Z + º Æ Z n = {a 1 a n, nzd(a, n) = 1}º ÇÚ ÙÔ ÖÙÔ Þ ÑÒÓ ÙÔ Þ ØÚÓÖ Ò Þ ÑÒÓ ÑÒÓ Ó Ø ÚÒÓ 1 Ò ÙØÖ ÐÒ Ð Ñ ÒØ Ú Ð¹ Ñ ÒØ Ñ ÒÚ ÖÞµº Æ ÔÖ Ñ Ö Z 12 = {1, 5, 7, 11}º Æ ϕ(n) = Z n º Æ ÔÖ Ñ Ö ϕ(12) = 4 ϕ(5) = 4 ϕ(6) = 2º Ó p ÔÖÓ Ø ÖÓ ÓÒ ϕ(p) = p 1º É ÑÙ Ò Ó ϕ(5 3 ) Ë ÙÔ Z 125 Ó Ó Z 125 Þ ¹ Ú Ñ ÙÑÒÓ 5º ÍÑÒÓ 5 Ñ 125/5 Ô ϕ(125) = 125 25º Ó r 1 p ÔÖÓ Ø ÖÓ ÓÒ ϕ(p r ) = p r (1 1 p ) = pr 1 (p 1) Ô ÐÒÓ ϕ(p) = p 1º Ó Ø Ð ÔÖ ÖÓ Ò ÖÓ Ú ÚÖ ÒÓ Ø Ç Ð ÖÓÚ ÙÒ ÑÓ ÞÖ ÕÙ¹ Ò Ø ÓÖ Ü Ñ Õ Ò Ó nzd(m, n) = 1 ÓÒ ϕ(mn) = ϕ(m)ϕ(n) Ò Ó ÒÓÚÙ Ò Ø ÓÖ Ñ Ó Ó Ø Ñ Ú ÓÑ Ô ÖÙ x y Ó Ø Ø ÔÓ ÑÓ Ù¹ Ð Ñ m n ÒÓÞÒ ÕÒÓ Ó ÓÚ Ö Ó Ø Ø z ÔÓ ÑÓ ÙÐÙ mn Ø Ú z x (mod m) z y (mod n) Ó ØÐ Ð nzd(z, mn) = 1 Ø ÕÒÓ Ó ÑÓ Ó ØÓÚÖ Ñ ÒÓ Ø ÕÒÓ nzd(x, m) = 1 nzd(y, n) = 1µº ÞÖ ÕÙÒ ÐÓ ϕ(n) ÔÓØÖ ÒÓ n Ö Ø Ú Ø Ò ÔÖÓ Ø Õ Ò Ó Ó Ù Ð Ñ ÔÖ Ñ ÖÙ ϕ(720) = ϕ(2 4 )ϕ(3 2 )ϕ(5) = 2 3 (2 1)3 1 (3 1)(5 1) = 192º ÍÓÔÜØ Ó n = p αi i ÓÒ ϕ(n) = p α1 1 1 (p 1 1)...p αr 1 r (p r 1)º Å Ð ÖÑ ÓÚ Ø ÓÖ Ñ º Ó p ÔÖÓ Ø a Z ÓÒ a p a (mod p). Ó p Ò Ð a ÓÒ a p 1 1 (mod p)º Ó ØÓ ÑÓ ÒÔÖº ÙÖÒ 2 5 2 (mod 5) Ö 5 ÔÖÓ Ø ÖÓ µ 4 5 4 (mod 5) 2 4 1 (mod 5) ÓÚÓ ÑÓ Ò ÔÓ Ö ÒÓ ÔÖÓÚ Ö Ø µº ½¾
ÇÔÜØ Ó nzd(a, m) = 1 ÓÒ a ϕ(m) 1 (mod m)º Ø {ax (mod m) x Z m} = Z m Ó x ÔÖÓÐ Þ Ú Ó Ø Ø Þ Z m ÓÒ ax (mod m) ÔÖÓÐ Þ Ú Ó Ø Ø Þ Z mµº Ó ØÓ x = ax = a ϕ(m) x. x Z m x Z m x Z m Ë Ö Ú Ñ ÖÓ Ñ x Z x ÙÞ ÑÒÓ ÔÖÓ Ø Ñ m Ó aϕ (m) 1 m (mod m)º Æ ÔÖ Ñ Ö ϕ(10) = ϕ(5)ϕ(2) = 4 1 = 4º ÈÓÜØÓ Z/10Z = {1, 3, 7, 9} 1 4 1 (mod 10) 3 4 1 (mod 10) 7 4 1 (mod 10) 9 4 1 (mod 10)º ÇÚÓ ÑÓ Ò ÔÓ Ö ÒÓ ÔÖÓÚ Ö Ø º Ó nzd(c, m) = 1 a b (mod ϕ(m)) ÔÖ Õ ÑÙ a, b Z 0 ÓÒ c a c b (mod m)º ÁÞÖ ÕÙÒ Ú 2 1004 mod 15º ÈÖ Ñ Ø ÑÓ ϕ(15) = ϕ(5)ϕ(3) = 4 2 = 8 1004 4 (mod 8)º ÈÖ Ñ ØÓÑ 2 1004 2 4 16 1 (mod 15)º ÖÙ Ñ Ö Õ Ñ ÔÓÒ ÒØ ÑÓ Ù ÚÓ Ø ÔÓ ÑÓ ÙÐÙ ϕ(m) Ù ÓÐ Ó Ù Ó ÒÓÚ ÙÞ ÑÒÓ ÔÖÓ Ø ÑÓ ÙÐÓѺ Ç Ö Æ Ú Ó Ø Ø a mod m ÔÓÑÓ Ù Ð ÙÐ ØÓÖ º ÑÓ Ó Ö Ð 1000 mod 23 ÙÒÓ ÑÓ Ù Ð ÙÐ ØÓÖ 1000/23 = Ú ÑÓ 43.478...µ 43 = Ú ÑÓ 0.478...µ 23 = Ú ÑÓ 11µº ÈÖ Ñ ØÓÑ 1000 11 (mod 23)º ¹ ÜØÓ ÓÚ ÔÓ ØÙÔ ÓÖ Ø Ò Ã Ó 1000 = 43 23 + 11 Ñ Ò ØÖ Ò 23 Ó ÑÓ 43 + 11 11 23 Ó ÙÞ Ñ Ñ 43 Ó 23 ÑÒÓ Ñ 23 Ó 11º  ÒÓ Ø ÚÒ Ü Ö Ø Ñ Æ P ÙÔ ÑÓ Ù ÓØÚÓÖ Ò Ø ØÓÚ º ÌÓ ÑÓ Ù Ò ÔÖ Ñ Ö ÙÔ {A,B,...,Z} Ú Ð Õ Ò 26 Ð ÙÔ {AA,AB,...,ZZ} Ú Ð Õ Ò 26 2 º Æ C ÙÔ ÑÓ Ù Ü Ö Ø º Ö ØÖ Ò ÓÖÑ f ÒÓÞÒ ÕÒ ÙÒ Ó ÔÖ Ð Ú P Ù C f Ò Ñ ÔÖ Ð Ú Ú Ö ÞÐ Õ Ø ÓØÚÓÖ Ò Ø Ø Ù Ø Ü Ö Øµº È Ö ØÖ Ò ÓÖÑ f : P C f 1 : C P Ü Ö Ø Ñº Ê Þ¹ ÑÓØÖ ÑÓ Ò ÓÐ Ó ÒÓ Ø ÚÒ Ü Ö Ø Ñ º ÔÓÕ ÑÓ Ü Ö Ñ Ø ÑÓÑ Ó Ö ÔÓ Ò ÕÒ Ñ ÐÓÚ ¹ Ñ º ËÐÓÚ ÑÓ Ù Þ Ñ Ú Ø ÖÙ Ñ ÐÓÚ Ñ ÔÖ Õ ÑÙ ÑÓ ÓÖ Ø Ø ÔÖÓ ÞÚÓ Ò Ô ÖÑÙØ Ò ÔÖ Ñ Ö A F, B Q, C N,... ÍÑ ØÓ Ô ÖÑÙØ Þ Ø Ð ÓÑ ÑÓ Þ Ø ÞÖ ÞÓÑ Ó ÓÔ Ù ÔÖÓ Ü ÖÓÚ Ó ÒÓ ÒÓ Ü ÖÓÚ º Æ ÒÓ Ø ÚÒ ØÖ Ò ÓÖÑ ØÖ Ò Ð º Æ P ÓÞÒ Õ Ú ÐÓ¹ ÚÓ ÓØÚÓÖ ÒÓ Ø Ø Ó ÒÓ ÒÓ Ó ÓÚ Ö Ù ÖÓ µ A = 0, B = 1,..., Z = 25. ÖÓÚ ÓÔ Ù Ò ÓÜ Ù C P + 3 (mod 26) Þ Ó ØÓ¹ Ü ÖÓÚ ÓÔ Ù Ò Ó Ø P C 3 (mod 26)º ÇÚÓ Þ ÖÓÚ ½
Ü Ö º Ó Ú Ð Õ Ò Þ Ù N ÓÒ Ü Ö ÓÔ Ö ØÖ Ò Ð C P + b (mod N) b ÙÕ Þ Ü ÖÓÚ b ÙÕ Þ Ü ¹ ÖÓÚ º ÑÓ Ð ÞÚÖÜ Ö ÔØÓ Ò Ð ÞÙ Ó ÞÒ ÓÖ Ø ØÖ Ò Ð ØÖ Ó Ö ÑÓ ÙÕ bº Í ÓÔÜØ Ñ ÐÙÕ Ù ÑÓÖ ÔÖ Ø¹ ÔÓ Ø Ú Ø ÞÒ Ø Ô ÔÖ Ñ ÒÓ Ü Ö Ó Ø Ñ ÓÚ ØÖ Ò Ð ¹ µº ÈÖ ØÔÓ Ø Ú ÑÓ Ò Ñ Ò Ö ÔÓÐ Ù Ú Ð ÓÐ Õ Ò Ü Ö Ø Ð ÑÓ Ó Ö ÑÓ b ÑÓ ÑÓ Ð Õ Ø ÑÓ Ò Ö Ò ÔÓÖÙ º Â Ò ÑÓ Ù Ñ ØÓ ÔÖÓ Ø Ú ÑÓ Ù 26 ÚÖ ÒÓ Ø Þ bº ÇÕ Ù ÑÓ ÑÓ Ò Ó Ú Ø Ñ Ð Ò Ö ÞÙÐØ Ø Ü ÖÓÚ º ÖÙ Ò Õ Ò Þ Ò Ú ÓÖ Ü Ù ÙÕ Ø ÒÓ Ø ÔÓ Ú Ú ÐÓÚ º Ò ÑÓ = 4 Ò Õ Ü ÐÓÚÓ Ù Ò Ð ÓÑ Þ Ùµº Ó ÔÓ Ø Ú Ù ÔÖ ÙÔ Ò Ñ Ü Ö Ø Ñ Ò Õ Ü ÐÓÚÓ Â = 9 ÓÒ Ò Ú ÖÓÚ ØÒ b = 5º Ò Ü Ö ØÖ Ò ÓÖÑ Ó Ð C ap + b (mod N) ÙÕ Ô Ö (a, b)º ÈÖ ØÓÑ Ò ÓÔ Ó ÒÓ Ù nzd(a, N) = 1 Ö Ù ÔÖÓØ ÚÒÓÑ Ö ÞÐ Õ Ø ÓØÚÓÖ Ò Ø ØÓÚ ØÖ Ò ÓÖÑ ÔÖ Ð Ú Ð Ù Ø Ü Ö Ø º Ø Ó d = nzd(a, N) g = N/d ÓÒ Þ Ú Ó i 0 i < d Ú a(p + ig) + b ap + i(a/d) gd + b ap + i(a/d) N + b ap + b (mod N). ÈÖ Ñ Ö C 4P + 5 (mod 26) ÓÚ nzd(4, 26) = 2 1µº ÈÖ Ñ Ø ÑÓ B = 1 O = 14 ÔÖ Ð Ú Ù Ù 9 = Jº ÈÖ Ñ Ö Ü ÖÓÚ C 3P+4 (mod 26) Ö ÙÐ ÖÒÓ Ö nzd(3, 26) = 1º Ð Ü ÔÓÖÙ Ù U Ó ÒÙ U = 20 ÔÖ Ð Ú Ù 3 20 + 4 = 64 12 (mod 26)º ÈÖ Ñ ØÓÑ U = 20 12 = M Ó Ö Ü ÖÓÚ Ü ÖÓÚ Ó Ö µº Ð Ü M Ó ÒÙº Ó Ò ÑÓ Ü ¹ ÖÙ ÔÓÖÙ Ù Ö Ü Ú Ù Ò Õ ÒÙ ÔÓ P P 3 1 (C 4) (mod 26)º Ã Ó 3 1 9 (mod 26) Ö 3 9 = 27 1 (mod 26)µ P 9(C 4) 9C 36 9C+16 (mod 26)º ÈÓÜØÓ Ó Ò ÔÖ Ñ Ó M = 12 ÓÒ ÞÖ ÕÙÒ Ú 9 12 + 16 = 124 20 (mod 26)º ÍÓÔÜØ Ü ÖÓÚ Ù C ap + b (mod N) Ó ÓÚ Ö Ü ÖÓÚ P a 1 (C b) (mod N)º ÇÚ (a 1, a 1 b) ÙÕ Þ Ü ÖÓÚ º Ã Ó ÑÓ ÞÚÖÜ Ö ÔØÓ Ò Ð ÞÙ Í ÐÙÕ Ù N = 26 ÑÓ ÔÖÓ Ú ϕ(26) 26 = 312 ÑÓ Ù ÙÕ Ú (a, b) Ð ÓÖ Ø ÙÕ Ø ÒÓ Ø ÐÓÚ Ù Ü Ö ØÙº ÈÓÜØÓ ÙÕ Ñ Ú ÓÑÔÓÒ ÒØ ÔÓØÖ ÒÓ Ñ Ø Ú Ò Õ Ò º ÈÖ ØÔÓ Ø Ú ÑÓ Ñ Ò Ö ÔÓÐ Ù Ú Ð Ù ÓÐ Õ ÒÙ Ü Ö Ø º ÇÒ ÔÖÓÒ Ð Þ Y = 24 Ò Õ Ü H = 7 Ð Ò Õ Ü ÐÓÚÓº ÈÖ ØÔÓ Ø Ú ÑÓ Ü ÖÓÚ ÚÖÜ Ò Ó ÒÓÚÙ P a C + b (mod 26) a = a 1 b = a 1 bº ÈÓØÖ ÒÓ Ü ÖÓÚ Ø ÔÓÖÙ Ù V NLGDOº Æ ÔÖ Ó Ö ÆÙ (a, b )º ÈÖ ØÔÓ Ø Ú ÑÓ Ù Y H Ü Ö Ø Ö ÓÑ E T Ó ÒÓ ÒÓ E = 4 a 24 + b (mod 26) T = 19 a 7 + b (mod 26)º Ç ÙÞ Ñ Ñ Ó 17a 4 19 4 + 7 11 (mod 26) ½ ( )
ÈÖ Ñ ØÓÑ a 17 1 11 (mod 26)º ÃÓÖ Ø Ù Ð ÓÚ Ð ÓÖ Ø Ñ Ó 17 1 23 (mod 26) Ô a 23 11 19 (mod 26)º Ñ Ù Ù ÓÚÓ Ù ÔÖ Ø Ó ÒÙ Ò Ó Ø Ó 19 19 7 + b (mod 26) Ô b 16 (mod 26)º Ð P 19C + 16 (mod 26)º Ë ÑÓ Ü ÖÙ V NLGDO Ó ÒÓ ÒÓ Ò Þ 21 13 11 6 3 14º Ó 19 21 + 16 25 = Z 19 13 + 16 3 = D º º º Ô Ö ÞÙÐØ Ø Ü ÖÓÚ Ö Õ ZDRAV Oº ÈÓ Ð ÑÓ ÓÜ ÒÓÑ Ò Ó Ø µ ÑÓ Ù Ó ÓÒ ÖÙ Ò Ó ÜØÓ 2a 8 (mod 26)º Ò Ö Ü Ù a 4 (mod 13) Ô a 4 Ð a 17 (mod 26)º Ì ÔÓØÖ ÒÓ ÔÖÓÚ Ö Ø Ó Ö Ü Ó ÒÓ ÒÓ Ù Ø ÒÓÚ Ø Ó Ó Ñ Ð Ò Ç̺ ÑÓ Ð ÒÓ ÔÖ Ø Ú Ó Ð ÔÓÜ ÒÔÖº ÔÓÖÙ Ù NEMOJ Ó ÒÓ ÒÓ 13 4 12 14 9º ÈÓÜØÓ Ö Ó Ü ÖÓÚ Ù ÓÖ Ø ÞÖ Þ C ap +b (mod 26)º ÈÓÐ Þ Ó P 19C+16 (mod 26) Ó C 19 1 (P 16) 11P +6 (mod 26)º Ö Ø ÔÓÖÙ NEMOJ TY IEBº Á Ø Ø Ô Ø Ñ ÑÓ Ó ÓÖ Ø Þ Ü ÖÓÚ Ö Ñ Ô ÖÓÚ ÐÓÚ µº Ó ÓÖ Ø Ð Ø A-Z, Ù ÓÑ Ù ÐÓÚ ÒÙÑ Ö Ò ÖÓ Ú Ñ 0 25 ÓÒ Ö Ñ xy Ó Ö 26x+yº Ó Ò ÖÓ ÞÑ ÆÙ 0 675 = 26 2 1º Æ ÔÖ Ñ Ö TO ÔÓ Ø 26 19 + 14 = 508º ÓÚÓ Ó Ö ÐÓ Ð 508 26 Ó Ø Ø ÓÑ 508 = 26 19+14º ÁÔ Ü ÖÓÚ ÔÖ Ñ ÒÓÑ Ò Ó Ø C ap +b (mod 675) ÐÓÜ Ö Ó Ú Ö Ñ Þ ÚÖÜ Ú Ù Ø Ñ ÐÓÚÓÑ ÓÒ Ö ÞÙÐØÙ Ù Ü Ö Ø Ø ÓÆ Þ ÚÖÜ Ú Ø Ø Ñ ÐÓÚÓѺ ÃÖ ÔØÓ Ò Ð Þ Ö Þ Ü Ö Ð ÔÖÓÙÕ Ú Ö Þ Ü Ö º Ö Ø Ñ ÑÓ Ù ÔÓ Ð Ø Ù ØÖ Ø ÓÖ ½º ÇÒ Ó Ù Ö Þ Ò Ú Ò µº ¾º ÇÒ Ó Ò Ù Ó Ð Ò Ð Þ Ö Ò Þ ØÓ ÜØÓ Ù ÒÓÚ Ò Ù Ü ÖÓ Ó ÓÖ Ü Ò µº º ÇÒ Ó Ù Ò Ð Þ Ö Ò Ð Ò Ù Ö Þ Ò º RSA Ø Ñ Ó ÓÖ Ø Ö ØÒ ÐÓ Ö Ø Ñ ØÖÓ ØÖÙ DES AES µº Æ Õ Ü ØÖ Ò Õ Ò Ó ÓØÚÓÖ Ò Ø Ø Ó Ó ÓÚ Ö Ò ÓÑ Ü Ö ØÙ Ù ½º ÃÖ ÆÓÑ ÙÔÓÚ ÒÓÑ ÙÕ Ó ÒÓ ÒÓ ÔÓ Ñ Ú Ñº ¾º ÃÓÖ Ü Ñ Ð Ó Ø Ù Ö Ð Þ Ó ÒÓ ÒÓ ÔÖÓ Ð Ñ ÔÖÓØÓ ÓÐÓѺ Æ ÔÖ Ñ Ö Ò Ó ÓÖ Ø Ñ ÙÔÖÙ Ò Ó ÙÕ Ð Ò Ó ÔÓÜ ÙÕ Þ ÒÓ ÔÓÖÙ ÓѺ º ÃÖ ÔØÓ Ò Ð ÞÓѺ Ë ÚÖ Ñ Ò ÔÖÓØÓÕÒ Ü Ö Ë ÚÖ Ñ Ò ÔÖÓØÓÕÒ Ü Ö Ù Ñ ØÖ ÕÒ Ü Ö Ø Ñ º Ð Ó Ò ÑÓÖ Ù ÙÒ ÔÖ Ó ÓÚÓÖ Ó ÙÕ ÓÖ Ø Ø º ÇØÚÓÖ Ò ½
Ø Ø Ò ÔÖ ØÖ Ò ÓÖÑ Ü ÔÖ Ñ ÒÓÑ ASCII Ó Ù Ò Þ ÒÙÐ Ò ¹ º Æ ÔÖ Ñ Ö ÓØÚÓÖ Ò Ø Ø Go Ó Ö 0100011101101111º Ð Ó Ò Ó Ö Ù Ò Ò Ö ØÓÖ Ô Ù Ó ÐÙÕ Ò ÖÓ Ú Ó ÓÚ Ö Ù Ó ÔÓÕ ØÒÓ Ø seed), Ó ÒÓ ÒÓ ÙÕ ÓÖ Ø Ø º ÁÞ Ö Ò Ñ Ò¹ Ö ØÓÖÓÑ Ó Ó Þ Ò Ö ÜÙ Ø Ô Ù Ó ÐÙÕ Ò Ò Þ Ø Ò Þ ÙÕ µ Ò ÔÖ Ñ Ö 0111110110001101º Ð ÞÖ ÕÙÒ Ú Ü Ö Ø Ö Ñ ÔÓ ÑÓ ÙÐÙ Ú Ø ÔÓ Ø 0 0 = 0 0 1 = 1 1 0 = 1 1 1 = 0µº ÈÖ Ñ Ö ÇÌ ¼½¼¼¼½½½¼½½¼½½½½ ËÌ ¼¼½½½¼½¼½½½¼¼¼½¼ Ò Þ ÙÕ ¼½½½½½¼½½¼¼¼½½¼½ Ò Þ ÙÕ ¼½½½½½¼½½¼¼¼½½¼½ ËÌ ¼¼½½½¼½¼½½½¼¼¼½¼ ¼½¼¼¼½½½¼½½¼½½½½ Go Æ p i i¹ø Ø ÓØÚÓÖ ÒÓ Ø Ø k i i¹ø Ø Ò Þ ÙÕ c i i¹ø Ø Ü Ö Ø º Ì c i = p i k i p i = c i k i Ú Ø ÔÖ Ø Ó Ò ÔÖ Ñ Öµº Æ ÚÓ ÑÓ ÔÖ Ñ Ö Ò ÙÖÒ ÔÖÓØÓÕÒ Ü Ö Ó ÓÖ Ø Ò Ô Ö Ó¹ Ò ÐÒ Ñ Ö ÕÙÒ Ö Ñ Þ Ü ÖÓÚ ÐÓÚ º Ç Ö Ò Ö Õ ÒÔÖº Sue 01010011 01110101 01100101 ÙÕµº Æ Þ ÙÕ Ó Ô Ö Ó ÕÒ Ñ ÔÓ¹ Ò Ú Ñ ÙÕ º Ó Ö ØÖ Ò ÓÚÓ Ø Ñ ÔÖÓÑ Ò Ú Ù Ò ÙÕ º Ó Ö Æ Ú Ù Ò ÙÕ ÑÓ ÙÕ ÑÓ ÓÖ Ø Ø Õ Ò Ó ÕÒÓ ÑÓ Ó Ó 1/4 ÑÓ Ù ASCII ÞÒ ÓÚ Ø ÚÒÓ ÓÖ Ø Ù Ø ØÓÚ Ñ º ÃÓÒ ÕÒ ÔÓ Ó p ÔÖÓ Ø ÖÓ ÓÞÒ Õ ÑÓ F p = Z/pZ ÔÓ p Ð Ñ Ò Ø {0, 1,..., p 1} ÓÔ Ö Ñ + º ÈÖ Ñ Ø ÑÓ Þ Ð Ñ ÒØ α 0 Ú nzd(α, p) = 1 Ô ÑÓ Ó Ö Ø α 1 º Ó ØÓ ÑÓ Ð Ø ÐÓ Ó Ñ Ò ÒÙÐ Ð Ñ ÒØÓѺ ÇÚÓ ÔÓ Ð ÕÒÓ Ð ÔÓ Ñ Ö ÓÒ ÐÒ Ö ÐÒ Ð ÓÑÔÐ Ò ÖÓ Ú º Í ÙÔÙ F p = {1,...,p 1} ÑÓ Ù ÓÖ Ø Ø ÓÔ Ö /º ÖÙÔ F p Ð Õ Ø º Ö Ö Ò Ð Ñ Ò Ø g Ø Ú {1, g, g 2, g 3,...} = F p ÓÚ ØÓ Ò ÑÓ Ó Þ Ú Ø µº ÈÖ ÞÒ ÖÙÔ F p Ñ ϕ(p 1) Ò Ö ØÓÖ g Þ Ø ÓÆ Ù ÔÖ Ñ Ø ÚÒ ÓÖ Ò ÔÓ ÑÓ ÙÐÙ pµº Ë ÙÔÓÚ {g, g 2, g 3,..., g p 1 } {1, 2,..., p 1} Ù Ò Ó Ù ÓÚ Ð Ñ ÒØ ÑÓ Ò Ô Ò Ö ÞÐ Õ Ø Ñ Ö Ó Ð Óѵº Æ ÔÖ Ñ Ö Ù ÖÙÔ F 5 g = 2 2 1 = 2 2 2 = 4 2 3 = 3 2 4 = 1º Í ÓÚÓ ÖÙÔ 3 Ò Ö ØÓÖ 3 1 = 3 3 2 = 4 3 3 = 2 3 4 = 1º Í ÖÙÔ F 7 2 1 = 2 2 2 = 4 2 3 = 1 2 4 = 2 2 5 = 4 2 6 = 1 Ô 2 Ò Ò Ö ØÓÖº g = 3 Ó 3 1 = 3 3 2 = 2 3 3 = 6 3 4 = 4 3 5 = 5 3 6 = 1 Ø º 3 Ø Ò Ö ØÓÖº Æ Ð Ñ Ò Ø x F p Ø Ò Ö ØÓÖ Ó ÑÓ Ó ÓÚ Ö ÖÓ Ö ÞÐ Õ Ø Ð Ñ Ò Ø Ù ÙÔÙ {x, x 2, x 3,...}µ Ò p 1º Ì ÓÖ Ñ Æ g Ò Ö ØÓÖ ÖÙÔ F pº Ì g k Ò Ö ØÓÖ ÓÚ ÖÙÔ Ó ÑÓ Ó nzd(k, p 1) = 1º Ó Þ ÈÖ ØÔÓ Ø Ú ÑÓ nzd(k, p 1) = 1º Æ n Ö Ð Ñ ÒØ g k 1 n p 1º Ì 1 = (g k ) n = g kn º ÈÖ Ñ ØÓÑ p 1 knº ÈÓÜØÓ ½
nzd(k, p 1) = 1 p 1 n Ô Ð p 1 = nº ÈÖ Ñ ØÓÑ g k Ò Ö ØÓÖº Ó Þ Ù ÙÔÖÓØÒÓÑ Ñ ÖÙ Ó nzd(k, p 1) = d > 1 ÓÒ g k Ò Ò Ö ØÓÖ Ö (g k ) (p 1)/d = 1º ÈÖ ØÔÓ Ø Ú ÑÓ p Ú Ð ÔÖÓ Ø ÖÓ º Æ Þ Ö Ò Ò Ò Ö ØÓÖ g ÖÙÔ F p Ò Ð Ñ Ò Ø h F pº Ì Ó Ø Ü Ó Ó Ö Ø x Ø ÚÓ g x = h Ó ÞÒ ÑÓ ÓÒÓ ÔÓ ØÓ º Æ ÔÖ Ñ Ö Ù F 7 ÙÞ g = 5 Ö Ü Ú 5 x = 2 Ú Ú Ð ÒØÒÓ 5 x 2 (mod 7)º ÇÚÓ ÔÖÓ Ð Ñ Ö ØÒÓ ÐÓ Ö ØÑ º Æ ÚÓ ÑÓ ÔÖ Ñ Ö Ò Ö ØÓÖ ÐÙÕ ÒÓ Ò Þ Ø Ó ÔÓÖ Ô ÔÖ Ø ÕÒÓ Ò ÓÖ Ø º Æ p Ú Ð ÔÖÓ Ø ÖÓ Þ Ó 2 Ò Ö ØÓÖ F p ÔÖ ØÔÓ Ø Ú ÑÓ ÔÓÖ ØÓ q = 2p + 1 Ø ÓÆ ÔÖÓ Ø ÖÓ º Æ g Ò Ö ØÓÖ F qº Æ ÖÓ k ÙÕ ÔÖ Õ ÑÙ nzd(k, 2p) = 1º Æ s 1 = g k F q Ô 1 s 1 < qµ k 1 s 1 (mod 2) k 1 {0, 1}º i 1 Ò s i+1 = s 2 i F q 1 s i < q k i s i (mod 2) k i {0, 1}º Ó ØÓ ÜØÓ 2 Ò Ö ØÓÖ Ù F p Ú Ó Ø 2 i mod p 0 i p 1 Ù Ö ÞÐ Õ Ø º Ã Ó s i = g k2i 1 p = (q 1)/2 φ(q) Ú Ù Þ i = 1,..., p Ú ÖÓ Ú s i Ö ÞÐ Õ Ø º ÈÖ Ñ Öº ÖÓ 2 Ò Ö ØÓÖ F 29 Ö 2 28/2 1 2 28/7 1µº ÖÓ 2 Ø ÓÆ Ò Ö ØÓÖ F 59º Æ k = 11º Ì s 1 = 2 11 = 42 s 2 = 42 2 = 53 s 3 = 53 2 = 36 s 4 = 36 2 = 57 º º º Ô k 1 = 0 k 2 = 1 k 3 = 0 k 4 = 1 º º º º RC4 RC4 Ò Ó Ò ÔÓÔÙÐ ÖÒ ÔÖÓØÓÕÒ Ü Ö º Ò ÙØÓÖ Ronald Rivest ( ÐÓÚÓ R Ù RSA, 1987). ËØÖÙ ØÙÖ ÓÚÓ Ô Ù Ó ÐÙÕ ÒÓ Ò Ö ØÓÖ Ø Ö Ò Ù Ø ÒÓ Ø Ú Ó ÓÚ ÞÚÓÖÒ Ó Ò Ó Ú Ò ½ º Cypherpunks mailing list). Æ ÔÖ Ö ÔÖ ÖÓ Ò ÖÓ n Ó ÕÒÓ Ó ÕÒÓ ÓÖ Ø n = 8º Æ Ó ÒÓÚÙ ÙÕ ÓÖÑ Ö Ò Þ Ó 2 n ÖÓ Ú S 0, S 1,...,S 2n 1 Ó Ù Ô ÖÑÙØ ÙÔ {0, 1,..., 2 n 1}º ÓÖÑ Ö Ó ÓÚ Ò Þ Ò ÔÖ Ø Ú S i = i Þ i = 0, 1,...,2 n 1º Ø Ñ Ó ÙÕ ÓÖÑ Ö ÖÙ Ò Þ Ó 2 n n¹øóö Ø Ó Ø ÓÆ Ñ ØÖ Ù ÖÓ Ú Ñ Þ ÓÔ Ó 0 Ó 2 n 1µ Ó ÙÕ ÔÓÒÓÚ ÒÓ ÓÚÓ Ò ÖÓ ÔÙØ ÔÓÔÙÒ Ó Ò Þ K 0 K 1 º º º K 2n 1º j 0 { Ò Ð Þ ÖÓ Õ } for i 0 to 2 n 1 do j j + S i + K i (mod 2 n ) Þ Ñ Ò Ø S i S j i 0; j 0 { Ò Ð Þ ÖÓ Õ } { ÔÓÕ Ø Ò Ö l ÐÙÕ Ò Ø } for r 0 to l 1 do i i + 1 (mod 2 n ) j j + S i (mod 2 n ) Þ Ñ Ò Ø S i S j ½
t S i + S j (mod 2 n ) S t Ó Ö ÆÙ Ò Ö Ò n Ø ÞÐ ÞÒÓ Ò Þ ÙÕ ÁÒ i Ó Þ ÆÙ Ú Ð Ñ Ò Ø Ò Þ Ø Ð µ S ÔÖÓÑ Ò Ö ÒÓÑ Ò j Ó Þ ÆÙ Ð Ñ ÒØ Ñ Ù Ò ÐÙÕ Ò Ò Õ Òº ÑÓÒ ØÖ Ö ÑÓ Ö ÓÚÓ Ð ÓÖ ØÑ Þ n = 3º Æ ÙÕ 011001100001101 Ó ÒÓ ÒÓ 011 001 100 001 101 Ó ÒÓ ÒÓ [3, 1, 4, 1, 5]º È Ö Ó ÕÒ Ñ ÔÖÓÜ Ö Ú Ñ Ó ÑÓ [3, 1, 4, 1, 5, 3, 1, 4] = [K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7 ]. i j t S t S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7 ¼ ¼ ½ ¾ ¼ ½ ¾ ¼ ½ ¾ ¼ ½ ¾ ¼ ¾ ½ ¼ ½ ¾ ¼ ½ ¾ ¼ ½ ¾ ¼ ½ ¾ ¼ ½ ¾ ¼ ¼ ½ ½ ¼ ½ ¾ ¾ ¼ ½ ¼ ¾ ¼ ¼ ½ ¾ ¾ ¼ ½ ¾ ¾ ¼ ½ ¾ ½ ½ ¼ ¾ ¼ ¾ ¼ ½ ½ ¼ ¼ ¾ ¾ ½ ¼ ½ ¼ ¾ ¾ ¾ ½ ¼ ¾ ¼ ¼ ½ ¾ ¼ ¼ ½ ¾ Æ Þ ÙÕ Ó Ó ØÖÓ ØÒ Ö ÔÖ Þ ÒØ ÖÓ Ú 1, 0, 0, 2, 2, 6, 7, 5, 4, 2, 0, 6 Ó ÒÓ ÒÓ 001 000 000 010 010 110 111 101 100 010 000 110 Þ Ö ÞÑ µº Ë ÑÓ Ò ÖÓÒ ÜÙ ÔÖÓØÓÕÒ Ü Ö Ã ÓØÚÓÖ Ò Ø Ø Ø ÔÓ Ø Ö ÔÓ ÑÓ ÙÐÙ Ú Ò ÞÓÑ ÙÕ Ó Ó Ü Ö Ø ÓÒ ØÓ Ò ÖÓÒ ÔÖÓØÓÕÒ Ü Ö º ÑÓ ÓÆ Ù ÔÓ Ô Ö Ó ÓÚ Ö Ù ÇÌ»ËÌ Ô Ò Ó ÒÓÚÙ ØÓ Ó Ö Ó Ò Þ ÙÕ Ò Ö Ù Ò Ó Ö ÓÒ ØÖÙ Ü ÙÕº ÓÚ Ú Ò Ô Þ Ò ÑÓ Ù Ù ÔÖÓ Ü ÖÓÚ Ù ÙÕ Ø ÔÖ Ø Ó Ò Ø ÓØÚÓÖ ÒÓ ½
Ø Ø Ø Ú Ü Ö ÞÓÚ ÑÓ Ò ÖÓÒ ÜÙ º Æ ÚÓ ÑÓ ÔÖ Ñ Ö ÓÚ Ú Ü Ö º Æ { pi 2 ako je p c i = p i + k i + i 1 = 0 p i 3 ako je p i 1 = 1 Î ÑÓ Ò ÓÔ Ó ÒÓ Ó Ò Ø ÓØÚÓÖ Ò Ø Ø ÓÚÓ ÒÓ Ø Ú Ø p 1 = p 0 = 0º ÈÖ Ñ Ð ÔÓÖÙ ÓÖ Ø Þ Ü ÖÓÚ ÞÖ Þ { pi 2 ako je p p i = c i + k i + i 1 = 0 p i 3 ako je p i 1 = 1 Æ ÔÖ Ñ Ö Þ ÓØÚÓÖ Ò Ø Ø Go) Ò Þ ÙÕ Þ ÔÖ Ø Ó ÒÓ ÔÖ Ñ Ö Ó ÇÌ ¼¼¼½¼¼¼½½½¼½½¼½½½½ ËÌ ¼¼½¼½¼½¼¼¼¼¼½½½½ Ò Þ ÙÕ ¼½½½½½¼½½¼¼¼½½¼½ Ò Þ ÙÕ ¼½½½½½¼½½¼¼¼½½¼½ ËÌ ¼¼½¼½¼½¼¼¼¼¼½½½½ ÇÌ ¼¼¼½¼¼¼½½½¼½½¼½½½½ Go ½¼ ËÐÙÕ Ò Ü Ö Ó ÙÕ Ò Ò Þ ÙÕ µ Þ ÔÖÓØÓÕÒÙ Ü ÖÙ ÐÙÕ Ò Ù Ò Ú Ð Ò Ó Ù Ò ÓØÚÓÖ ÒÓ Ø Ø ÓÒ Ø Ñ ÞÓÚ ÐÙÕ Ò Ü Ö Ò Ð one-time-pad). à ÙÕ Ò Ò Ñ ÙÔÓØÖ Ø Þ Ü ÖÓÚ Ò ÖÙ ÔÓÖÙ Ù ÔÖÓØ ÚÒÓÑ ÔÓÒ ÑÓ Ù Ò Ó ÒÓÚÙ Ú Ü Ö Ø Ó Ö Ø Ò Þ ÙÕ ØÞÚº Ò Ô Ã Þ Ó µº ÃÖ ÔØÓ Ò Ð Þ ÓÚ Ú Ü Ö Ò ÑÓ Ù Ö Ù Ú ÑÓ Ù Ü ÖÓÚ Ó Ó ÓÚ Ö Ù Ú Ñ ÔÓØ Ò¹ ÐÒ Ñ ÙÕ Ú Ñ µ Ò Ó Ú ÖÓÚ ØÒ Ó ÒÓ ÒÓ Þ Ü Ö Ø Ò Ó Ò Ú Ò ÓÖÑ Ó ÓØÚÓÖ ÒÓÑ Ø ØÙº ÇÚ Ø Ñ ÓÖ Ü Ò ÒÔÖº Þ ÚÖ Ñ Ð ÒÓ Ö Ø Þ Ú ÞÙ ÖÚ Ò Ñ Ø Ð ÓÒÓÑ ÞÑ ÆÙ ÅÓ Ú Î Ü Ò ¹ ØÓÒ º ÁÔ Þ Ó ÚÓ Ò ÔÖ Ø ÕÒÓ Ø ÓÚ Ü Ö Ò ÓÖ Ø ÙÒ Ú ÖÞ Ð¹ ÒÓº ½½ ÃÓÒ ÕÒ ÔÓ II Ê ÞÑÓØÖ ÑÓ ÖÙ Õ Ù ÚÖ ØÙ ÓÒ ÕÒ ÔÓ º Æ F 2 [x] ÙÔ ÔÓÐ ÒÓÑ Ó ÒØ Ñ Þ F 2 = Z/2Z = {0, 1}º ÈÖ Ñ Ø ÑÓ 1 = 1 Ô Ó ÙÞ Ñ ØÓ ÜØÓ Ö º ÈÓÐ ÒÓÑ Þ ÓÚÓ ÙÔ Ù 0, 1, x, x + 1, x 2, x 2 + 1, x 2 + x, x 2 + x + 1,... ÈÓ ØÓ Ú ÔÓÐ ÒÓÑ Ø Ô Ò 0 0 1µ Õ Ø Ö ÔÓÐ ÒÓÑ Ø Ô Ò 1 Ó Ñ ÔÓÐ ÒÓÑ Ø Ô Ò 2 ÙÓÔÜØ ÖÓ ÔÓÐ ÒÓÑ Ø Ô Ò n 2 n+1 º ÌÓ Ù ÔÓÐ ÒÓÑ a n x n + +a 1 x+a 0 a i {0, 1}º ÈÓÐ ÒÓÑ ÑÒÓ Ò ÙÓ Õ Ò ½
Ò Õ Ò ÔÖ Õ ÑÙ Ó ÒØ Ñ Ö ÕÙÒ Ù F 2 x 2 + x + 1 x 2 + x x 3 + x 2 + x x 4 + x 3 + x 2 x 4 + x Æ ÔÓÐ ÒÓÑ Ò ÚÓ Ú Ò ÔÓ Ñ Ó Ò ÑÓ Ö Ø Ú Ø Ù ÔÖÓ ÞÚÓ ÔÓÐ ÒÓÑ Ò Ø Ô Ò µ Ó ÒØ Ñ Þ ØÓ ÔÓ º Æ ÔÓ Ñ Ö ÓÒ ÐÒ ÖÓ Ú ÔÓÐ ÒÓÑ x 2 + 2 x 2 2 Ù Ò ÚÓ Ú º Æ ÔÓ¹ Ñ Ö ÐÒ ÖÓ Ú ÔÓÐ ÒÓÑ x 2 + 2 Ò ÚÓ Ú ÔÓÐ ÒÓÑ x 2 2 = (x 2)(x+ 2) Ò Ò ÚÓ Úº Æ ÔÓ Ñ ÓÑÔÐ Ò ÖÓ Ú Ò ÔÓÐ ¹ ÒÓÑ x 2 + 2 = (x + i 2)(x i 2) Ò Ò ÚÓ Úº Æ ÔÓ Ñ F 2 ÔÓÐ ÒÓÑ x 2 + x + 1 Ò Ú Ò Ò Ñ ÔÓÐ ÒÓÑÓÑ ÔÖ¹ ÚÓ Ø Ô Ò Ô Ò ÚÓ Ú ØÓ Ò Ò ÚÓ Ú Ú Ö ØÒ ÔÓÐ ÒÓѵ ÔÓÐ ÒÓÑ x 2 +1 = (x+1) 2 Ò Ò ÚÓ Úº Â Ò Ò ÚÓ Ú Ù Ò ÔÓÐ ÒÓ¹ Ñ Ò F 2 Ù x 3 +x+1 x 3 +x 2 +1º ÍÓÔÜØ Ò ÚÓ Ú ÔÓÐ ÒÓÑ Ó Ù Ó Ô Ú ÔÓÐ ÒÓÑ ÔÖ ÖØ Ú Ñ ÙÑÒÓ Ò ÚÓ Ú ÔÓÐ ÒÓÑ Ð ÕÒÓ Ó ÜØÓ ÔÖÓ Ø ÖÓ Ú Ó Ù ÔÖ Ñ ÒÓÑ Ö ØÓ Ø ÒÓÚÓ Ø º Ã Ð Ñ ÒØ Z Ú Ù ÔÓ ÑÓ ÙÐÙ ÔÖÓ ØÓ ÖÓ p Ð Ò Ö ¹ Ø Ú ÚÓ ÖÓ µ Ó Ù Ó Ø 0, 1,...,p 1 Ø º ÖÓ Ú Ñ Ó pº Ì ÙÔ ÓÞÒ Õ Ú ÑÓ Z/pZ Ð Z/(p)º ÈÓ Ñ ØÖ ÑÓ ÔÓÐ ÒÓÑ F 2 [x] ÓÚ Ó Ø Ø ÔÓ ÑÓ ÙÐÙ Ò ÚÓ ÚÓ ÔÓÐ ÒÓÑ x 3 + x + 1º Ó Ù Ú ÔÓÐ ÒÓÑ Ñ Ø Ô Ò Ú x 3 + x + 1 0 Ø º x 3 x + 1 ÓÚÙ ÓÒ ÖÙ Ò Ù ÔÓ ÑÓ ÙÐÙ x 3 + x + 1 Ô ÑÓ Ù Ù Ù Ó Ò Ó Øµº ÈÖ Ñ ØÓÑ Ò ÙÔÙ F 2 [x]/(x 3 +x+1) = {0, 1, x, x+1, x 2, x 2 +1, x 2 +x, x 2 +x+1} Ò Ò Ù ÙÓ Õ Ò ÓÔ Ö + µ ÔÖ Õ ÑÙ x 3 = x + 1º ÈÖ Ñ Ö ÑÒÓ Ù F 2 [x]/(x 3 + x + 1) x 2 + x + 1 x + 1 x 2 + x + 1 x 3 + x 2 + x x 3 + 1 ÈÓÜØÓ x 3 = x+1 x 3 +1 (x+1)+1 (mod x 3 +x+1) Ó ÒÓ ÒÓ x 3 +1 x (mod x 3 +x+1)º ÈÖ Ñ ØÓÑ (x 2 +x+1)(x+1) = x Ù F 2 [x]/(x 3 +x+1)º ÇÚÓ ÔÓ ÓÞÒ Õ Ú F 8 Ö Ñ 8 Ð Ñ Ò Ø º ÈÖ Ñ Ø ÑÓ x 4 = x 3 x = (x + 1)x = x 2 + x Ù F 8 º ÍÓÔÜØ Ó p(x) Ò ÚÓ Ú ÔÓÐ ÒÓÑ Ø Ô Ò d ÓÒ ÙÔ F 2 [x]/(p(x)) ÔÓ Ó ÓÞÒ Õ Ú F 2 d ØÓ ÔÓ Ñ 2 d Ð Ñ Ò Ø º ÇÚÓ ÔÓ ØÓ¹ Ó Ú ÔÓÐ ÒÓÑ Ø Ô Ò d 1º F 2 d ÙÔ Ó Ò ¹ÒÙÐ Ð Ñ Ò Ø ÔÓ ϕ(2 d 1) Ò Ö ØÓÖ º Æ ÔÖ Ñ Ö Ù F 8 ÔÓÐ ÒÓÑ x Ò Ö ØÓÖ F 8 g = x x 2 x 3 = x + 1 x 4 = x 2 + x x 5 = x 4 x = x 3 + x 2 = x 2 + x + 1 ¾¼
x 6 = x 3 + x 2 + x = x 2 + 1 x 7 = x 3 + x = 1º ËÚ Ò Ö ØÓÖ Ù ÓÚÓÑ ÔÓ Ù Ù g a nzd(a, 2 3 1) = 1º Ð Ñ ÒØ ÔÓ Ð Ó ÑÓ Ù ÔÖ Ø Ú Ø Ù Ö ÕÙÒ ÖÙº Æ ÔÖ Ñ Ö ÔÓÐ ¹ ÒÓÑ 1 x 2 + 0 x + 1 ÔÖ Ø Ú ØÖÓ ÓÑ 101º Ó ØÓ Õ ØÓ ÓÖ Ø Ü Ö Ø Ñ Þ ÒÓÚ Ò Ò ÔÖÓ Ð ÑÙ Ö ØÒÓ ÐÓ Ö ØÑ Ù ÔÓ Ñ Ø Ô F 2 d ÙÑ ØÓ Ù ÔÓ Ñ Ø Ô F p Ó p 2 d 10 300 º ËÑ ØÖ Ø Ñ Ò F p ÙÖÒ ÒÓ Ø ÚÒ Ö Ð Þ Ò Ö ÕÙÒ ÖÙ Ø Ñ Ò F 2 dº ÁÒÚ ÖØÓÚ Ð Ñ ÒØ x 4 +x 3 +1 Ò ÔÓ Ñ F 2 [x]/(x 6 +x+1)º ÈÓØÖ ÒÓ ÔÖ Ñ Ò Ø Ù Ð ÓÚ Ð ÓÖ Ø Ñ Ò ÔÓÐ ÒÓÑ x 6 +x+1 x 4 +x 3 +1º ÈÖÚÓ x 6 + x + 1 = q(x 4 + x 3 + 1) + r r ÔÓÐ ÒÓÑ Ø Ô Ò Ñ Ó 4 Ø Ô Ò Ò µº x 2 + x + 1 x 4 + x 3 + 1 x 6 + x + 1 x 6 + x 5 + x 2 x 5 + x 2 + x x 5 + x 4 + x x 4 + x 2 + 1 x 4 + x 3 + 1 x 3 + x 2 = r ÈÖ Ñ ØÓÑ x 6 + x + 1 = (x 2 + x + 1)(x 4 + x 3 + 1) + (x 3 + x 2 )º Æ Ð Õ Ò Ò Õ Ò Ó x 4 + x 3 + 1 = x(x 3 + x 2 ) + 1º ÈÖ Ñ ØÓÑ 1 = (x 4 + x 3 + 1) + x(x 3 + x 2 ) 1 = (x 4 + x 3 + 1) + x(x 6 + x + 1 + (x 2 + x + 1)(x 4 + x 3 + 1)) 1 = 1(x 4 + x 3 + 1) + x(x 6 + x + 1) + (x 3 + x 2 + x)(x 4 + x 3 + 1) 1 = (x 3 + x 2 + x + 1)(x 4 + x 3 + 1) (mod x 6 + x + 1) Ð Ù ÔÓ Ù F 2 [x]/(x 6 + x + 1) = F 64 (x 4 + x 3 + 1) 1 = x 3 + x 2 + x + 1º ÃÖ ÔÖ Ñ Ö º Í ÓÔ ÒÓÑ ÔÓ Ù F 8 ÔÓÐ ÒÓÑ Ñ Þ Z[x] Ö ÔÓ Ú ÑÓ ÙÐ Ó ÒØ Ö ÕÙÒ Ù ÔÓ ÑÓ ÙÐÙ Ú ÔÓÐ ÒÓÑ ÔÓ ÑÓ ÙÐÙ x 3 + x + 1º ÈÖ Ñ Ø ÑÓ Ó d > 1 ÓÒ F 2 d Z/2 d Z Ù F 8 1 + 1 = 0 Ù Z/8Z 1 + 1 = 2µº Í Ú Ð ÓÑ ÐÙ Ð Ø Ö ØÙÖ Ó Ö ÔØÓ Ö ÓÖ Ø ÓÞÒ GF(q) Þ F q Þ F q Ó ÕÒÓ q ÔÖÓ Ø ÖÓ Ð Ø Ô Ò ÚÓ º ½¾ ½¾º½ AES ÍÚÓ ÎÐ Ë Ó Ó ½ ¼º Ó Ò ÔÓ Ö ÒÙÐ ÔÖÓ Ö ÞÚÓ Ð ÓÖ ØÑ Þ Ü ÖÓÚ Ó ÑÓ Ó Ö Ð ÞÓÚ Ø Ò Õ ÔÙ Ó ÑÓ Ó Ø Ü ¹ ¾½
ÖÓ Ó ÓÖ Ü Ò Ó Ó ÙÖ Òº Ì Ó ½ º Ó Ò ÔÖ Ú Ò Ð¹ ÓÖ Ø Ñ DES Data Encryption Standard) ÖÑ IBM. DES Ñ ØÖ ÕÒ Ü Ö Ø Ñ 56¹ ØÒ Ñ ÙÕ Ñ Ó 64¹ ØÒ ÓØÚÓÖ Ò Ø Ø ØÖ Ò ¹ ÓÖÑ Ü Ù 64 ØÒ Ü Ö Øº à ÙÕ Ù Ò 56 Ø Ú Ó Ó ½ º Ó Ò ÓÑÓ Ù Ú Ó Ö Þ ÓÚ Ü Ö Þ Ó Þ Ö Ò Ò Ú Ð Ø Øº Ó ØÓ Ò ÓÖ Ø ØÞÚº ØÖÓ ØÖÙ DES Ø Ñ Ó ÔÓ Ö ÞÙÑ Ú ÔÖ Ñ ÒÙ Ð ÓÖ ØÑ DES ØÖ ÔÙØ Ú Ö ÞÐ Õ Ø ÙÕ ÔÖÚ ÖÙ ÔÖÚ Ø º Ù ÙÔÒÓ 112 Ø ÙÕ µ Þ Ü ÖÓÚ 64¹ ØÒ ÓØÚÓÖ Ò Ø ØÓÚ º ¹ Ò Ñ ÚÓ ÚÓ ØÖÙ DES Ú Ö ÞÐ Õ Ø ÙÕ Ò ÑÒÓ Ó ÙÖÒ ¹ Ó Ó ÒÓÚÒÓ Ð ÓÖ ØÑ Ò Ñ ÙÕ Ñ Ù ÜØ ÑÓ ÙÚ Ö Ø Ù ÐÙ ÙÖ Ó Ö ÔØÓ Ò Ð Þ º Å ÆÙØ Ñ DES Ò Ó ÔÖÓ ØÓÚ Ò Ò Ñ ÖÓÑ ÓÖ Ø ÓÚ ØÖÓ ØÖÙ Ú ÖÞ ÙÖÒÓ ÔÓ ØÓ Ò Ð ÓÖ Ø Ñ ÔÓ Ò ÚÓÙ ÙÖÒÓ Ø Ú Ú Ð ÒØ Ò ØÖÓ ØÖÙ ÓÑ DES. Ó ØÓ ½ º Ó Ò Ö Ô Ò ÓÒ ÙÖ Þ ÒÓÚ Ð ÓÖ Ø Ñº ÆÓÚ Ø Ò Ö AES, Advanced encryption standard) ¾¼¼½º Ó Ò ÔÓ Ø Ó Ð ÓÖ Ø Ñ Ê Ò ÓÐ Rijndael) ÐÓ ÓÑ Ú Ð Õ Ò 128 Ø ÙÕ Ñ Ù Ò 128 192 Ð 256 Ø º Ê Ò ÓÐ Ñ ØÖ ÕÒ ÐÓ ÓÚ Ü Ö Ó Ù ÓÒ ØÖÙ Ð Ð Ò Joan Daemen Vincent Rijmen. ½¾º¾ ÍÔÖÓÜ Ò AES ÍÔÓÞÒ ÑÓ Ò ÔÖ ÔÓ ÒÓ Ø Ú ÒÓÑ Ú ÖÞ ÓÑ Ð ÓÖ ØÑ AES Ù Ñ Ø ØÙ SAES µ Ó Ù ÓÒ ØÖÙ Ó º Ö ÚÓ Ú ÚÜ ØÙ ÒØ ¾¼¼¾º Ó Ò Ó Ú Ó Ù Õ ÓÔ Ù Cryptologia ¾¼¼ º Ó Ò º Ë Ð Ò ÖÒÓÑ Ö Ò ÐÒÓÑ Ò Ð ÞÓÑ Ò Ô Ñ Ò AES ÙÔÓÞÒ ÑÓ Ù ÐÙ ÙÖ Ó Ö ÔØÓ Ò Ð Þ º ½¾º ÃÓÒ ÕÒÓ ÔÓ Ð ÓÖ ØÑ ÔÖÓÜ Ö Ú ÙÕ Ü ÖÓÚ Ù SAES ÓÖ Ø Ø ÐÙ S Sbox), Õ ØÖÙ ØÙÖ ÓÔ Ù ÓÖ Ü Ñ ÓÒ ÕÒÓ ÔÓ Ó 16 Ð Ñ Ò Ø º Æ F 16 = F 2 [x]/(x 4 +x+1)º Ê Õ Ò Ð ÓÞÒ Õ Ú Õ ØÚÓÖ Ù Ø ÒÔÖº 1011º Æ ÐÙ b 0 b 1 b 2 b 3 ÑÓ ÔÖ ÖÙ Ø Ð Ñ Ò Ø b 0 x 3 + b 1 x 2 + b 2 x + b 3 ÔÓ F 16 º ½¾º Ì Ð S Ì Ð Ó ÒÓ ÒÓ ÙÒ µ S Ø ÚÒÓ Ò¹ Ò Ò Ô Ð Ò¹ Ú ÖØ ÐÒÓµ ÔÖ Ð Ú Ò ÐÓÚ Ù Ò ÐÓÚ S : {0, 1} 4 {0, 1} 4 º ÇÚ ÙÒ ÓÑÔÓÞ Ú ÔÖ Ð Ú º ÈÖÚÓ Ó ÒÚ ÖÞ Ò Ð Ù F 16 º Æ ÔÖ Ñ Ö ÒÚ ÖÞ ÔÓÐ ÒÓÑ x + 1 ÔÓÐ ÒÓÑ x 3 + x 2 + x Ô ÔÖÚ ÓÑÔÓÒ ÒØ ÔÖ Ð Ú S ÔÖ Ð Ú 0011 Ù 1110º Æ Ð 0000 ÞÙÞ Ø Ò ÒÚ ÖØ Ð Ò Ô ÔÖ Ð Ú Ù ÑÓ º Æ ÐÙ N = b 0 b 1 b 2 b 3 Ö ÞÙÐØ ØÙ ÒÚ ÖÞ µ ÔÖ ÖÙ Ù Ð Ñ Ò Ø N(y) = b 0 y 3 + b 1 y 2 + b 2 y + b 3 ÔÖ Ø Ò F 2 [y]/(y 4 + 1) y 4 + 1 = (y + 1) 4 Ò Ò ÚÓ Ú ÔÓÐ ÒÓѵº Æ a(y) = y 3 +y 2 +1 b(y) = y 3 +1 Ù F 2 [y]/(y 4 +1)º ÅÒÓ Ù ÓÚÓÑ ÔÖ Ø ÒÙ ¾¾
Ð ÕÒÓ Ó Ù F 16 ÞÙÞ Ú ÜØÓ Ö ÔÓ ÑÓ ÙÐÙ y 4 +1 Ô y 4 = 1 y 5 = y y 6 = y 2 º ÖÙ ÓÑÔÓÒ ÒØ ÔÖ Ð Ú S ØÖ Ò ÓÖÑ Ò Ð N(y) Ù Ò Ð a(y)n(y)+b(y)º Ì Ó Ò ÔÖ Ñ Ö Ò Ð 1110 = y 3 +y 2 +y ÔÖ Ð Ú Ù (y 3 +y 2 +1)(y 3 +y 2 +y)+(y 3 +1) = (y 6 +y 5 +y 4 )+(y 5 +y 4 +y 3 )+(y 4 +y 3 +y 2 )+(y 3 +1) = y 2 +y+1+y 1 +1+y 3 +1+y 3 +y 2 +y 3 +1 = 3y 3 +2y 2 +3y + 3 = y 3 +y+1 = 1011 ÈÖ Ñ ØÓÑ S(0011) = 1011º ÈÖ Ñ Ø ÑÓ ÔÓÜØÓ F 2 [y]/(y 4 +1) Ò ÔÓ Ò Ù Ú ÓÚ Ð Ñ ÒØ ÒÚ ÖØ ÐÒ º Å ÆÙØ Ñ ÔÓÐ ÒÓÑ a(y) Ø ÒÚ ÖØ Ð Òº Í Ð Ø Ö ØÙÖ ÖÙ ÓÑÔÓÒ ÒØ ÔÖ Ð Ú S Ó ÕÒÓ ÞÓÚ ÒÓ Ñ ØÖ ÕÒÓ ÔÖ Ð ¹ Ú º ÈÖ Ð Ú S ÑÓ ÔÖ Þ Ø Ø ÐÓÑ nib S(nib) nib S(nib) ¼¼¼¼ ½¼¼½ ½¼¼¼ ¼½½¼ ¼¼¼½ ¼½¼¼ ½¼¼½ ¼¼½¼ ¼¼½¼ ½¼½¼ ½¼½¼ ¼¼¼¼ ¼¼½½ ½¼½½ ½¼½½ ¼¼½½ ¼½¼¼ ½½¼½ ½½¼¼ ½½¼¼ ¼½¼½ ¼¼¼½ ½½¼½ ½½½¼ ¼½½¼ ½¼¼¼ ½½½¼ ½½½½ ¼½½½ ¼½¼½ ½½½½ ¼½½½ Ð Ö Þ Ñ Ù Ù Ò ÐÓÚ Ó ÓÚ Ö Ù Ñ Ò Ñ ÖÓ Ú Ñ Ð Ñ Ò¹ Ø Ñ Ñ ØÖ ÔÖ ÖÙ Ù Ù Ò 0, 1,..., 15 Ö ÓÑ ÔÓ ÚÖ Ø Ñ µ ½¼ ½½ ½ ½ ¾ ¼ ½¾ ½ ½ Ò ÖÒ Ú ÖÞ Ø Ð ÓÖ Ò Þ ÖÙÕÒÓ ÞÚÖÜ Ú Ð ÓÖ ØÑ SAES º Ì Ó Ò Ð 0000 = 0 ÔÖ Ð Ú Ù 9 = 1001 0001 = 1 4 = 0100 º º º 0100 = 4 13 = 1101 Ø º ½¾º ÈÖÓÜ Ö Ú ÙÕ Ð ÓÖ Ø Ñ SAES Ñ 16¹ ØÒ ÙÕ k 0 k 1...k 15 º Ç ØÖ ÓÖÑ ¹ Ö Ø Ò Þ Ó 48 Ø ØÖ 16¹ØÓ ØÒ ÔÓØ ÙÕ µ Ó Ó Ù ÔÖÚ 16 ¹ Ò ÓÖ Ò ÐÒÓÑ ÙÕÙµ ÔÖÓ ÓÑ ÔÖÓÜ Ö Ú ÙÕ º Æ RC[i] = x i+2 F 16 º Ì Ó ÒÔÖº RC[1] = x 3 = 1000 RC[2] = x 4 = x + 1 = 0011º Ó Ù N 0 N 1 Ò ÐÓÚ Ò N 0 N 1 ÓÞÒ Õ Ú ÓÚÙ ÓÒ Ø Ò Ùº Æ ¹ RCON[i] = RC[i]0000 ØÓ Ø Ò Þ Ó 8 Ø µº Ì Ó RCON[1] = 10000000 RCON[2] = 00110000º Æ Ù ÙÒ RotNib SubNib Ò¹ Ò ÞÖ Þ Ñ RotNib(N 0 N 1 ) = N 1 N 0 Ó ÒÓ ÒÓ SubNib(N 0 N 1 ) = S(N 0 )S(N 1 ) ÓÚ Ú ÙÒ ÔÖ Ð Ú Ù ØÓÚ Ù ØÓÚ º ÁÑ Ò ÓÚ ÙÒ Ó Ó¹ Ú Ö Ù ÓÚÓ ÔÖ ÖÓ ÖÓØ Ò ÐÓÚ Ó ÒÓ ÒÓ ÙÔ Ø ØÙ Ò ÐÓÚ ¾
ÔÖ Ñ ÒÓÑ Sµº Ò Ü ÑÓ Ò Þ ØÓÚ Wº Ø ØÓÚ W[0] Ó ÒÓ ¹ ÒÓ W[1] Ù ÔÖÚ Ó ÒÓ ÒÓ ÖÙ Ó Ñ Ø ÙÕ º Ç Ø Ð ÕÐ ÒÓÚ Ò Þ W[i] 2 i 5, Ò ÜÙ Ö ÙÖ ÒØÒÓÑ Ö Ð ÓÑ { W[i 2] RCON(i/2) SubNib(RotNib(W[i 1])), i 0 (mod 2) W[i] = W[i 2] W[i 1]), i 0 (mod 2). Æ Ù Ø Ö Ò Ù ÕÐ ÒÓÚ Ñ Ò Þ W ÓÞÒ Õ Ò k 0,...,k 47 º 0 i 2 Ò K i = W[2i]W[2i + 1]º ÈÖ Ñ ØÓÑ K 0 = k 0...k 15 K 1 = k 16... k 31 K 2 = k 32... k 47 º i 1 K i ÔÓØ ÙÕ Ó ÓÖ Ø Ò Ö Ù i¹ø ÖÙÒ K 0 ÓÖ Ø ÔÖ ÔÖÚ ÖÙÒ º Ã Ó Ö Ò ÓÞÒ Õ Ú Ö ÔÓ ÑÓ ÙÐÙ Ú Ø ÔÓ Øº ½¾º ÈÖ Ñ Ö ÔÖÓÜ Ö Ú ÙÕ Æ ÙÕ 0101 1001 0111 1010. ÈÖ Ñ ØÓÑ W[0] = 0101 1001 W[1] = 0111 1010º Ó i = 2 ÔÖ Ñ Ù RotNib(W[1]) = 1010 0111 Ô SubNib(1010 0111) = 0000 0101º Ó Ò Ö ÞÙÐØ Ø Ö W[0] RCON(1) Ó W[2]º ¼¼¼¼ ¼½¼½ ¼½¼½ ½¼¼½ ½¼¼¼ ¼¼¼¼ ½½¼½ ½½¼¼ ÈÖ Ñ ØÓÑ W[2] = 11011100º Ë i = 3 Ô W[3] = W[1] W[2] = 0111 1010 1101 1100 = 1010 0110º i = 4 ÔÖ Ñ Ù RotNib(W[3]) = 0110 1010 Ô SubNib(0110 1010) = 1000 0000º Ó Ò Ö ÞÙÐØ Ø Ö W[2] RCON(2) Ó W[4]º ½¼¼¼ ¼¼¼¼ ½½¼½ ¼¼½½ ½½¼¼ ¼¼¼¼ ¼½½¼ ½½¼¼ ÈÖ Ñ ØÓÑ W[4] = 01101100º Æ Ö Ù Þ i = 5 W[5] = W[3] W[4] = 1010 0110 0110 1100 = 1100 1010º ½¾º ÍÔÖÓÜ Ò Ð ÓÖ Ø Ñ AES Ð ÓÖ Ø Ñ SAES ØÖ Ò ÓÖÑ Ü 16¹ ØÒ ÓØÚÓÖ Ò Ø ØÓÚ Ù 16¹ ØÒ Ü Ö Ø ÓÖ Ø ÔÖÓÜ Ö Ò ÙÕ k 0... k 47 º Ð ÓÖ Ø Ñ Ü ÖÓÚ ÓÑÔÓÞ Ó Ñ ÙÒ Ó Ö ÓÑ ÔÖ Ñ Ù Ù Ò ÓØÚÓÖ Ò Ø Ø A K2 SR NS A K1 MC SR NS A K0 ÙÒ A K0 ÔÖ Ñ Ù ÔÖÚ µº ËÚ Ó ÓÚ ÙÒ ÔÖ Ñ Ù Ò Ø Ø Õ ØÚÓÖ Ò ÐÓÚ ÔÖ Þ Ò Ò ËÐ ½º ÈÓÕ ØÒÓ Ø ØÓ Ó ÓØÚÓÖ ÒÓ Ø Ø ËÐ ¾º ÚÖÜÒÓ Ø Ü Ö Ø ËÐ º ¾
b 0 b 1 b 2 b 3 b 8 b 9 b 10 b 11 b 4 b 5 b 6 b 7 b 12 b 13 b 14 b 15 ËÐ ½º Ò ÔÖ Ñ Ò ÙÒ p 0 p 1 p 2 p 3 p 8 p 9 p 10 p 11 p 4 p 5 p 6 p 7 p 12 p 13 p 14 p 15 ËÐ ¾º c 0 c 1 c 2 c 3 c 8 c 9 c 10 c 11 c 4 c 5 c 6 c 7 c 12 c 13 c 14 c 15 ËÐ º ÙÒ A Ki Ë Ö Ò A K ÔÓØ Õ Ó add key. ÙÒ A Ki Ö Ø K i ÔÓ ÑÓ ÙÐÙ Ú Ø ÔÓ Ø Ø Ó Ò Ø Ø Ø ÙÕ Ð Ù ÔÓ ÑÓ ÙÐÙ 16º ÙÒ NS Ë Ö Ò NS ÔÓØ Õ Ó nibble substitution. ÙÒ ¹ NS Þ Ñ Ù Ú Ò Ð N i Þ Ø Ò ÐÓÑ S(N i ) Ò Ñ Ù N Ö Ó Ð Ò ÐÓÚ º ÈÖ Ñ ØÓÑ Ø 0 N 2 ØÖ Ò ÓÖÑ Ü Ù N 1 N 3 S(N Ø 0 ) S(N 2 ) S(N 1 ) S(N 3 ) ÙÒ SR Ë Ö Ò SR ÔÓØ Õ Ó shift row. ÙÒ NS Ø N 0 N 2 N ØÖ Ò ÓÖÑ Ü Ù Ø 0 N 2 º N 1 N 3 N 3 N 1 ÙÒ MC Ë Ö Ò MC ÔÓØ Õ Ó mix column. ÃÓÐÓÒ [N i, N j ] T Ù Ø Ù Ó ÓÚ Ö Ð Ñ ÒØÙ N i z + N j ÔÖ Ø Ò F 16 [z]/(z 2 + 1). Ì Ó ÓÐÓÒ [N i, N j ] T N i = 1010 N j = 1001 Ó ÓÚ Ö Ð Ñ Ò Ø (x 3 + x)z + (x 3 + 1)º ÇÚ Ó Ö Ò F 16 [z] ÓÞÒ Õ Ú ÔÓÐ ÒÓÑ ÔÓ z Ó ÒØ Ñ Þ F 16 º ÈÖ Ñ ØÓÑ F 16 [z]/(z 2 + 1) ÔÓ Ö ÞÙÑ Ú ÔÓÐ ÒÓÑ ÔÓ Ñ ØÖ Ù ÔÓ ÑÓ ÙÐÙ z 2 + 1 Þ Ó ØÓ z 2 = 1º ÈÖ Ñ ØÓÑ ÙÔ ÔÖ Ø ÚÒ ØÓ Ó 16 2 ÔÓÐ ÒÓÑ ÔÓ z Ø Ô Ò Ñ Ò¹ Ó 2º ÙÒ MC ÑÒÓ Ú Ù ÓÐÓÒÙ ÔÓÐ ÒÓÑÓÑ c(z) = x 2 z+1º Í ÓÚÓÑ ÔÖ Ñ ÖÙ [((x 3 + x)z + (x 3 + 1))](x 2 z + 1) = (x 5 + x 3 )z 2 + (x 3 + x + x 5 + x 2 )z + (x 3 + 1) = = (x 5 + x 3 + x 2 + x)z + (x 5 + x 3 + x 3 + 1) = (x 2 + x + x 3 + x 2 + x)z + (x 2 + x + 1) = (x 3 )z + (x 2 + x + 1), ÜØÓ Ó ÓÚ Ö ÓÐÓÒ N k, N l N k = 1000 N l = 0111º ÈÖ Ñ Ø ÑÓ ÔÓÐ ÒÓÑ z 2 +1 = (z +1) 2 Ò Ò ÚÓ Ú Ò F 16 Ô F 16 [z]/(z 2 +1) Ò ÔÓ ÜØÓ ÞÒ Õ Ò Ù Ú ÓÚ Ð Ñ ÒØ ÒÚ ÖØ ÐÒ Ñ ÆÙØ Ñ ÔÓÐ ÒÓÑ c(z) Ø ÒÚ ÖØ Ð Òº ÖÙ Ñ Ö Õ Ñ ÙÒ MC ØÖ Ò ÓÖÑ Ü ÓÐÓÒÙ b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 Ù ÓÐÓÒÙ b 0 b 6 b 1 b 4 b 7 b 2 b 4 b 5 b 3 b 5 b 2 b 4 b 0 b 3 b 5 b 0 b 1 b 6 b 1 b 7 ÃÓÑÔÓÞ ÙÒ A Ki MC SR NS i¹ø ÖÙÒ Ð ÓÖ ØÑ Ü ÖÓÚ º ÈÖ Ñ ØÓÑ ÙÔÖÓÜ Ò Ð ÓÖ Ø Ñ Ñ Ú ÖÙÒ º ÈÓÖ ØÓ ÔÖ Ñ Ù ÓÔÙÒ ØÖ Ò ÓÖÑ A K ÔÖ ÔÖÚ ÖÙÒ ÔÓ Ð ÖÙÒ Ò Ñ ØÖ Ò ÓÖÑ Ù MC ÓÚ Õ Ò Ó Ü Ò Ù Ð Ñ Ó Ùº ¾
½¾º Ü ÖÓÚ ÈÖ Ñ Ø ÑÓ Þ ÔÖÓ ÞÚÓ Ò ÙÒ Þ Ó Ò Ò ÓÑÔÓÞ ÒÚ ÖÞÒ ÙÒ µ Ú (f g) 1 = g 1 f 1 º ÈÓÖ ØÓ Ó ÓÑÔÓÞ ¹ ÙÒ ÑÓÑ Ó ÓÑ ÒØ ÕÒÓ ÔÖ Ð Ú ÓÒ ÙÒ Ñ ÒÚ ÖÞÒ Ø ÓÒ ÒÚÓÐÙ º ËÚ ÙÒ A Ki Ù ÒÚÓÐÙ º Á Ó SR ÒÚÓÐÙ Ó SAES Þ Ó ØÓ ÜØÓ ÓÒ Ò ÒÚÓÐÙ Ó AES ÞÖ Þ SR 1 Ò Ø ÙÔÖÓÜ Ú Òº Ü ÖÓÚ ÔÖ Ñ ØÓÑ Ò ÒÓ ÓÑÔÓÞ ÓÑ A K0 NS 1 SR 1 MC 1 A K1 NS 1 SR 1 A K2 ÞÚÖÜ ÔÖ Ð Ú NS 1 Ò Ð ÑÒÓ a(y) 1 = y 2 +y +1 Ô Ö ÞÙÐØ ØÙ Ó a(y) 1 b(y) = y 3 + y 2 Ù ÔÖ Ø ÒÙ F 2 [y]/(y 4 + 1)º ÈÓ Ð ØÓ Ò Ð ÒÚ ÖØÙ Ù F 16 º ÍÑ ØÓ Ú ØÓ ÑÓ ÓÖ Ø Ø ÙÒ ÔÖ ÞÖ ÕÙÒ Ø Ø Ð ÙÒ S 1 º ÈÓÜØÓ MC ÑÒÓ c(z) = x 2 z + 1 ÙÒ MC 1 ÑÒÓ c(z) 1 = xz + (x 3 + 1) Ù F 16 [z]/(z 2 + 1)º Ü ÖÓÚ ÑÓ Ó Ú Ø Ò ÓÖ ÓÔ Ò Ò Õ Òº Ë ÑÓ Ú Ø Ö ÞÐÓ Þ ÜØÓ Ù ÔÓ Ð Ó ÖÙÒ Ò Ñ ÙÒ MC º ÈÖ Ñ Ø ÑÓ Ò ÔÖ NS 1 SR 1 = SR 1 NS 1 º Æ St ÓÞÒ Õ Ú Ò Ó Ø º Ì MC 1 (A Ki (St)) = MC 1 (K i St) = c(z) 1 (K i St) = c(z) 1 (K i ) c(z) 1 (St) = c(z) 1 (K i ) MC 1 (St) = A c(z) 1 (K i)(mc 1 (St))º ÈÖ Ñ ØÓÑ MC 1 (A Ki (St)) = A c(z) 1 (K i) MC 1 (St)º Ø ÓÞÒ Õ Ú c(z) 1 (K i ) Æ Ù b 0 b 1... b 7 b 8 b 9... b 15 Ú Ø Ó Ó¹ ØÓ K i º ÈÖÚ Ø b 0 b 1 b 2 b 3 ÑÓ ÑÓ Ñ ØÖ Ø Ð Ñ ÒØÓÑ F b 4 b 5 b 6 b 16 [z]/(z 2 + 1)º ÑÒÓ ÑÓ 7 c(z) 1 Ô ÔÓÒÓÚÓ ÔÖ ØÚ Ö ÑÓ Ù Øº Á ØÓ Ö b 8... b 15 º ÈÖ ¹ Ñ ØÓÑ c(z) 1 (K i ) Ñ 16 Ø º ÁÞÖ Þ A c(z) 1 (K i) ÓÞÒ Õ Ú Ö ÔÓ ÑÓ ÙÐÙ Ú c(z) 1 K i Ø Ù Ñ Ø Ñº ÈÖ Ñ Ø ÑÓ ÔÖ Ð ÓÑ ÞÚÖ¹ Ü Ú MC 1 Ø ÑÒÓ c(z) 1 Ð ÓÜ ÒÓ Ø ÚÒ ÓÖ Ø Ú Ú Ð ÒØÒ Ø Ð Õ Ö ØÖ ÞÖ ÕÙÒ Ø Þ ÓÑ Þ Ø µº ÞÚÖÜ A c(z) 1 (K i) Ò ÔÖ K i ÑÒÓ c(z) 1 Ð ÓÜ ÒÓ ¹ Ø ÚÒ ÓÖ Ø Ú Ú Ð ÒØÒ Ø Ð Õ Ö ØÖ ÞÖ ÕÙÒ Ø Þ ÓÑ Þ Ø µ ÓÒ Ö ÞÙÐØ Ø Ö ÔÓ ÑÓ ÙÐÙ Ú Ø Ù Ñ Ø Ñº Ü ÖÓÚ ÑÓ ÚÖÜ Ø Ø ÓÆ ÔÖ Ñ ÒÓÑ ÓÑÔÓÞ A K0 SR 1 NS 1 A c(z) 1 K 1 MC 1 SR 1 NS 1 A K2. ÈÓ Ø ÑÓ Ü ÖÓÚ ÚÖÜ Ò Ó ÒÓÚÙ A K2 SR NS A K1 MC SR NS A K0 ÖÙ Ñ Ö Õ Ñ ÙÒ Ù ØÓ Ù Ü ÖÓÚ ÔÓ Ú Ù Ù Ø Ñ Ö ÓÑ Ó ÔÖ Ü ÖÓÚ Ù ÞÙÞ Ú ÜØÓ ÔÓØ ÙÕ Ú ÔÖ Ñ Ù Ù Ó ÖÒÙØ Ñ Ö ¹ Ó Ð ÓѺ ÓÖ Ò ÐÒ AES ÓÚÓ ÑÓ ÓÐ Ü ÑÔÐ Ñ ÒØ Ùº ÇÚÓ Ò ÐÓ ÑÓ Ù MC ÔÓ Ú Ù Ù ÔÓ Ð Ó ÖÙÒ º ¾
½¾º ÈÖ Ñ Ö Ü ÖÓÚ Æ ÙÕ Ø Ó Ù ÔÖ Ø Ó ÒÓÑ ÔÖ Ñ ÖÙ 0101 1001 0111 1010. ÈÖ ¹ Ñ ØÓÑ W[0] = 0101 1001 W[1] = 0111 1010 W[2] = 1101 1100 W[3] = 1010 0110 W[4] = 0110 1100 W[5] = 1100 1010º Æ ÓØÓÚÖ Ò Ø Ø Ed Ó Ö ÒÓ ASCII Ó ÓÑ 01000101 01100100º Ì ÔÓÕ ØÒÓ Ø ÚÓ Ö ÕÙÒ Ò ÐÓÚ Ù Ö ÓÑ Ù ÓÖ Ð Ú Þ Ø Ñ Ó Ð Ú Ô ÓÖ Ò Ô Ó Ò Ù Óµ 0100 0110 0101 0100 Æ ÔÖ ÔÖ Ñ Ù ÑÓ A K0 Ó ÜØÓ ÑÓ Ö Ð K 0 = W[0]W[1]µ ÒÓÚÓ Ø 0100 0110 0101 0111 0101 0100 1001 1010 = 0001 0001 1100 1110 0100 0100 ÈÖ Ñ ÒÓÑ NS SR Ó SR 1100 1111 1101 0001 ÈÖ Ñ Ò ÚÜ MC Ó ÑÓ 1100 1111 Ø Ñ ÔÖ Ñ Ù A K1 ÔÖ Õ ÑÙ K 1 = W[2]W[3]º 1101 0001 1101 1010 0000 1011 = 1100 1111 0000 1001 1100 0110 1001 0011 ÈÖ Ñ ÒÓÑ NS SR Ó SR 1001 0010 Ø Ñ ÔÖ Ñ Ù A K2 ÔÖ Õ ÑÙ K 2 = W[4]W[5]º 1001 0011 0110 1100 1111 1111 = 0010 1001 1110 0011 1100 1010 ÈÖ Ñ ØÓÑ Ü Ö Ø 11111110 11110011º ½¾º½¼ ÃÓÑÔÐ Ø Ò AES 0100 0100 1111 1100 1001 0011 0010 1001 Ó ÒÓ Ø ÚÒÓ Ø ÓÔ ÑÓ Ú ÖÞ Ù AES 128¹ ØÒ Ñ ÙÕ Ñ 10 ÖÙÒ º Ã Ó ÜØÓ ÑÓ Ö Ð AES Ó Ö ÆÙ 128¹ ØÒ ÐÓ ÓÚ º ÇÔ ÑÓ Ö ÞÐ Ù Ó ÒÓ Ù Ò ÙÔÖÓÜ ÒÙ Ú ÖÞ Ùº ËÚ Ó Ø ØÓ Ó Ñ ØÖ ØÓÚ Ñ ÒÞ 4 4 º ÃÓÒ ÕÒÓ ÔÓ Ù ÓÑ Ö ÕÙÒ F 2 8 = F 2 [x]/(x 8 + x 4 + x 3 + x + 1)º ØÙ b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 Ó ÓÚ Ö Ð Ñ Ò Ø b 0 x 7 + + b 7 F 2 8º Ì Ð S Ò ÔÖ ÒÚ ÖØÙ Ø Ù F 2 8 Ô ÓÒ ÑÒÓ a(y) = y 4 + y 3 + y 2 + y + 1 Ö ÞÙÐØ ØÙ Ó b(y) = y 6 + y 5 + y + 1 Ù ÔÖ Ø ÒÙ F 2 [y]/(y 8 + 1)º ÁÒÚ ÖÞ ÔÓÐ ÒÓÑ a(y) a(y) 1 = y 6 + y 3 + y ÔÓÖ ØÓ a(y) 1 b(y) = y 2 + 1º ¾
ÙÒ ByteSub Ù AES ÓÕ Ð ÒÓ ÙÓÔÜØ ÙÒ SubNib ÓÒ Ú Ø B Þ Ñ Ù ÓÚÓÑ Ð ÓÑ S(B)º ÙÒ ShiftRow ¹ Ð Õ ÔÓÑ Ö ÚÖ Ø ÙÐ ÚÓ Þ 0, 1, 2, 3º ÈÖ Ñ ØÓÑ ÓÒ Ø B 0 B 4 B 8 B 12 B 1 B 5 B 9 B 13 B 2 B 6 B 10 B 14 B 3 B 7 B 11 B 15 ÔÖ ÚÓ Ù Ø B 0 B 4 B 8 B 12 B 5 B 9 B 13 B 1 B 10 B 14 B 2 B 6 B 15 B 3 B 7 B 11 ÙÒ MixColumn ÑÒÓ ÓÐÓÒÙ ÔÓÐ ÒÓÑÓÑ c(z) = (x + 1)z 3 + z 2 + z + x Ù F 2 8[z]/(z 4 + 1)º ÁÒÚ ÖÞÒ ÔÓÐ ÒÓÑ c(z) 1 = (x 3 + x + 1)z 3 + (x 3 + x 2 +1)z 2 +(x 3 +1)z+(x 3 +x 2 +x)º ÙÒ MixColumn ÔÓ Ú Ù Ù Ú Ñ ÖÙÒ Ñ Ñ Ù ÔÓ Ð Ó º ÙÒ AddRoundKey ÓÕ Ð ÒÓ ÙÓÔÜØ A Ki º ÓÔÙÒ ÙÒ AddRoundKey ÔÓØ ÙÕ Ñ Þ ÖÙÒ Ù 0 ÔÖ Ñ Ù Ò ÔÓÕ Ø Ù Ü ÖÓÚ º ÈÖÓÜ Ö Ú ÙÕ Ö Ò ÞÓÑ W Õ ÕÐ ÒÓÚ Ñ Ù ÔÓ Õ Ø Ö Ø º à ÙÕ ÔÓÔÙ Ú W[0],...,W[3]º ÙÒ RotByte Ð Õ ÖÓØ Ö ÖÙÔÙ Ó Õ Ø Ö Ø Þ Ò Ø ÙÐ ÚÓ Ð ÕÒÓ Ó ÜØÓ Ö ÖÙ ÓÑ ÚÖ ØÓÑ Ù ShiftRowº ÙÒ ByteSub ÔÖ Ñ Ù ÙÒ Ù Ø ÐÙµ S Ò Ú Øº Ã Ó Ö Ò RC[i] = x i Ù F 2 8 RCON[i] ÓÒ Ø Ò RC[i] ØÖ Ø Ó Ú ÒÙÐ º 4 i 43 Ö ÕÙÒ { W[i 4] RCON(i/4) ByteSub(RotByte(W[i 1])), i 0 (mod 4) W[i] = W[i 4] W[i 1]), i 0 (mod 4). ÈÓØ ÙÕ K i ØÓ Ó Ø Ù ÕÐ ÒÓÚ Ñ Ò Þ W[4i]...W[4i + 3]º ½¾º½½ AES Ó ÓÑ ÒÓÚ Ò Ü Ö ÈÖ Ñ ÜØ ÚÖÜ ÔÖ Ñ ÒÓÑ ShiftRowº Á Ó ØÓ Ò ÑÓ Ù ÔÖÓ ÞÚÓ ¹ Ò ÔÖ ÑÙØ Ô ÖÞ ÔÓ Ø ÔÖ Ñ ÜØ Ñ ÓÐÓÒ Ù MixColumnº Ñ Ò ÔÓ Ø ÔÖ Ñ ÒÓÑ ByteSub AddRoundKey Õ Ò Ð ÓÖ Ø Ñ Þ ¹ Ú Ò Ñ Ó ÙÕ º ½¾º½¾ Æ Õ Ò ÓÖ Ü ÐÓ ÓÚ Ü Ö ÈÓ ØÓ Õ Ø Ö ÙÓ Õ Ò Ò Õ Ò ÓÖ Ü AES Ó ÒÓ ÒÓ ÐÓ Ó ÐÓ ÓÚ Ü Ö µº ËØ Ò Ö Ò Ò Õ Ò ECB (electronic code book). Ó p i i¹ø ÐÓ ÓØÚÓÖ ÒÓ Ø Ø c i Ó ÓÚ Ö Ù ÐÓ Ü Ö Ø E k ( ) ÓÞÒ Õ ¹ Ú ÔÖ Ñ ÒÙ ÐÓ ÓÚ Ü Ö ÓÒ c i = E k (p i ) i = 0, 1,...º Ü ÖÓÚ ÚÖÜ Ò Ó ÒÓÚÙ ÞÖ Þ p i = E 1 k (p i) i = 0, 1,...º ECB Ò ÒÓ Ø ÚÒ Ò Õ Ò ÙÔÓØÖ Ñ ÆÙØ Ñ ÓÚ Ò Ó Ø Ø Þ Ø ÙÕ Ú Ø ÓØÚÓÖ Ò Ø Ø Ù Ø Ü Ö Ø º Ó ÖÓ Ø Ò ÙÑÒÓ 128 ÓÒ Ò Ö Ù ÔÓÖÙ Ó Ù ÞÒ Ó Ó ÕÒÓ ÔÓÕ Ù 1 Ö Ó ÕÒ ASCII ÞÒ ÔÓÕ Ù ÒÙÐÓѵ Ø Ó ÔÓ Ð ÐÓ Ñ Ù ÒÙ 128 Ø º ÖÙ Ò Õ Ü µ Ò Õ Ò ÓÖ Ü CBC (cipher block chaining). ¹ Ð Ó Ò ÑÓÖ Ù ÙÒ ÔÖ Ó ÓÚÓÖ Ó ÐÙÕ Ò Ò ¹Ø Ò µ ¾
Ò Ð Þ ÓÒ Ú ØÓÖ IV µ ÓÖ Ø Ø Ù ØÚ Ö ÔÖ Ú ÔÓÖÙ Ü Ó ÓÚ Ö Ù ÒÓÚ µ Ò Ð Þ ÓÒ Ú ØÓÖº Ê ÞÙÐØ Ø Ü ÖÓÚ c i = E k (c i 1 p i ) i 0º ÈÖ ØÓÑ Þ Ü ÖÓÚ ÔÖÚÓ ÐÓ p 0 ÓÖ Ø Ò Ð Þ ÓÒ Ú ØÓÖ Ó ÒÓ ÒÓ ÙÞ Ñ c 1 = IV º Ü ÖÓÚ p i = c i 1 E 1 k (c i)º ÌÖ Ò Õ Ò ÓÖ Ü CFB (cipher feedback). ÇÒ Ø ÓÆ ÔÓ Ö ÞÙÑ ¹ Ú ÙÔÓØÖ Ù Ò Ð Þ ÓÒÓ Ú ØÓÖ IV Ó ÑÓÖ Ñ Ø Þ Ú Ò Ö Ò Ü Ö Øº ÖÓÚ Ó ÒÓ ÒÓ Ü ÖÓÚ ÓÔ Ù Ù ÞÖ Þ Ñ c i = E k (c i 1 ) p i i 0 Ó ÒÓ ÒÓ p i = E k (c i 1 ) c i i 0º ÈÖ ØÓÑ ÑÓ ÓÖ Ø Ø ÒÔÖº ÑÓ ÒÔÖº Ò Ò Ø ÞÖ Þ E k (c i 1 ) Ø º ÑÓ Ü ÖÓÚ Ø» Ü ÖÓÚ Ø ÒÔÖº Ò Þ ØÓÚ º Ö ÞÐ Ù Ó ØÓ Ù Ö ÑÙ CBC ÑÓÖ Õ Ø ÓÑÔÐ Ø Ö ÐÓ Ó 128 Ø ÇÌ ÔÖ ÔÓÕ Ø ÞÖ ÕÙÒ Ú Ü Ö Ø º ÈÓ Ð Ò Õ Ò ÓÖ Ü OFB (output feedback). ÌÓ Ù ØÚ Ö Ò Õ Ò Ó Ò Þ ÙÕ Þ Ü ÖÓÚ º Z i = E k (Z i 1 ) = E i+1 k (IV )º Æ Þ ÙÕ Ó ÓÒ Ø Ò ÓÑ Z 0 Z 1 Z 2...º Ö Ø Ó ¹ Ö Ñ Ò ÞÓÑ ÙÕ c i = p i Z i i 0 Ô Ü ÖÓÚ p i = c i Z i º ½¾º½ Ò Ð Þ ÙÔÖÓÜ ÒÓ Ð ÓÖ ØÑ AES Ê ÞÑÓØÖ ÑÓ ÑÓ Ù Ò Ô Ò SAES Ù Ö ÑÙ ECB. ÓÜÐ Ó Ô Ö ÇÌ Ë̵ Ð Ó Ö ÙÕº Æ ÇÌ p 0 p 1...p 15 Ó ÓÚ Ö Ù ËÌ c 0 c 1... c 15 ÙÕ k 0 k 1...k 15 º ÅÓ ÓÖÑ Ö Ø 16 Ò Õ Ò Ó Ð f i (p 0 p 1... p 15, k 0 k 1... k 15 ) = c i f i ÔÓÐ ÒÓÑ Ó 32 ÔÖÓÑ Ò Ú Ó ÒØ Ñ Þ F 2 Þ Ó ÓÕ Ù Ñ ÔÖÓ ÕÒÓ 2 31 ÕÐ ÒÓÚ º Ã Ö Ù Þ Ñ Ò µ Ø c j p j Þ Ô Ö Ó ÓÚ Ö Ù ÇÌ Ë̵ Ó ÑÓ 16 Ò Ð Ò ÖÒ Ò Õ Ò 16 Ò ÔÓÞÒ Ø Ø k i µº ÈÓÐ ÒÓÑ Ù ÓÚ Ñ Ò Õ Ò Ñ Ù ÔÖÓ Ù Ñ Ù ÔÓ 2 15 ÕÐ ÒÓÚ º Í Ð ÓÖ ØÑÙ SAES Ú Ð Ò ÖÒÓ ÞÙÞ Ú Ø Ð S Ó Ù ÑÓ Ö ÞÑÓØÖ Ø º ÇÞÒ Õ ÑÓ ÙÐ ÞÒ Ò Ð abcd ÞÐ ÞÒ Ò Ð efghº Ì ØÖ Ò ÓÖÑ Ó Ù ÚÖÜ Ø Ð S ÑÓ ÓÔ Ø Ð Ñ Ò Õ Ò Ñ e = acd + bcd + ab + ad + cd + a + d + 1 f g = abd + bcd + ab + ac + bc + cd + a + b + d = abc + abd + acd + ab + bc + a + c h = abc + abd + bcd + acd + ac + ad + bd + a + c + d + 1 ÔÖ Õ ÑÙ Ù Ú Ö ÔÓ ÑÓ ÙÐÙ Ú º Æ ÔÖ Ñ Ö Ó ÞÖ Þ Þ e ÔÓÐ Þ Ó ÞÖ Þ e = af 0 (b, c, d) + af 1 (b, c, d), ¾
Ù f 0 Ó ÒÓ ÒÓ f 1 ÙÒ Ó ØÖ ÔÖÓÑ Ò Ú b, c, d Ó Ö Æ Ò ÔÖÚÓÑ Ó ÒÓ ÒÓ ÖÙ ÓÑ ÔÓÐÓÚ ÒÓÑ Ø Ð Ø Ò ØÓ Ø ÙÒ eº Ñ ÒÓÑ a = 1 + a Ó e = f 0 (b, c, d) + a(f 0 (b, c, d) + f 1 (b, c, d)). Æ Ø Ú Ù ÓÚ ÚÓ Ö ÞÐ Ö ÓÑ Þ ÔÖÓÑ Ò Ú b c d Ó Ò Ú ¹ Ò ÞÖ Þ Þ ÙÒ Ù e ØÓ Ø Ó Þ ÙÒ f g hº Æ ÞÑ Ò ÕÒÓ Ñ Ú Ð Ò ÖÒ ÓÚ Ñ Ò Ð Ò ÖÒ Ñ ÔÖ Ð Ú Ñ Ó Ö ÞÙÐØ Ø ÚÖÐÓ ÐÓ Ò ÔÓÐ ÒÓÑ ÐÒ ÞÖ Þ Þ Ø Ü Ö Ø ÔÖ Ó Ø ÙÕ Þ ÔÓÞÒ Ø Ø ÓØÚÓÖ ÒÓ Ø Ø º Ö Ü Ú Ø Ñ Ð Ò ÖÒ Ò Õ Ò ÑÒÓ Ó Ò ÔÓÞÒ Ø Ð Ó Ö ÞÒ Ù Ð ÓÖ ØÑ ÔÓÐ ÒÓÑ ÐÒ ÐÓ ÒÓ Ø º Ë ÖÙ ØÖ Ò Ò Ù ÔÓÞÒ Ø Ð ÓÖ ØÑ Þ ÒÓ Ö Ü Ú Ò Ð Ò ÖÒ ÔÓÐ ÒÓÑ ÐÒ Ò Õ Ò ÑÒÓ Ó Ò ÔÓÞÒ Ø º ½¾º½ Ç Ü ÓÒ ØÖÙ AES Ú Ð Ø Ø Ü ÖÓÚ ÔÓ ØÓ Ú Ó ÒÓÚÒ Ö Ø Ö ÙÑ ÙÖÒÓ Ø ÒÓ Øº ÈÖ Ð ÓÑ ÔÖÓ ØÓÚ AES ÙØÓÖ Ù ÚÓ Ð Ö ÕÙÒ Ó Ñ º ÇÒ Ù ÔÓÖ ØÓ Ù Ö Ð Ù Ð ÓÖ Ø Ñ ÒÓ Ø ÚÒÓ Ø ÔÓÒ Úй º Ë ÙÖÒÓ Ø Ñ Ö ÓØÔÓÖÒÓÜ Ù Ü ÖÓÚ Ò Ú ÔÓÞÒ Ø Ò Ô º ÒÓ Ø ÓÑ Ò ÖÞ Ò Ü ÖÓÚ» Ü ÖÓÚ Ñ Ö Ù Ó¹ Ó Ð ÓÖ Ø Ñ ÓÖ Ø Ö ÙÖ ÔÓØÖ Ò ÔÖÓ ØÓÖ Ò Õ ÔÙ Þ Ö Ú Ö Ù Ö Ð Þ Ù Ó ÒÓ ÒÓ ÔÓØÖ Ò Ñ ÑÓÖ Þ Ó ØÚ Ö Ù Ö Ð Þ Ùµº  ¹ ÒÓ Ø ÚÒÓ Ø Ó ÒÓ Ò ÐÓ ÒÓ Ø ÔÓ Ò ÓÖ Ó Ð Ò Ð ÓÖ Ø¹ Ñ Þ Ü ÖÓÚ º Ó Ð ÓÖ Ø Ñ ÑÓ Ð Ó Ö ÞÙÑ Ø Ú ÖÓÚ ØÒ Ö Ð Þ Ð ÓÖ ØÑ Ø ÓÖ ØÒ º Æ Ö Ù ÔÓÒ Ú Ó ÒÓ Ò Ú Ü ØÖÙ Ù ÙÔÓØÖ Ù ÙÒ Ù Ó Ú ÖÙ Ð ÓÖ ØÑ º Í Ò Ö Ò Ú Ø Õ Ö ÞÑÓØÖ ÑÓ ÙÖÒÓ Ø ÒÓ Ø ÒÓ Ø ÚÒÓ Ø ÔÓÒ Ú Ù Ð ÓÖ ØÑÙ AES º ½¾º½ Ë ÙÖÒÓ Ø Ã Ó Ø Ò Ö Þ Ü ÖÓÚ AES ÑÓÖ Ù ÓØÔÓÖ Ò Ò Ú ÔÓÞÒ Ø Ö ÔØÓ Ò Ð Ø Õ Ò Ô º ÈÖ Ñ ØÓÑ ÔÖ Ð ÓÑ ÔÖÓ ØÓÚ Ð ÓÖ Ø¹ Ñ ÚÓ ÐÓ ÔÖ Ú Ö ÕÙÒ ÓÒ Ù ÓØÔÓÖ Ò Ò Ò Ô ÔÓ ÒÓ Ò Ö Ò ÐÒÙ Ð Ò ÖÒÙ Ö ÔØÓ Ò Ð ÞÙº ÐÓ ÓÚ Ü Ö Ð ÙÖÒ ÓÒ ÑÓÖ Ó Þ ÆÙ ÙÞ Ù Ò Ð Ò ÖÒÓ Øº ÙÞ Ò Ü Ó Ü Ö ÙØ Ø Ù ØÓ Ù Ü ÖÓÚ º ÈÓØÔÙÒ ÙÞ ÞÒ Õ Ú Ø Ø Þ Ú Ó Ú Ø ÔÖ Ø Ó ÒÓ Ø º Í Ð ÓÖ ØÑÙ AES Ú ÙÞ ØÓÔÒ ÖÙÒ Ó Þ ÆÙ Ù ÔÓØÔÙÒÙ ÙÞ Ùº ÙÒ ShiftRow MixColumn ÔÖÓÜ Ö Ú ÙÕ Ó Þ ÆÙ Ù ÙÞ¹ Ù Ò ÓÔ Ó ÒÙ Ø Ñ Ù ÓØÔÓÖ Ò Ò ÔÓÞÒ Ø Ò Ô º Æ Ð Ò ÖÒÓ Ø Ù Ð ÓÖ ØÑÙ ÔÓØ Õ Ó Ø Ð S Ó ÓÖ Ø Ù ByteSub ÔÖÓÜ Ö Ú Ù ÙÕ º ÈÓÖ Ó Ø ÐÓ Ò Ð Ò ÖÒÓ Ø ÔÖÓÙÞÖÓ ÓÚ Ò Ò¹ ¼
Ú ÖÞ ÓÑ Ù ÓÒ ÕÒÓÑ ÔÓ Ùº ÌÓ Ò Ð Ò ÖÒÓ ÔÖ Ð Ú ØÓÚ Ù ¹ ØÓÚ º ÇÚ ÔÓ Ð Ò ÖÒ Ñ Ò Ñ ÔÖ ÞÒ µ ÔÖ Ð Ú Ñ ÔÓ¹ Ö ÞÙÑ Ú ÔÖ Ð Ú ØÓÚ Ø º Ó ÑÓ Ñ ÒÞ ÓÒ ÐÒ Ú ØÓÖ Ò ÔÓ¹ Ñ F 2 µ Ù ØÓÚ Ó ÑÓ ÔÖ Ø Ú Ø Ó ÑÒÓ Ñ ØÖ ÓÑ 8 8 Ó Ú Ñ Ú ØÓÖ º Æ Ð Ò ÖÒÓ Ø ÔÓÚ Ú ÓØÔÓÖÒÓ Ø Ü Ö Ò Ö ÔØÓ Ò Ð Ø Õ Ò Ô º Æ Ð Ò ÖÒÓ Ø Ù ÔÖÓÜ Ö Ú Ù ÙÕ Ó Þ ÆÙ ÔÓÞÒ Ú Ð ÙÕ Ð ÔÓØ ÙÕ Ò ÓÑÓ Ù Ù ÒÓ Ø ÚÒÓ Ó Ö Æ Ú ÔÙÒÓ ÖÙ Ø ÙÕ º  ÒÓ Ø ÚÒÓ Ø ÔÓÚ Ú Ö ÐÒÓ Ø Ü Ö Ò Ð Ò Õ Òº ÃÓÖ Ü¹ ÒÓ Ø ÚÒ ÓÖ Ù Ö Ü ÒÓ Ø ÚÒÓ Ö Þ Ø Ü ÖÙ Ô ØÓ ÔÓ ÙÜ Ú ÙÖ Ú Ü Ù º à ÑÒÓ Ó Ø Ú ÔÓ ÙÜ Ó ÓÒÕ Ò Ù Ô ÓÑ Ü Ö ÙÐ Ú Ú ÔÓÚ Ö º Á Ó ÔÓÒ Ú Ñ ÑÒÓ Ó ÔÖ ÒÓ Ø ÓÒÓ ÑÓ ÙÕ Ò Ø Ü ÖÙ Ó Ø¹ Ú ÓÑ Ò Ò Ò Ô º ÃÓÒ ØÖÙ AES Ó Þ ÆÙ ÔÓÒ Ú Ò Þ Þ Ú Ñ ÙÖÒÓ Ø º Æ ÔÖ Ñ Ö ÓÖ Ü ÓÒ Ø ÒØ RCON[i] Ö Þ ÔÓØ Ò ÐÒ Ð ÕÒÓ Ø ÞÑ ÆÙ ÔÓØ ÙÕ Ú º ½¾º½ ÒÓ Ø ÇÕ Ù AES ÞÚÖÜ Ú Ò Ö ÕÙÒ Ö Ñ ÙÖ Æ Ñ Ö ÞÐ Õ Ø Ú Ð ¹ Õ Ò Ò º Ó ØÓ Ð ÓÖ Ø Ñ ÔÖÓ ØÓÚ Ò Ø Ó ÑÓ ÒÓ ÞÚÖÜ Ú Ø Ò ÑÒÓ Ñ ÔÐ Ø ÓÖÑ Ñ Ó ØÓÒ Ö ÕÙÒ Ö Ó Ñ Ð ÙÖ Æ Ó ÑÓ Ù Ñ Ø Ø Ù ÔÖ ÙÕ Ò ÑÖ Ùº ÈÓÒ Ú Ù ØÖÙ ØÙÖ AES ÓÑÓ Ù Ù Ô Ö Ð ÐÒÓÑ Ö Ð Þ ¹ ÓÑ Ù ÖÞ Ü ÖÓÚ» Ü ÖÓÚ º ËÚ ÓÖ ÑÓ Þ Ó ÔÓÒ Ú Ò¹ Ö Þ Ø Ò Ò Þ Ú Ò ÞÖ ÕÙÒ Ú º ÙÒ MixColumn ShiftRow Ò Þ Ú ÒÓ Ó Ö ÆÙ Ù ÔÓ Ò ÓÐÓÒ Ó ÒÓ ÒÓ ÚÖ Ø Ø º ÙÒ AddKey ÑÓ Ô Ö Ð Ð ÞÓÚ Ø Ò Ú Ü Ò Õ Ò º ÈÓ Ð Ô Ö Ó Ð ÓÖ Þ Ü ÖÓÚ Ü ÖÓÚ ÓÑÓ Ù Ù Ø Õ Ô ÓÖ Ø Þ Ü ÖÓÚ Þ Ü ÖÓÚ º ÌÓ Ñ Ù ÒÙ Ö Ú Ö ÔÓÚ Ú ÖÞ ÒÙº  ÒÓ Ø ÚÒÓ Ø Ð ÓÖ ØÑ ÓÐ Ü Ú ÓÚÓ Ó Ü Ú Ô Ù Þ Ó ØÓ Ö Ð Þ ÒÓ Ø ÚÒ ÔÓÙÞ Ò º ÃÓ ÒØ ÔÓÐ ÒÓÑ Ó Ò ¹ Ü F 256 Þ Ö Ò Ù Ø Ó Ñ Ò Ñ Þ Ö Ù ÞÖ ÕÙÒ Ú º ÍÔÓÖ Æ AES RC4. ËÑ ØÖ Ù ÐÓ ÓÚ Ü Ö Ð ÐÒ ¹ Ø Ñ ÜØÓ ÓÑÓ Ù Ù Ù Ü ÖÓÚ Ò Ú Ü Ö ÞÐ Õ Ø Ò Õ Ò º ÐÓ ÓÚ Ü Ö ÑÓ Ð Ó ÙÔÓØÖ Ø Ó ÔÖÓØÓÕÒ Ð Ó ÖÒÙØÓ Ò ÑÓ Ù º Í ÒÓ Ó ÑÔÐ Ñ ÒØ Ü Ö RC4 1.77 ÔÙØ Ö Ó AES Ð Ñ ØÖ Ñ ÙÖÒ º ½