ãã®ä»ã®ãµã€ã¯ã«èšäº
                        
      AES â   .  I
      
        
        
        
      
ES â . II
        
        
        
      
AES â . III
        
        
        
      
AES â . IV
        
        
        
      
AES â . V.
        
        
        
      
    
                    ES â . II
AES â . III
AES â . IV
AES â . V.
ãã®IVã®éšåã§ã¯ãAES-128æå·ã®èª¬æãå®äºããŸãããããŸã§ã®äœæ¥ã«æ £ããŠããªãèªè ã®ããã«ããã®è³æã¯æè²ç®çã§æç€ºãããŠãããå€ãã®æ©èœïŒè©³çŽ°ãæ°å€äŸãæ°åŠçåºç€ãªã©ïŒã課ããŠããããšã説æããŸãã ãããã³æå·åããã³åŸ©å·åã¢ã«ãŽãªãºã ã®éçºã®ããã«æç€ºãããè³æã®äœ¿çšïŒéµããªãå ŽåïŒãå€ãã®æåãªãªã³ã©ã€ã³ïŒããã³ãªãã©ã€ã³ïŒåºçç©ã®èè ã¯ããã®ãããªç®æšãèšå®ããŠããªãã£ãããããããã®åºçç©ã¯ç§ãã¡ã®ç®çã«ã¯ã»ãšãã©åœ¹ã«ç«ã¡ãŸããã
æå·åã®éã®ããã»ã¹ã¯ãã¡ãã»ãŒãžã®åŸ©å·åãšåŒã°ããŸããïŒããŒã䜿çšããŠïŒæå·æïŒSTïŒã埩å·åããã«ã¯ãé眮æããŒãã«ãšã©ãŠã³ãããŒãäœæããŸãããããã¯ãæå·åã¹ããŒã ãšã¯éã®é åºã§äœ¿çšãããŸãããæå·åããã»ã¹ãšåæ§ã§ãã
AESã¡ãã»ãŒãžã®åŸ©å·å
ã¡ãã»ãŒãžã埩å·åããæäœã®ãªã¹ãã¯ãæå·åã®å Žåãšåãã§ããæäœã®è©³çްã«ã€ããŠã¯ããã¡ããã芧ãã ãããããã¯ãããªãäžè¬çãªæå·ã®ååã§ããæå·åãšåŸ©å·åã®ããã®åäžã®ããŒããŠã§ã¢å®è£ ã§ãããäž¡æ¹ã®ããã»ã¹ã«å¯ŸããŠåã颿°ã®ã»ããã«ãã£ãŠæäŸãããŸãããœãŒã¹ããã¹ããšããŒéä¿¡ã®ã·ãŒã±ã³ã¹ã®ã¿ã倿ŽãããŸãã
ã¡ãã»ãŒãžã埩å·åããããã»ã¹ã¯ãæå·åã«äœ¿çšãããäžé£ã®éïŒéïŒå€æãšããŠãæå·åäžã®ã·ãŒã±ã³ã¹ãšã¯éã®é åºã§å®è£ ãããŸããã©ãŠã³ãããŒãé©åãªé åºã§äœ¿çšãããŠããããšãæããã§ããæåã«æåŸã«åä¿¡ããããŒãæ¬¡ã«æåŸãã2çªç®ã®ããŒãšããããã«ãæåã®ã©ãŠã³ãããŒãŸã§ç¶ããŸãã
ãã¹ãŠã®å€æåã¯åããŸãŸã§ãããå é ã«Invãä»ããŸãã以åãšåãã·ãŒã±ã³ã¹ã§ããããæ€èšããŸããAESæå·ã§ã¯ããªããŒã¹ãšãã©ã¯ãŒãã®2ã€ã®åŸ©å·åãªãã·ã§ã³ã䜿çšã§ããŸãããããã«ã€ããŠã¯ã以äžã§è©³ãã説æããŸãã
é埩å·ãªãã·ã§ã³
ã¡ãã»ãŒãžã®é埩å·åã¯ãæå·åããã»ã¹ãéã«ããèªç¶ãªããã»ã¹ã§ãã
AddRoundKeyæäœã¯ãã¡ãã»ãŒãžã®æå·åæãšåãããã«ãç¶æ ã®ãã¹ãŠã®16ãã€ãã«å¯ŸããŠåãïŒå€æŽãããŠããªãïŒS + Kiã®ãŸãŸã§ããããèªèº«ã®éã§ããããã¯ãæŒç®ã§XORããžãã¯ã䜿çšããããã€ãã2鲿°ã§è¡šçŸã§ããããã§ãã
æçµã©ãŠã³ãã®ããŒã¯ãæå·åãããã¡ãã»ãŒãžã«åçŽã«è¿œå ïŒåèšïŒãããŸãã
InvSubBytesããã®å€æã®æ¬è³ªã¯å€æŽãããŠããŸãããã€ãŸãã倿ãããã¡ãã»ãŒãžã®åãã€ãã¯ãããŒãã«ããååŸãããå¥ã®ãã€ãã«çœ®ãæããããŸãïŒS -1-blockïŒäº€æããã¡ããã眮æããŒãã«ã¯ããã§ã¯ç°ãªããŸãããã€ã{xãy}ã¯ãåãåçã«åŸã£ãŠãInv SïŒxãyïŒããã®ãã€ãã«çœ®ãæããããŸãïŒx-ããŒãã«ã®è¡ãy-ãã®åã眮æãã€ãã¯ãInv SïŒxãyïŒããŒãã«ã®è¡ïŒxïŒãšåïŒyïŒã®äº€ç¹ã«ããã»ã«ããååŸãããŸãã
以åãšåæ§ã«ãããŒãã«ã®ãµã€ãºã¯16Ã16 = 256ãã€ãã§ããããããããã·ãããããªãã¯ã¹Cã®ç©ãããã¯ãã«ãããªãã¯ã¹ã®ä¹ç®ãšæžç®ïŒã¢ãã£ã³å€æïŒã«ãã£ãŠååŸãããŸãããã€ããªãã£ãŒã«ãã§ã¯ãå ç®ãšæžç®ã®æŒç®ã¯åãã§ããããããã¯ãã«Cã補åã InvSubBytesããŒãã«ã以äžã«ç€ºããŸããæå®ããã眮æã®ããŒãS -1ã¯ã次ã®è¡š1ã«ç€ºãããŠããŸããå€ã¯16é²åœ¢åŒã§ç€ºãããŠããŸãã
衚1.éS -1ã®çœ®æã®ããŒãã«-ãããã¯
      衚ã¯ãç·ã§å¡ãã€ã¶ããã2ãã€ã4Aâ5Cããã³9Fâ6Eã®çœ®æã®äŸã瀺ããŠããŸãã
InvShiftRowsããã®å€æã«ãããããŒãã«ã®è¡ïŒå·ã®æ£æ¹åœ¢ïŒãå³ã«ïŒå ã®ã·ãããšã¯éã®æ¹åã«ïŒã·ãããããŸããåè¡ã®ã·ããå€ã¯åããŸãŸã§ããæåã®ïŒäžçªäžã®ïŒè¡ã¯c0 = 0ã«ã·ãããããã2çªç®ã®è¡ã¯c1 = 1ã ãã·ãããããæ¬¡ã®è¡ã¯c2 = 2ã ãã·ãããããæåŸã®è¡ã¯c3 = 3äœçœ®ïŒã»ã«ïŒã§ããå€c0ãc1ãc2ãc3ã¯ã衚ãšå³ã®æåã®ã©ãŠã³ãã®ã¡ãã»ãŒãžå€æã§ç€ºãããã®ã§ãã
      ã¹ã«ã©ãŒè¡šçŸã§ã®ãã®ãããªä¹ç®ã®çµæã¯æ¬¡ã®ãšããã§ã
ãS'0C =ïŒ{0l}ã»S0CïŒ{ïŒ{0b}ã»S1CïŒâïŒ{0d}ã»S2CïŒâïŒ{09}ã»S3CïŒ;
S'1C =ïŒ{09} S0CïŒâïŒ{0l} S1CïŒâïŒ{0b} S2CïŒâïŒ{0d} S3CïŒ;
S'2C =ïŒ{0d} S0CïŒâïŒ{09} S1CïŒâïŒ{0l} S2CïŒâïŒ{0b} S3CïŒ;
S'3C =ïŒ{0b} S0CïŒâïŒ{0d} S1CïŒâïŒ{09} S2CïŒâïŒ{0l} S3CïŒã
PCããITãååŸããããã«ã埩å·åã¢ã«ãŽãªãºã ã¯ãæå·åããã»ã¹ã§äœ¿çšããããã®ãšåããã©ã¡ãŒã¿ãŒå€ã䜿çšããŸããæ¡åŒµããŒã®åœ¢æã«ã€ããŠã¯ãã«ãŒã«ã¯åããŸãŸã§ãã
çŽæ¥åŸ©å·åãªãã·ã§ã³
äžéšã®é倿ã®åŸ©å·åã¢ã«ãŽãªãºã ã®ç¹æ§ã«ãããæå·åã¢ã«ãŽãªãºã ãšåãäžé£ã®æäœãä¿æã§ããŸãããäžéšã®ãã©ã¡ãŒã¿ãŒå€ã«ã¯å€æŽãå¿ èŠã§ãããŸãæåã«ãããŒïŒå±éïŒã«ã€ããŠèª¬æããŸãã
調æ»ã«ãããšãSubBytesïŒïŒé¢æ°ãšShiftRowsïŒïŒé¢æ°ã®é åºã¯çµæã®å€ã倿Žããªããã€ãŸããããã®é¢æ°ã¯å ¥ãæ¿ãå¯èœïŒéå€ïŒã§ããããšãããã£ãŠããŸãããã®äœçœ®ïŒããããã£ïŒã¯ã颿°InvSubBytesïŒïŒãInvShiftRowsïŒïŒã«ãåœãŠã¯ãŸããŸãããã®ãã¿ãŒã³ã¯ç°¡åã«èª¬æã§ããŸããéèŠãªã®ã¯ãã©ã¡ãã®é¢æ°ãæŽæ°ãã€ãã§åäœããã·ããã¯ãã€ãã®æŽæ°åã§å®è¡ããããã€ãèªäœã®å€ã倿Žããªãããšã§ãã
MixColumnsïŒïŒæäœã«ã€ããŠã¯ã次ã®ç¹ã«æ³šæããŠãã ãããå ¥åãã€ãïŒããŒã¿ïŒã«å¯ŸããŠç·åœ¢ã§ãã
InvMixColumnsïŒç¶æ XORã©ãŠã³ãããŒïŒ= InvMixColumnsïŒç¶æ ïŒXOR
InvMixColumnsïŒã©ãŠã³ãããŒïŒã
颿°ïŒããããã£ïŒã®ãããã®æ©èœã«ãããã¢ããªã±ãŒã·ã§ã³ã®é åºã倿Žã§ããŸããã€ãŸãã
InvSubBytesïŒInvShiftRowsïŒïŒïŒ= InvShiftRowsïŒInvSubBytesïŒïŒïŒã§ãã
AddRoundKeyïŒInvMixColumnsïŒïŒïŒ= InvMixColumnsïŒAddRoundKeyïŒïŒïŒã§ã
ããæ¡åŒµåŸ©å·åããŒã®åïŒ32ãããã¯ãŒãïŒã以åã«
InvMixColumnsïŒïŒé¢æ°ãä»ããŠæž¡ãããŠããå Žåã
ããã¯ãæå·åã«æ¡çšããã颿°ã®äœ¿çšé åºãç¶æããããšã§ãPCã®åŸ©å·æ¹æ³ãæå¹ã«ã§ããããšãæå³ããŸããæããã«ããã®å Žåãæå·ã®ããŒããŠã§ã¢ããã³ãœãããŠã§ã¢å®è£ ã®ã³ã¹ãã¯å€§å¹ ã«åæžãããŸãã倿Žã¯ãããŒé 眮ãçæããæé ã®ã¿ã«é¢ä¿ããŸãã
InvMixColumnsïŒïŒé¢æ°ã§ã¯ã倿°ã®åã倿ããå¿ èŠããããŸãã颿°ã®å ¥åãã©ã¡ãŒã¿ãŒã¯2次å ã®ãã€ãé åïŒæ£æ¹åœ¢ïŒã§ãããæ¡åŒµããŒã¯32ãããã¯ãŒãã®ç·åœ¢ïŒæååïŒé åãšããŠåœ¢æãããŸãããã®ãããæ£æ¹åœ¢ãžã®ååãããè¡ãå¿ èŠããããŸãã
2ã©ãŠã³ã倿ã®äŸã䜿çšããŠãRIJNDAEL埩å·åæé ã®2ã€ã®åçããŒãžã§ã³ã瀺ããŸããæåã®ãªãã·ã§ã³ã¯ãæå·å颿°ã®éåžžã®éã§ãã 2çªç®ã®ãªãã·ã§ã³ã¯ã3çµã®å€æ
InvShi ftRowsïŒïŒâInvSubBytesïŒïŒã§2åã
AddRoundKeyïŒïŒâInvMixColumnsïŒïŒã§1åæäœã®é åºã倿Žããããšã«ãããæåã®ãªãã·ã§ã³ããååŸãããŸãã
倿ã®çµæã¯ãå 
ã®æäœããæå®ãããã¢ã®æäœã®éã®ã·ãŒã±ã³ã¹ã«æž¡ããšãã«ä¿åãããŸãã
ãã®è¡šãããæå·åæé ãšåŸ©å·åæé ã®2çªç®ã®ããªã¢ã³ãã¯ãã©ãŠã³ãããŒïŒAddRoundKeyæäœãå®è¡ããå ŽåïŒã眮æããŒãã«ïŒSubBytesïŒïŒããã³InvSubBytesïŒïŒæäœãå®è¡ããå ŽåïŒãããã³å€æè¡åïŒMixColumnsïŒ ïŒããã³InvMixColumnsïŒïŒïŒã
衚2-RIJNDAELã®2ã©ãŠã³ãããŒãžã§ã³ã§ã®å€æã®ã·ãŒã±ã³ã¹
      åæ§ã®çµæã¯ãä»»æã®æ°ã®ã©ãŠã³ãã«åœãŠã¯ãŸããŸãã
æåŸã®ãµãããŒã䜿çšããŠæå·ããŒãå埩ãã
ã©ãŠã³ãAESæå·éµã®çæã 128ãããã®å ã®æå·éµããã©ãŠã³ãéµãçæããããã®éµã¹ã±ãžã¥ãŒã«ã¯ãååž°çãªæ©èœã§ãããã®æ©èœã«ã€ããŠã¯ãããã§è©³ãã説æããŸãããã®èµ·åã®åææ¡ä»¶ã¯ãããŒã®æåã®4ã€ã®4ãã€ãã¯ãŒãïŒ4Ã32ãããã¯ãŒãïŒãã€ãŸãW [0]ãW [1]ãW [2]ãW [3]ã§ãããã®128ãããã®æå·éµã埩å ããåé¡ã次ã®ããã«å®åŒåããŠ
ã¿ãŸããããã©ãŠã³ã10ã®ã©ãŠã³ãéµW [43]ãW [42]ãW [41]ãW [40]ã®ã³ã³ããŒãã³ããèŠã€ããŸãã
ãã®ã©ãŠã³ãéµã®ã¿ã§å®å šãªæå·éµãå埩ããå¿ èŠããããŸãã
æåã«æ°å€ããŒã¿ã§åé¡ã®è§£æ±ºçãæ€èšãããšäŸ¿å©ã§ããFIPS PUB 197ã«ç€ºãããŠããæ°å€ã®äŸãåºã«èããŠã¿ãŸããããã衚3ã«ã¯ãã©ãŠã³ã10ããŒãå«ãŸããŠããŸãã
ã©ãŠã³ãããŒãçæããæé ã¯ã以åã®ããã€ãã®ããŒå€ã«æ²¿ã£ãŠåæ¹ç§»åïŒããŒã®å±éïŒãæäŸããããã«æ§æãããŠããŸããäžé£ã®å€ã®ãããã€ã³ãããéæ¹åã«ç§»åããã«ã¯ããã®æ»ããã€ã³ãã§èšç®ããã»ã¹ã®åæããŒã¿ãååŸããå¿ èŠããããŸããæ»ãç¹ãæåŸã®10ã©ãŠã³ãã®æåŸã®ã¹ããããšãããã€ãŸãã10ã©ãŠã³ãããŒã®4ã€ã®4ãã€ãã¯ãŒãã4ã€ããã£ãŠããNk = Nb = 4
衚3-AESæå·ã®10ã©ãŠã³ãã®128ãããããŒ
      ããã«ãããŒå埩ã¢ã«ãŽãªãºã ã®çµæãšã¢ã¯ã·ã§ã³ã¯ãããã¯ïŒäžçš®ã®èŠãããïŒéµçæããŒãã«ã«äŒŒãŠããŸãã
衚4-第10ã©ãŠã³ãã®æ¢ç¥ã®éµããã®æå·éµã®å埩
      衚4ã®èª¬æãã©ãŠã³ãæ°ã¯ã10æ¥ãã1æ¥ãŸã§éé ã«ã«ãŠã³ããããŸããããŒãã«ã®3åïŒ3ã8ã9ïŒã«ã¯ãiè¡çªå·ã«å¿ããŠç°ãªãçŸåšã®çªå·ãæã€æ¢è£œã®ããŒãå«ãŸããŠããŸããæ®ãã®ã»ã«ã«ã¯ãäžéèšç®ã®ããã®è£å©ããŒã¿ãå«ãŸããŠããŸãããããã£ãŠãããŒW [i]ã®å€ã¯ã3ã€ã®åã§3å衚ã«è¡šç€ºãããŸãã
å1ããã³2ã¯ãã©ãŠã³ãã®çªå·rãš4ãã€ãã®ããŒã¯ãŒãã®åºæ°iã§ããæå·åäžã®æåŸã®ãã®ãããªåèªã®çªå·ã¯i = 43ã§ãã衚ã§ã¯ãå³åŽïŒ9ïŒåã®äžçªäžã®è¡ã«ãããæžã蟌ã¿ãŸããããŒãã«ã®è¡ã®çªå·iã¯æžå°ããŠãããå9ã§ã¯ãããŒW [i]ã®åèªã«å¯Ÿå¿ããŠããŸãã 8åç®ã«ã¯ãããŒã®åèªW [i-Nk]ãå«ãŸããæ°åãæžå°ããW [43-4] = W [39]ã3åç®ã«ã¯ããŒã¯ãŒãW [i-1] = W [42]ã以åã®W [i] = W [43]ã
8åç®ã®W [39]ã®æå³ã¯äžæã§ãããåŒã䜿çšããŠåæããŒã¿ãããããèŠã€ããŸã
      ãåŒã®èšç®ã§ã¯ãåŒã®ç·ãéžæããããã®æ¡ä»¶ãæåã«ãã§ãã¯ãããŸãã W [43]ã®å Žåãi = 43ã§ãããNkã¯å€43ãå®å šã«é€ç®ããŸãããã€ãŸããi = 43ã®å ŽåãW [i]ã®å€ã¯åŒã®äžçªäžã®è¡ã«ãã£ãŠæ±ºå®ãããŸããW[43] = W [42] W [39]ãããã§ãW [42]ããã³W [43]ã®æå®ã®å€ã«ã€ããŠãæåŸã®é W [39]ã¯å®çŸ©ãããŠããŸããã
次ã«ãW [39] = W [43] W [42] = b6630ca6-e13f0cc8ã
2é²ç®è¡mod2ã§ã¯ãå ç®ãšæžç®ã®æŒç®ã¯åçã§ãããããããŒã¯ãŒãW [39]ã®4ãã€ãããšã®ãããããšã®èšç®ã¯ã次ã®åœ¢åŒã«ãªããŸãïŒè¡š5ïŒã
衚5-ããŒã¯ãŒãWã®ãã€ãèšç®[39]ã
      ãããã£ãŠãããŒã¯ãŒãW [39] = 575c006eã®å€ãèŠã€ãããŸããããã®å€ã3çªç®ã®åãi = 40è¡ã9çªç®ã®åã«i = 39
è¡ã«è»¢éããŸããi= 40è¡ã®èšç®ã¯ãããŒãå±éãããšããšåãããã«å®è¡ãããŸãã
æªç¥ã®åèªW [i-Nk] = W [40 âNk] = W [i = 36]ã¯ãåã®ã±ãŒã¹ãšåæ§ã«ã40è¡ç®ã®W [36] = W [40] 7åã®å·®ã«ãã£ãŠæ±ºå®ããå¿ èŠã
ãããŸããæ¬¡ã«ã7-ã©ã€ã³ïŒïŒã®ç¬¬ïŒåã¯ã第ïŒåãšç¬¬ïŒåã®åèšïŒïŒ¯ïŒ²ïŒãšããŠåœ¢æãããã 5çªç®ã®åã®å€ã¯ãRotWord埪ç°ã·ããïŒ4çªç®ã®åïŒãšSubWordçœ®ææŒç®ïŒ5çªç®ã®åïŒã®åŸãW [39]ããååŸãããŸãã
ãããã®ã¢ã¯ã·ã§ã³ã®çµæã¯ã
RotWordïŒ575c006eïŒ= 5c006e57ã®åœ¢åŒã«ãªããŸãã SubWordïŒ5c006e57ïŒ= 4a639f5bã
6åç®ã®å€ã¯å®æ°ãšããŠååŸãããŸã
Rcon [j = i / Nk] = Rcon [j = 40/4] = 2 j-1 = 2 9ã
ãã®å®æ°ã¯ãã€ãã®16鲿°ã§è¡šããã
2 9 â100000000= X 9ãããã®ãããªãã€ããååšããªãGFïŒ2 8ïŒãã£ãŒã«ãïŒæ¢çŽå€é åŒã§å²ãç®ã®äœããæ±ããå¿ èŠããããããªãã¡
ããŒã¯ãŒãã«å®æ°ãå«ããåŸã
Rcon [j = 40 / Nk] = 36000000ïŒ6åç®ïŒã«ãªããŸãã 7åç®ã®å€ã¯ãïŒ7åïŒ=ïŒ5åïŒâïŒ6åïŒ=4a639f5bâ36000000= 7c639f5bã®åœ¢åŒã§ååŸãããŸãã
ãããŠæåŸã«ã
W [36] = W [40]ïŒè¡40ã®7åç®ïŒ= d014f9a8 7c639f5b = ac7766f3ã§ãã
顿šã«ãããããªãèšç®ã¯ãæçµçãªçµæã§ããæå·ããŒã«ã€ãªãããŸãã
wããã³RotWordãRconãSubWord颿°ã®è©³çްæ å ±ããããŸããããã¥ã¡ã³ãã®ããã«ãKr [j]-rçªç®ã®ã©ãŠã³ãããŒã®jçªç®ã®ãã€ããšw [i]ã§ç€ºãããšããŸãã
Kr =ïŒw [Nkâr]ãw [Nkâr + 1]ãã»ã»ã»ãw [Nkâr + Nk-1]ïŒãåŸãããŸãã
ç°ãªãiã®å Žå
ãiâ 0 mod NkãNkâ€i <NbâïŒNr +1ïŒãw [i] = w [i-Nk] xor w [i-1]ã«å¯ŸããŠæ¬¡ã®é¢ä¿ããããŸãã
for i = 0 mod Nkãw [i] = w [i-Nk] xor SubWordïŒRotWordïŒw [i â 1]ïŒïŒxorRcon [i / Nk]ã
ãããã£ãŠãiâ 0modNkã®å ŽåãNk0â€i<NbâïŒNr + 1ïŒâNkãw [i] = w [i + Nk] xor w [i + Nk-1]ããã³i = 0modNkãw [i] = w [i + Nk] xorSubWordïŒRotWordïŒw [i + Nk â 1]ïŒïŒxorRcon [i + Nk / Nk]
AES-256ã§ã¯ãiã4mod Nkã«çžåœãããšãã«ãµãã¯ãŒãæŒç®ã远å ããå¿ èŠããããŸãããããã£ãŠãæåŸã®ãµãããŒããåã®ããŒãæšå®ããæ®µéçã«æå·ããŒã®å€K0ãååŸããããšãå¯èœã§ãã
AES-128æå·ã®æ°åŠçåºç€ã¯éåžžã«å®å šã§ãããããã§è©³ãã説æããŸãã
ãã£ãŒã«ããããã³ã°turnãèŠãŠã¿ãŸããããGFïŒ2 8ïŒâGFïŒ2 8ïŒ; xâx 2 + xããã®ãããã®ç»å
1= ImïŒlïŒã®æ¬¡å ã¯dim GFïŒ2ïŒïŒ1ïŒ= 7ã§ãã
æ¹çšåŒx2 + x =Ξãããã§ãΞ1ã«ã¯2ã€ã®ç°ãªãè§£ïŒæ¹çšåŒã®æ ¹ïŒ1ã2ÑGFïŒ2 8ïŒããããŸãã
ããšã¿ã®å®çx1âx2= 1ã«ãããæ ¹ã®åèšã¯x 2ã§ã®æ¹çšåŒã®ä¿æ°ãšå察ã®ç¬Šå·ã§çãããæ ¹ã®ç©x1âx2=Îžã¯æ¹çšåŒã®èªç±é ã«çãããªããŸãïŒå察笊å·ã®ããæ¹çšåŒã§ã¯ïŒã
ãã€ããªãã£ãŒã«ãã®æŒç®ã§ã¯ãèŠçŽ mod2ã®å ç®ãšæžç®ã®æŒç®ã¯åçã§ããããšãç¥ãããŠããŸãã
      ãããã£ãŠãæ¹çšåŒã®æ ¹ã¯æ¯x2 =x1â1ã«ãã£ãŠé¢é£ä»ããããŸããããã¯ãæ¹çšåŒã®xã§ã®ä¿æ°ã1ã§ããããã§ããããã¯ãèŸæžåŒé åºãæã€ãã£ãŒã«ãèŠçŽ ã®10鲿°è¡šçŸã§ã¯ãé çªã«é 眮ããã1ã€ã ãç°ãªãããšãæå³ããŸãã
ãããã£ãŠãx = 0ããã³x = 1ã®å Žåãx = 2ããã³x = 3ã®å Žåãæ¬¡ã®ããã«ãªããŸãã
      åæžããããã¢ïŒ0ã1ïŒã§ã®ãããã³ã°ã®çµæïŒç»åïŒãïŒ2ã3ïŒå®å šã«äžèŽãã€ãŸã 2ã€ã®ã¿ã€ãã1ã€ã®ç»åã«å¯Ÿå¿ããŸãããã®çµæãã€ã¡ãŒãžã®ã«ãŒãã£ããªãã£ã¯ããã¬ã€ã¡ãŒãžã®ã«ãŒãã£ããªãã£ããã2åå°ãªãããã®èŠçŽ ã®æ¬¡å ã¯7ã§ãã
æ ¹ã®ãã¢ã®ç©ãã€ãŸãã2次æ¹çšåŒã®èªç±é ã¯ããã£ãŒã«ãã®èŠçŽ ã®ãã¯ãŒè¡šçŸïŒéã€ã¡ãŒãžïŒã䜿çšããŠå®çŸ©ãããšäŸ¿å©ã§ãããã®å Žåãææ°ã¯mod255ã§åèšãããŸããäœGFïŒ2 8ïŒã®ä¹æ³çŸ€ã®æ¬¡æ°ãæ³ãšããŠ