ããµãã¥ãŒã»ããå·¥ç§å€§åŠã è¬çŸ©ã³ãŒã¹6.858ã ãã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®ã»ãã¥ãªãã£ãã ãã³ã©ã€ã»ãŒã«ããŽã£ããããžã§ãŒã ãºã»ãã±ã³ãºã 2014幎
ã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã»ãã¥ãªãã£ã¯ãå®å šãªã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®éçºãšå®è£ ã«é¢ããã³ãŒã¹ã§ãã è¬çŸ©ã§ã¯ãè åšã¢ãã«ãã»ãã¥ãªãã£ãå±éºã«ãããæ»æãããã³æè¿ã®ç§åŠçç 究ã«åºã¥ããã»ãã¥ãªãã£æè¡ãæ±ããŸãã ãããã¯ã«ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒOSïŒã»ãã¥ãªãã£ãæ©èœãæ å ±ãããŒç®¡çãèšèªã»ãã¥ãªãã£ããããã¯ãŒã¯ãããã³ã«ãããŒããŠã§ã¢ã»ãã¥ãªãã£ãããã³Webã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãå«ãŸããŸãã
è¬çŸ©1ïŒãã¯ããã«ïŒè åšã¢ãã«ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©2ïŒãããã«ãŒæ»æã®å¶åŸ¡ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©3ïŒããããã¡ãªãŒããŒãããŒïŒãšã¯ã¹ããã€ããšä¿è·ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©4ïŒãç¹æš©ã®å ±æã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©5ïŒãã»ãã¥ãªãã£ã·ã¹ãã ã¯ã©ãããæ¥ãã®ãïŒã ããŒã1 / ããŒã2
è¬çŸ©6ïŒãæ©äŒã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©7ïŒããã€ãã£ãã¯ã©ã€ã¢ã³ããµã³ãããã¯ã¹ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©8ïŒããããã¯ãŒã¯ã»ãã¥ãªãã£ã¢ãã«ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©9ïŒãWebã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©10ïŒãã·ã³ããªãã¯å®è¡ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©11ïŒãUr / Webããã°ã©ãã³ã°èšèªã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©12ïŒãããã¯ãŒã¯ã»ãã¥ãªãã£ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©13ïŒããããã¯ãŒã¯ãããã³ã«ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©14ïŒãSSLããã³HTTPSã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©15ïŒãå»çãœãããŠã§ã¢ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©16ïŒããµã€ããã£ãã«æ»æã ããŒã1 / ããŒã2 / ããŒã3
ã§ã¯ãå§ããŸãããã ããã§ãä»æ¥ã¯ãããããçš®é¡ã®ã·ã¹ãã ã«å ±éããå ±éã®åé¡ã§ãããµã€ããã£ãã«æ»æã«ã€ããŠã話ããŸãã åºãæå³ã§ã¯ããµã€ããã£ãã«ãä»ããæ»æã¯ãäžéšã®æ å ±ãã·ã¹ãã ã«é¢ããæ å ±ãæããã«ã§ãããšã¯æããªãç¶æ³ã§çºçããŸãã
éåžžããŠãŒã¶ãŒãšãµãŒããŒéã®æ¥ç¶ã確ç«ããããã€ãã®ã³ã³ããŒãã³ãããããŸãã åæã«ã2人ã®ãµãã¹ã¯ã©ã€ããæ¥ç¶ãããã®ã¯ã€ã€ãééãããã¹ãŠã®ããšããŠãŒã¶ãŒãšãµãŒããŒãäºãã«äº€æãããã¹ãŠã®ãããã«ã€ããŠç¥ã£ãŠãããšæããŸãããããã¯å®å šã§ãã ãã ããäžéšã®æ å ±ããŠãŒã¶ãŒãŸãã¯ãµãŒããŒã«ãã£ãŠãŸã å ¬éãããŠããããšããããããŸãã ä»æ¥ã®è¬çŸ©ã®è³æã§èšåãããŠããäŸã¯ããŠãŒã¶ãŒãšãµãŒããŒéã®ã¡ãã»ãŒãžã®åæã«ãã£ãŠããããã®ãµãã¹ã¯ã©ã€ããŒéã®ãããã¹ããªãŒã ãèŠãŠããã ãã§ãç¥ããªãè¿œå æ å ±ãæããã«ãªãç¶æ³ã«ã€ããŠèª¬æããŠããŸãã
å®éãå¿é ããããšã®ã§ããã¯ããã«åºãã¯ã©ã¹ã®ãµã€ããã£ãã«ããããŸãã 40幎代ã«äººã ã¯ããã¬ã¿ã€ãã§æåãå ¥åãå§ãããšããã¬ã¿ã€ããšã¬ã¯ãããã¯ã¹ãç¡ç·åšæ³¢æŸå°ãéå§ãå§ããããšãçºèŠãããšãã«ããµã€ããã£ãã«ã®å€èŠ³ã«ã€ããŠåŠã³ãŸããã ãã®å Žåãåã«ãªã·ãã¹ã³ãŒããé£ã«é 眮ãããã¬ã¿ã€ããªãã¬ãŒã¿ãå°å·ããã·ã³ãã«ã«å¿ããŠç¡ç·ä¿¡å·ã®åšæ³¢æ°ãã©ã®ããã«å€åãããã芳å¯ã§ããŸãã ãããã£ãŠãRFæŸå°ã¯ãå¿é ãããµã€ããã£ãã«ã®å žåçãªäŸã§ãã
é»åæ¶è²»ãªã©ã人ã ãæ°ã¥ãä»ã®å€ãã®äŸããããŸãã ã³ã³ãã¥ãŒã¿ãŒã¯ãèšç®å¯Ÿè±¡ã«å¿ããŠç°ãªãéã®ãšãã«ã®ãŒã䜿çšãããããå¿é ããããšãã§ãããã1ã€ã®ãµã€ããã£ãã«ã§ãã
ãµã€ããã£ãã«ã®äŸãšããŠã¯é³ãããããã®ããæ å ±æŒãããèµ·ããåŸãŸãã äŸãã°ã人ã ã¯ããªã³ã¿ãŒãèããŠã圌ããåºãé³ã«åºã¥ããŠãã©ã®ãã£ã©ã¯ã¿ãŒãå°å·ããããç¥ãããšãã§ããŸãã ããã¯ãå°å·äžã«éåžžã«è¿·æãªé³ãåºãããããããªãã¯ã¹ããªã³ã¿ãŒã«ãšã£ãŠç¹ã«ç°¡åã§ãã
äžè¬çã«ãããã¯èããããšã§ãã ã±ãã³ã¯æææ¥ã®è¬çŸ©ã§ã圌ã®ç 究ã§æ±ã£ãŠããèå³æ·±ããµã€ããã£ã³ãã«ã«ã€ããŠãèšåããŸããã ããããDavid BramleyãšDan Boneãç 究ããç¹å®ã®ãµã€ããã£ãã«ãèŠãŠãããŸãã çŽ10幎åã«å ¬éããã圌ãã®ç 究ã§ã¯ãæµå¯Ÿçãªã¯ã©ã€ã¢ã³ãã®ããŸããŸãªå ¥åãã±ããã«å¯ŸããããŸããŸãªå¿çã®ã¿ã€ãã³ã°ã枬å®ããããšã§ãApache WebãµãŒããŒã®æå·åããŒãæœåºã§ãããšæžããŠããŸãã ãã®ç¹å®ã®ã±ãŒã¹ã§ã¯ã圌ãã¯æå·åããŒããæ¢ããŸãããã å®éããµã€ããã£ãã«ãä»ããæ»æã®å€ãã¯ãæå·åããŒãæšçãšããŠããŸããããã¯ããã®ãããªãã£ãã«ãä»ããŠå€§éã®ããŒã¿ãååŸããããšãéåžžã«é£ããããã§ãã ãŸããæå·åããŒã¯ãå°æ°ã®ããããåºåãããç¶æ³ã®1ã€ã§ããã€ãŸããæ»æäžã«ãæ»æè ã¯çŽ200ã256ãããã®æ å ±ãæœåºã§ããŸãã ãããããããã®200ãããã®ã¿ã«åºã¥ããŠããã®WebãµãŒããŒã®æå·åããŒã解èªããããšãã§ããŸãã
瀟äŒä¿éçªå·ã§ãã£ã±ãã®ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããããšãããšããããã倧éã®æ å ±ããããŒãžãããå¿ èŠããããŸãã ãã®ãããã»ãšãã©ã®ãµã€ããã£ãã«æ»æã§ã¯ãæå·åããŒããã¹ã¯ãŒããªã©ã®å°ããªç§å¯ãååŸããããšã«éç¹ã眮ãããŠããŸãã ããããäžè¬çã«ãããã¯ä»ã®å€ãã®ç¶æ³ã«é©çšãããŸãã
è¬çŸ©è³æã§ã¯ããã1ã€ã®ã¯ãŒã«ãªããšã説æãããŠããŸããããã¯ãã¹ãŠããããã¯ãŒã¯ãä»ããŠè¡ãããšãã§ããŸãã ããããããããã®æéæ å ±ã®ããããªéããææ¡ããããã«ãå€ãã®æ³šææ·±ãäœæ¥ãè¡ããªããã°ãªããªãããšã«æ°ä»ããã§ãããã ãµãŒããŒã«éä¿¡ããåãªã¯ãšã¹ãã¯ãå¥ã®ãªã¯ãšã¹ããš1ã2ãã€ã¯ãç§ç°ãªããŸãããããã¯éåžžã«çãæéã§ãã ãããã£ãŠããããã¯ãŒã¯ã§ã¯ãã®ãããªäžæçãªéãããã£ããã§ããããµãŒããŒãèŠæ±ããã1ã2ãã€ã¯ãç§é·ããªã¯ãšã¹ããåŠçãããšå€æã§ããªããããéåžžã«æ³šæããå¿ èŠããããŸãã
ãã®çµæãæçšãªæ å ±ããã€ãºã¬ãã«ããåé¢ããå¿ èŠãããããããã®ãããªæ»æãéåžžã«ããã€ãºã®å€ãããããã¯ãŒã¯ã§çµç¹åã§ãããã©ããã¯æ確ã§ã¯ãããŸããã§ããã ãããã®äººãã¡ã¯ããããã¯ãŒã¯ã®äžæ¹ã®ç«¯ã«ãµãŒããŒããããããäžæ¹ã®ç«¯ã«ã¯ã©ã€ã¢ã³ããããã€ãŒãµããããããã¯ãŒã¯ãä»ããŠãããå®éã«å®è¡ã§ããããšã瀺ããæåã®äººãã¡ã§ãã 圌ãã¯ããããã®éããéšåçã«å¹³ååããããšã«ãã£ãŠãéšåçã«ä»ã®ããªãã¯ã«ãã£ãŠæž¬å®ããããšãå®éã«å¯èœã§ããããšã蚌æããŸããã
ãã®è¬çŸ©ã®æ®ãã®èšç»ã¯æ¬¡ã®ãšããã§ããæåã«ããããã®äººã䜿çšããRSAå ¬éããŒæå·åã¢ã«ãŽãªãºã ã®è©³çŽ°ã«é£ã³èŸŒã¿ãŸãã ã»ãã¥ãªãã£ã®èŠ³ç¹ããã¯è©äŸ¡ããŸãããããµã€ããã£ãã«ã䜿çšããããã«éèŠãªã®ã¯ã¢ã«ãŽãªãºã ã®å®è£ ã§ãããããå®è£ æ¹æ³ã確èªããŸãã
BramleyãšBoneã¯ãç¹å®ã®åŠçãããé«éãŸãã¯äœéã«ãªã£ãã¿ã€ãã³ã°ãç解ããããã«ãããŸããŸãªå®è£ ã®è©³çŽ°ã粟æ»ããŸããã ãã®ããããŸãRSAæå·ã·ã¹ãã ãã©ã®ããã«å®è£ ãããŠãããã調ã¹ãå¿ èŠããããŸãã次ã«ãRSAã§å©çšå¯èœãªããããã¹ãŠã®æ§é ãæ»æããæ¹æ³ã«æ»ããŸãã
ãŸããRSAãé«ã¬ãã«ã§ã¬ãã¥ãŒããããšããå§ããŸãããã RSAã¯ãããªãåºã䜿çšãããŠããå ¬ééµæå·ã·ã¹ãã ã§ãã æ°é±éåã«èšŒææžã«ã€ããŠè©±ãããšãã«ããããã®äººãã¡ã«ã€ããŠèšåããŸããã 次ã«ãå®éã«ã©ã®ããã«æ©èœããããèŠãŠãããŸãã
ååãšããŠãããªããå¿é ããå¿ èŠããã3ã€ã®ãã®ããããŸã-ããã¯ããŒã®çæãæå·åã埩å·åã§ãã RSAã§ã¯ãããŒãäœæããæ¹æ³ã¯2ã€ã®å€§ããªçŽ æ°ãéžæããããšã§ããããããpãšqã§è¡šããŸãã 圌ãã®èšäºã§ã¯ããããã®äººã¯ãããã512ãããã®ãµã€ãºã§pãšqã«ã€ããŠæžããŠããŸãã ãããã®çŽ æ°ã®ç©ã¯1000ãããæŽæ°ã§ãããããããã¯éåžž1024ãããRSAãšåŒã°ããŸãã æè¿ã§ã¯ããããã¯ã©ãã¯ããããšã¯æ»æè ã«ãšã£ãŠæ¯èŒçç°¡åãªäœæ¥ã§ãããããããããRSAããŒãµã€ãºã«ã¯é©ããŠããŸããã ãããã£ãŠã10幎åã«1000ãããã劥åœãªéã«æããå Žåãä»æ¥ã·ã¹ãã ãæ§ç¯ãããšãã«ã¯ã2000ã3000ããŸãã¯4000ãããã®RSAããŒãéžæããå¿ èŠããããŸãã ãããã£ãŠãRSAããŒãµã€ãºã¯ããããã®çŽ æ°ã®ãµã€ãºãæå³ããŸãã
次ã«ã䟿å®äžããããã®çŽ æ°n = pqã®ç©ã§ããæ°nã«ã€ããŠèª¬æããŸãããã®æ°ã¯ã¢ãžã¥ãŒã«ãšåŒã°ããŸãã ããŒããŸãã¯ããŒã®å°ãªããšãäžéšãäœæããæ¹æ³ãããã£ãã®ã§ãã¡ãã»ãŒãžãæå·åããã³åŸ©å·åããæ¹æ³ãç解ããå¿ èŠããããŸãã
ãããŠãã¡ãã»ãŒãžãæå·åããã³åŸ©å·åããæ¹æ³ã¯ãnãæ³ãšããæ°å€ã®çŽ¯ä¹ã«åºã¥ããŠããŸãã å°ãå¥åŠã«æããŸãããããã«ããããŸãã ãããã£ãŠãã¡ãã»ãŒãžmãæå·åããå Žåã¯ãmod nã«ãã£ãŠm eã«å€æããå¿ èŠããããŸãã eã®å€ã¯åºŠã§ãããããã«ãããéžæããæ¹æ³ãèŠã€ããŸãã ããã¯ãã¡ãã»ãŒãžãæå·åããæ¹æ³ã§ãã
ã€ãŸãããã®ã¡ãã»ãŒãžãæŽæ°ãšããŠåãåãã环ä¹ããŸãã ããã«ããããæ©èœããçç±ãããããŸãããä»ã®ãšããããã®æå·åããããã¹ãŠã®ã¡ãã»ãŒãžãæåCã§ç€ºããŸãã
次ã«ãããã埩å·åããããã«ãå¥ã®èå³æ·±ãææ°dãèŠã€ããå¿ èŠããããŸããããã«ãããæå·åãããã¡ãã»ãŒãžCãååŸããnãæ³ãšããdä¹ãããã®çµæã埩å·åãããã¡ãã»ãŒãžmãéæ³ã®ããã«ååŸã§ããŸãã
ãããã£ãŠãäžè¬çãªååã¯ã1ã€ã®ææ°ã䜿çšããŠã¡ãã»ãŒãžãæå·åããå¥ã®ææ°ã䜿çšããŠã¡ãã»ãŒãžã埩å·åããããšã§ãã
å šäœãšããŠãã©ããããããå ã®ã¡ãã»ãŒãžãè¿ããããã®2ã€ã®éæ³ã®æ°åãã©ã®ããã«æãä»ãã®ããç解ããã®ã¯å°ãé£ããããã§ãã ãããããã®æ°nãæ³ãšãã环ä¹ãŸãã¯ä¹ç®ãã©ã®ããã«æ©èœããããèŠããšãç解ã§ããŸãã
Xãåããnã®é¢æ°Ïã«çãã环ä¹ã«äžãããšãããã¯nãæ³ãšãã1ã«ãªããŸãã
XÏïŒnïŒ = 1 mod n
nã®ç¹å®ã®éžæã«å¯Ÿãããã®phié¢æ°ã¯éåžžã«åçŽã§ãÏ=ïŒp-1ïŒïŒq-1ïŒãšçãããªããŸãã
ãã®å Žåãç§å¯ææ°dã«ãã1ãã倧ããÏïŒnïŒããå°ããéææ°eã®ç©ã¯æ¬¡ã®ããã«ãªããŸãã
ed =ÉÏïŒnïŒ+1ãããã§Éã¯å®æ°ã§ãã
ãããã£ãŠãeãŸãã¯eãèæ ®ããŠdãèšç®ããããã«ÏïŒnïŒã®å€ãç¥ã£ãŠããå ŽåãããªãåçŽãªã¢ã«ãŽãªãºã ããããããã¡ãã»ãŒãžãæ£ãã埩å·åããããšãã§ããŸãã
察象è ïŒ 1ã¢ãžã¥ãnã¯1ãšçãããããŸãããïŒ
ææïŒã¯ããç§ã¯ããã§ééããç¯ããŸãããå¹³çã¯æ¬¡ã®ããã«ãªããŸãã
XÏïŒnïŒ mod n = 1 mod nãã€ãŸãnãæ³ãšããnããã®é¢æ°ãfiãã®æ¬¡æ°ã®Xã®å€ã¯ãnãæ³ãšãããŠããã£ã«çããã
ããã¯åºæ¬çã«ãRSAã®å Žåãæå·åå€ãšãªãeå€ãéžæããå¿ èŠãããããšãæå³ããŸãã 次ã«ãeããåŒde = 1 modÏïŒnïŒã«åºã¥ããŠdãçæããŸãããããã£ãŠãd = 1 / e modÏïŒnïŒã§ãã
ãã®èšç®ã«å¹æçã«äœ¿çšã§ãããŠãŒã¯ãªããã¢ã«ãŽãªãºã ãããã€ããããŸãã ãã ãããããè¡ãã«ã¯ããã®ÏïŒnïŒãç¥ã£ãŠããå¿ èŠããããŸããããã«ã¯ãå æ°å解ãã€ãŸããæ°å€nãå æ°pãšqã«å解ããå¿ èŠããããŸãã
ãããã£ãŠãRSAã¯å ¬ééµããã¢ã§ããã·ã¹ãã ã§ããæå·åææ°eãšæ°ånãããã³ãã¢dãšnã¯ç§å¯ã«ãããç§å¯éµã§ãã ãããã£ãŠãã ãã§ãã¡ãã»ãŒãžãæå·åããããã«ããçšåºŠãŸã§äžããããšãã§ããŸãã ãããããã®dã®å€ãç¥ã£ãŠããã®ã¯ããªãã ããªã®ã§ãã¡ãã»ãŒãžã解èªã§ããŸãã ãããŠãPãšQã®ç©ã«çãããããã®å åPãšQããŸãã¯Nã®å æ°å解ãããããŸã§ãÏ=ïŒp-1ïŒïŒq-1ïŒãäœã§ãããããããŸããã
çµæãšããŠããã®dã®å€ãèšç®ããã®ã¯ããªãé£ããäœæ¥ã§ãã ããããé«ã¬ãã«ã®RSAã¢ã«ãŽãªãºã ã®ãã¹ãŠã§ãã
RSAã®ååã«ç²Ÿéããã®ã§ã2ã€ã®ããšã«ã€ããŠè©³ãã説æããŸãã ãããæ£ãã䜿çšããæ¹æ³ã«ã¯ããªãã¯ããããããã䜿çšãããšãã«èœãšãç©ŽãçºçããŸãã ãã®ã¹ãä¹ã®ã³ãŒããå®è£ ããå¹ççã«å®è¡ããã«ã¯å€ãã®æ¹æ³ããããŸãã ä¹ç®åœä»€ãå®è¡ããããšã¯ã§ããªã1000ãããæŽæ°ãæ±ã£ãŠãããããããã¯ããªãç°åžžãªã¿ã¹ã¯ã§ãã ãããã®æäœãå®äºããã«ã¯ãããããé·ãæéãããããŸãã
ãããã£ãŠãæåã«èšåãããã®ã¯ãRSAã®ããŸããŸãªèœãšãç©Žã§ãã ãããã®1ã€ã¯ä¹æ³æ§ã§ãã 2ã€ã®ã¡ãã»ãŒãžm 0ããã³m 1ããããšããŸãã ããããæå·åããm 0ãm 0 e mod nã«ãm1ãm 1 e mod nã«å€ããŸãã å¯èœæ§ã®ããåé¡ããŸãã¯å¿ ãããåé¡ã§ã¯ãããŸããããRSAã䜿çšãã人ã«ãšã£ãŠäžæå¿«ãªé©ãã¯ããããã®2æ¡ãä¹ç®ããã ããªã®ã§ãm 0㧠m 0ã®è£œåãæå·åããããšã¯éåžžã«ç°¡åã§ãïŒm 0 e mod n * m 1 e mod nã
ããããæãããšãnãæ³ãšããç©ïŒm 0 m 1 ïŒ eã«ãªããŸãã ããã¯ãå€m 0 m 1ã«å¯ŸããRSAã®åçŽåããã䜿çšã«ããæ£ããæå·åã§ãã ãã®æå·åãããã¡ãã»ãŒãžã¯ç°¡åã«äœæã§ããŸããã解èªããããšã¯ã§ããªããããããã¯çŸæç¹ã§ã¯å€§ããªåé¡ã§ã¯ãããŸããã ãã ããäžè¬çãªã·ã¹ãã ã§ã¯ç¹å®ã®ã¡ãã»ãŒãžã埩å·åã§ããå¯èœæ§ããããŸãã ã€ãŸããäœæããã¡ãã»ãŒãžã埩å·åã§ããå Žåã¯ãããããéãã¹ã«åŸã£ãŠããããã®ã¡ãã»ãŒãžãm 0ããã³m 1ã§ãããã©ããã確èªã§ããŸãã
ãã®äºå®ã¯ãRSAã䜿çšããå€ãã®ãããã³ã«ã«åœ±é¿ãããããç¡èŠããªãã§ãã ããã è¬çŸ©ã®æåŸã«é²è¡ã¡ã«ããºã ãšããŠäœ¿çšããããããã£ã1ã€ãããŸãã
2çªç®ã®èœãšãç©Žãã€ãŸãRSAããããã£ã«æ³šæããå¿ èŠãããã®ã¯ã決å®è«ãã€ãŸã決å®æ§ã§ãã åè¿°ã®åºæ¬çãªå®è£ ã§ã¯ãã¡ãã»ãŒãžmãåãåã£ãŠæå·åããm e mod nã«å€æãããšãããã¯ã¡ãã»ãŒãžã®æ±ºå®è«çãªé¢æ°ã«ãªããŸãã ãããã£ãŠãå床æå·åãããšããŸã£ããåãæå·åãåŸãããŸãã
ããã¯æãŸããããããã£ã§ã¯ãããŸãããRSAã䜿çšããŠæå·åãããã¡ãã»ãŒãžãéä¿¡ããŠããããšãç¥ãããããäœã§ããããç¥ãããå Žåãããã解èªããã®ãé£ããå¯èœæ§ãããããã§ãã ããããç§ã¯ããŸããŸãªããšãè©Šãããšãã§ããŸãããã®çµæããã®ã¡ãã»ãŒãžãéä¿¡ããŠããããšãããããŸãã
次ã«ããããæå·åããåãæå·åãããããã¹ããååŸãããã©ããã確èªããŸãã ãããããªããããªããæå·åãããŠããããšãããããŸãã ã¡ãã»ãŒãžãæå·åããããã«å¿ èŠãªã®ã¯ããããªãã¯ã«ã¢ã¯ã»ã¹å¯èœãªå ¬éããŒãã€ãŸãæ°åã®ãã¢ïŒnãeïŒã ãã ããã§ãã
ãããã£ãŠãããã¯ããã»ã©çŽ æŽãããããšã§ã¯ãããŸãããRSAã䜿çšãããšãã¯ããã®ããããã£ã«æ³šæããå¿ èŠããããŸãã ãããã£ãŠããã®çš®ã®ããªããã£ããçŽæ¥äœ¿çšããããšã¯å°é£ã§ãã
å®éã«ã¯ãRSAã§åæ§ã®åé¡ãåé¿ããããã«ãæå·åã®åã«ç¹å®ã®æ¹æ³ã§ã¡ãã»ãŒãžããšã³ã³ãŒãããŸãã ã¡ãã»ãŒãžãçŽæ¥çŽ¯ä¹ããã®ã§ã¯ãªããäœããã®ã¡ãã»ãŒãžé¢æ°ãåããã¢ãžã¥ãnã§çŽ¯ä¹ããŸãã
ïŒfïŒmïŒïŒ e mod nã
çŸåšäžè¬çã«äœ¿çšãããŠãããã®é¢æ°fã¯ãOAEP-è¿œå ã䌎ãæé©ãªé察称æå·åãšåŒã°ããŸãã ããã¯ã2ã€ã®èå³æ·±ãããããã£ã§ãšã³ã³ãŒãããããã®ã§ãã
ãŸããã©ã³ãã æ§ããããããŸãã fïŒmïŒã¯ãæå·åãã1000ãããã®ã¡ãã»ãŒãžãçæãããšèããããšãã§ããŸãã ãã®ã¡ãã»ãŒãžã®äžéšã¯ããã®é·æ¹åœ¢ã®äžå€®ã«ããã¡ãã»ãŒãžmã§ãã ãã¡ããã解èªãããšãã«ãããåãæ»ãããšãã§ããŸãã ãã®ãããããããããšã2ã€ãããŸããå³åŽã«ã¯ãrã®å€ã§ããã©ã³ãã æ§ãé 眮ããŸãã ã¡ãã»ãŒãžãæ°åæå·åãããšãæ¯åç°ãªãçµæãåŸããããããæå·åã決å®ãããªããªããŸãã
ãã®ä¹ç®ç¹æ§ãšä»ã®ã¿ã€ãã®åé¡ãå æããããã«ãå·ŠåŽã«ã¿ã€ã1 0 1 0 1 0ã®ã·ãŒã±ã³ã¹ã§ããããããããããããŸããããè¯ãã·ãŒã±ã³ã¹ãéžæã§ããŸããã倧ãŸãã«èšã£ãŠãããã¯ããçš®ã®äºæž¬å¯èœãªã·ãŒã±ã³ã¹ã§ããããã«æ¿å ¥ããã¡ãã»ãŒãžã埩å·åãããã³ã«ããã®ã·ãŒã±ã³ã¹ããŸã ããããšã確èªããŸãã ä¹æ³æ§ã¯ãããã®ãããããããç Žå£ãã誰ããããªãã®ã¡ãã»ãŒãžãå°ç¡ãã«ããŠç Žæ£ããããšã¯æããã§ãã ãããã®ããããæ®ã£ãŠããå Žåãã ããããªãã®ã¡ãã»ãŒãžãåœé ããŠããªãããšã蚌æãã誰ãã«ãã£ãŠæ£ããæå·åãããŠããã®ã§ãããªãã¯ãããåãåãããšãã§ããŸãã
察象è ïŒæ»æè ããããå€ã®å€§ãããç¥ã£ãŠããå Žåãã·ãŒã±ã³ã¹ã®äžçªäžã«1ãèšå®ããŠãããã®å€ãæããããšãã§ããŸããïŒ
ææïŒã¯ããå€åã ãã®ã©ã³ãã æ§rã¯ç¶ããããããã¯å°ãè€éã§ãã ãããã£ãŠããã®OAEPã®å ·äœçãªèšèšã¯ãç§ãæãããã®ãããå°ãè€éã§ãã ããããããã¯ãããåäœã®ä¹ç®ã§ã¯ãªãæŽæ°ã§ãããã©ã³ãã æ§ãããã«åºãããšæ³åããŠãã ãããããã«ããããããçºçããªãOAEPã¹ããŒã ãäœæã§ããŸãã
ãã®RSAæ°åŠãçŽæ¥äœ¿çšããªãã§ãã ãããå®éã«ã¯ãããããã¹ãŠãæ£ããæ¹æ³ã§å®è£ ããç¹å®ã®ã©ã€ãã©ãªã䜿çšããæå·åããã³åŸ©å·åãã©ã¡ãŒã¿ãšããŠäœ¿çšããå¿ èŠããããŸãã
ãã ããæ¢åã®RSAå®è£ ãç Žå£ãŸãã¯æ»æããæ¹æ³ãå®éã«ææ¡ããããšããŠãããããäžèšã®è©³çŽ°ã¯éèŠã§ãã
ç¹ã«ãè¬çŸ©ã®èšäºã§èª¬æããæ»æã¯ããµãŒããŒãã¡ãã»ãŒãžãåä¿¡ãããšãã«ãã®ããã£ã³ã°ã¢ããªã³ããã¹ãããããšããŠãããšããäºå®ãæªçšããŸãã ãããããµãŒããŒã埩å·åããã®ã«ãããæéãèæ ®ããæ¹æ³ã§ãã æ éã«äœæãããã¡ãã»ãŒãžãéä¿¡ããŸãããå®éã®ã¡ãã»ãŒãžmãšãã®æå·åããã¯äœæãããŸããã å®å šã«æå·åãããæŽæ°å€ãäœæããŸãã
ãµãŒããŒã¯ããã埩å·åããããšããäœããã®äžåçãååŸããŸããããã«ãããããããããã¯ãã¢ãªã³ã°ãããªãå¯èœæ§ãé«ããªãããµãŒããŒã¯çŽã¡ã«ãã®ã¡ãã»ãŒãžãæåŠããŸãã ããã¯ãŸãã«å¿ èŠãªãã®ã§ãããšããã®ã¯ããã®æ¹æ³ã§ãµãŒããŒã¯ãRSAã解èªãããã®ã¡ãã»ãŒãžãåä¿¡ããã¢ããªã³ã確èªããŠæåŠãããŸã§ã«ã圌ããã®æç¹ã«å°éããã®ã«ããã£ãæéãæ£ç¢ºã«äŒããããã§ãã ããã¯ãè¬çŸ©è³æã§èª¬æãããŠãããã®æ»æã§æž¬å®ãããã®ã§ãã ãã®ã¡ãã»ãŒãžã«ã¯ã埩å·åæéã決å®ã§ããç¹å®ã®äžå¯æ¬ ãªèŠçŽ ãå«ãŸããŠããŸãã
ããã§ã¯ãRSAã®å®è£ æ¹æ³ã«ã€ããŠèª¬æããŸãããã , , , . , , , 1000 . e .
, . , 1000 . 1000- , 1000 1000 n, . RSA , .
4 , . , . , CRT. . . , , , , [ = a 1 ] mod p [ = a 2 ] mod q, q â , .
, [ = 1 ] mod pq. 1 , . 1 , mod pq a 1 a 2 mod p q.
, ? , , n, p q.
, mod pq, mod p mod q. , , mod pq. , ? , , ?
: , ?
: , , , . , p q, n 1000 , p q 500 , . , , â , , . â . , , . 1000 512 , 2 . , 4 . [ = a 1 ] mod p [ = a 2 ] mod q , 4 . 2 RSA , .
, .
, Sliding windows, « ». . , .
, - , 500 , mod p mod q, d. c d? , c d . d , 500, . , , . , « ». .
c 2x , : (c x ) 2 :
c 2x = (c x ) 2
c 2x , 2 , cx, . , , c 2x+1 :
c 2x+1 = (c x ) 2 x
.
, , , . , , , . , .
« », ? , . , , « » c 2x+1 = (c x ) 2 x .
, , , â , c 2x+1 c 2x , c. , , . , .
, :
1
3
7
...
31
. , , , .
, 32x+y , 5 , 32- , y .
32 . , , , , c . «» .
29:00
MITã³ãŒã¹ãã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®ã»ãã¥ãªãã£ãã è¬çŸ©16ïŒããµã€ããã£ãã«æ»æããããŒã2
ã³ãŒã¹ã®å®å šçã¯ãã¡ãããå ¥æã§ããŸã ã
ãæ»åšããã ãããããšãããããŸãã ç§ãã¡ã®èšäºã奜ãã§ããïŒ ããèå³æ·±ãè³æãèŠããã§ããïŒ æ³šæããããå人ã«æšèŠããããšã§ãç§ãã¡ããµããŒãããŸããç§ãã¡ãããªãã®ããã«çºæãããšã³ããªãŒã¬ãã«ã®ãµãŒããŒã®ãŠããŒã¯ãªã¢ããã°ã®HabrãŠãŒã¶ãŒã®ããã«30ïŒ ã®å²åŒïŒ VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒã«ã€ããŠã®çå®20ãã«ãŸãã¯ãµãŒããŒãåå²ããæ¹æ³ïŒ ïŒãªãã·ã§ã³ã¯RAID1ããã³RAID10ãæ倧24ã³ã¢ãæ倧40GB DDR4ã§å©çšå¯èœã§ãïŒã
VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒ10GB DDR4 240GB SSD 1GbpsãŸã§ 6ãæã®æéãæ¯æãå Žåã¯12æãŸã§ç¡æ㧠ã ããã§æ³šæã§ããŸã ã
Dell R730xdã¯2åå®ãã§ããïŒãªã©ã³ããšç±³åœã§249ãã«ããIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVã2å°æã£ãŠããã ãã§ãïŒã€ã³ãã©ã¹ãã©ã¯ãã£ãã«ã®æ§ç¯æ¹æ³ã«ã€ããŠèªãã§ãã ããã ã¯ã©ã¹Rã¯ã1ç±³ãã«ã§9,000ãŠãŒãã®Dell R730xd E5-2650 v4ãµãŒããŒã䜿çšããŠããŸããïŒ