Vladimir
ivlad Ivanovã®æå·çè«ã®æãçã玹ä»ã«æ»ããŸãã ããã¯è¬çŸ©ã®åŸåã§ããæ°æ¥åã«å
¬éãã
æåã®éšåã§ãã 圌女ã«githubã§
ãã«ã¯ãšã¹ãã
éä¿¡ããããšã
ã§ããŸã ã
ã«ããã®äž-ãã³ãŒããšã¹ã©ã€ãã®äžéšã
-å®éã®ç¶æ³ã¯æ¬¡ã®ãšããã§ãã256ãããé·ã®ä¹±æ°ã®2ã€ã®ãµã³ãã«éã®è¡çªã¯ãçŽ40åã®ãµã³ãã«ã§Âœã®ç¢ºçã«éããŸãã ãããã£ãŠã64ãããã®ã©ã³ãã ãããã®é·ããæã€ãããã¯ã®ã¹ããªãŒã ãèãããšã2
32åã®ãã®ãããªãããã¯ã®äžã§ç¢ºçãÂœã®å Žåã2ã€ã®åäžã®ãããã¯ããããŸãã
瀺ãããç§åŠçäºå®ã«ã¯ã©ã®ãããªå¿çšäŸ¡å€ããããŸããïŒ æå·åé¢æ°ã®åºåã¯ä¹±æ°ãšèŠãªãããšãã§ããçæ³çãªæå·åé¢æ°ã¯ä¹±æ°ãšåºå¥ã§ããŸããã ãããã£ãŠãããšãã°DESã¢ã«ãŽãªãºã ãŸãã¯GOST-28147ã§æå·åããããããã¯ãèæ
®ã
ããããã®ãããã¯
ã®ãã¡2
32åã䜿çšãããšã2ã€ã®ãããã¯ãåãããã«æå·åããã確çãÂœã«ãªããŸãã
誰ãã«æ°ããŠã¿ãŸãããïŒ64ããããŸãã¯8ãã€ãã®2
32ãããã¯-äœåïŒ 32ã®ã¬ãã€ãïŒ çå®ã®ããã«èãããŸãã 次ã«ã32ã®ã¬ãã€ãã10ã®ã¬ãã€ãã«åå²ããŸãã 64ããããããã¯ã®æå·åã¢ã«ãŽãªãºã ã䜿çšããŠããå Žåãå°ãé
ããŠ32ç§åŸã«è¡çªãçºçããŸãã åãããã«æå·åããã2ã€ã®ãããã¯ã衚瀺ãããŸãã SHSã§èŠãããããã«ããããã®2ã€ã®ãããã¯ã¯åãå¹³æã§ããå¿
èŠã¯ãããŸããã ã¯ãªã¢ããã¹ãã¯ç°ãªãå ŽåããããŸãã
ããã¯ã©ãããæå³ã§ããïŒ ãããã¯C
iãããå ŽåãSHSã¢ãŒãã§æå·åããããã®ã¯äœã§ããïŒ

30ç§åŸã«è¡çªã芳枬ããããšããŸãã 2ã€ã®éšåã¯çããã§ãã æå·åã¯1察1ã®å¯Ÿå¿ã§ãã ãããã£ãŠãæå·åé¢æ°ã¯çãããããæå·åãçãããªããŸãã
C
j-1ãšC
i-1-éä¿¡ãã£ãã«ã§éä¿¡ãããã°ããã§ãããããããããèŠãŸããã
èšãæããã°ããããã¯ãµã€ãºãéåžžã«å°ããå Žåãå®å
šã«åŒ·åãªæå·åã䜿çšããŠããŠãããã°ãããããšã2ã€ã®ã©ã³ãã ãªãã¬ãŒã³ããã¹ãã®éããåãåãå§ããŸãã ãã®ããããã£ã¯å¿
ãããå®éã®æ»æã«å€æãããããã§ã¯ãããŸããããå®éã«ã¯ããŸãè¯ããããŸããã ãã®ãããSHSäœå¶ã¯å€ãã®ãã©ãã«ã®åå ã§ãã
ãããã®ãã©ãã«ã®æåŸã¯ãã»ãã®æ°é±éåã«å
¬éãããæ»æïŒèãåããªã-çŽç·šïŒã§ãã 極端ã§ããããã®ã·ãªãŒãºã®æåŸã§ã¯ãªããšæããŸãã ãã¹ãŠã¯ãç§ã話ããSHSã®äžå¹žãªæ§è³ªã®ããã§ãã
ãã ããSHSã¯äŸç¶ãšããŠåºãæ®åããŠããæå·åã¢ãŒãã§ãã ã©ãã§ã圌ã«äŒããŸãã
-æåŸã®10ããããååŸããå¿
èŠãããå Žåãé çªã«ã«ãŠã³ãããå¿
èŠããããŸã...-ã¯ãããã¡ãããSHSã«ã¯åé¡ããããŸãã1ã®ã¬ãã€ãã埩å·åããŠãã®äžã®æåŸã®10ãã€ããèªã¿åãã«ã¯ãæåã«ãã¹ãŠãçæããå¿
èŠããããŸãã
SHSã®ãã¹ãŠã®é£ããã«ãããããããããã¯äŸç¶ãšããŠæãäžè¬çãªæå·åã¢ãŒãã§ãã確ãã«TLSã§ãããIPsecã§ãã€ãŸããå®éã«äœ¿çšããããããã³ã«ã§ãããšæããŸãã
å®ç掻ã§ããã«å¯ŸåŠããã«ã¯ïŒ ãŸããTriple DESã¯ãã¯ãåºã䜿çšãããŠããŸããã ããã«ã128ãããã®ãããã¯ãµã€ãºã®AESãèŠããšãçŽ2
64ãããã¯åŸã«è¡çªç¢ºçÂœãçºçããããã¯å€§éã®ãã©ãã£ãã¯ã§ãã ãããã£ãŠãå®éã®ç掻ã§ã¯ãè¡çªæã«ã€ãŸããå¯èœæ§ã¯é«ããããŸããã æ¿åºæ©é¢ã§ã¯ãªãã䜿çšã匷å¶ãããŠããªãå Žåã¯ãTriple DESãšGOST-28147ã䜿çšããªãã§ãã ããã

æå·åã¢ãŒãã¯SHSã ãã§ã¯ãããŸããã ãŸã CFBããããŸãã 泚ææ·±ãèŠãã°ã圌ã¯SHSãšå€§å·®ãããŸããã åæåãã¯ãã«ãååŸãããããšãã¬ãŒã³ããã¹ããXORããæå·æãååŸããŸãã çµæã¯ããäžåºŠæå·åãããXorimã¯ãã¬ãŒã³ããã¹ãã§ãããã¹ãã®2çªç®ã®ãããã¯ãªã©ãååŸããŸãã
CFBã«ã€ããŠè©±ããã®ã¯ãªãã§ããïŒ SHSãšã¯ç°ãªããCFBããªã¢ã³ãã¯å·ã®æšæºä»æ§åãã«æšæºåãããŠããããã§ãã ããèŠããšããã®æå³ã§ã¯SHSã«åããã®ã¯ãããŸãããåãåé¡ããããŸãã ã¯ããŒãºãã·ã¹ãã ã§ã¯ã瀺ãããå®è£
ã«ééããå¯èœæ§ããããŸã;ååãšããŠãããã€ãã®åé¡ãçºçããŸãã
ãããã®ã¢ã«ãŽãªãºã ã«ã¯ä»ã«ã©ã®ãããªåé¡ããããŸããïŒ åŸç¶ã®åãããã¯ã埩å·åããã«ã¯ãæå·åããããã¬ãŒã³ããã¹ããå¿
èŠã§ãã å©çšå¯èœãªãã¬ãŒã³ããã¹ããããã¯ããªããšã次ã®æå·åãããã¯ãçæã§ããŸããã ãã®åé¡ãåãé€ãããã«ã次ã®ããã«æ©èœããOFBã¢ãŒããèãåºããŸããïŒåæåããããã¯ãã«ãäžããããããŒã§æå·åãããçµæã¯åã³ããŒã§æå·åãããŸã...å®éãåæåãã¯ãã«ãäœåºŠãååŸããå¿
èŠãªæ°ã®ãããã¯ãæå·åããŸãã

ãããã¯ãã¯ãªã¢ããã¹ãã§è¿œå ããŸãã ãªãããã䟿å©ãªã®ã§ããïŒ ããèŠããšãæå·åã®ãããã¯ã¢ãŒãã¯ã¹ããªãŒãã³ã°ã«å€ãããŸãã çŸåšãã©ãã£ãã¯ãã»ãšãã©ãªããããã»ããµã空ããŠããå Žåãäºåã«ããã€ãã®ãããã¯ãçæãããã©ãã£ãã¯ãæ¥å¢ããå¯èœæ§ãããå Žåã¯ãããã䜿çšã§ããŸãã ãšãŠãå¿«é©ã§ãã ãããŠã次ã®ãããã¯ãæå·åããã®ã«å¹³æã®ç¥èã¯å¿
èŠãããŸããã å¿
èŠã«å¿ããŠãæ°ã®ã¬ãã€ãã®ã¡ã¢ãªãå
¥åããŠä¿æã§ããŸãã
ã¹ããªãŒã æå·ã®ãã¹ãŠã®æ¬ ç¹ãããã«ãããŸãã

ãããã«ç°ãªãæå·åæ¹åŒã¯ãããããã«ãŠã³ã¿ãŒã¢ãŒããŸãã¯CTRã§ãã æ§é ã¯åçŽã§ããç¹å®ã®ä¹±æ°ãååŸããŠãããã¯ã®å
é ã«é
眮ããæåŸã«ã«ãŠã³ã¿ãŒã0ããå¿
èŠãªæ°ã ãé
眮ããŸãã ããšãã°ãæ倧64ãããã ååã«åå²ããŸããå·Šã®64ãããã¯ä¹±æ°ã«ãå³ã®64ãããã¯ã«ãŠã³ã¿ãŒã«äœ¿çšãããŸãã
ãã®ãããªåçªå·ãæå·åããçµæãã¯ãªã¢ããã¹ãã§åæžããŸãã
CTRã䟿å©ãªçç± ããã«ãããåã®124ãããã¯ãæå·åããã«125çªç®ã®ãããã¯ãæå·åã§ããŸããã€ãŸãã10ã®ã¬ãã€ãã®ãã¡ã€ã«ããæåŸã®16ãã€ãã埩å·åããåé¡ã解決ããŸãã ä»ã®ãã¹ãŠã®æå³ã§éåžžã«äŸ¿å©ã§ãã ãã©ãã£ãã¯ã®æ¥å¢ã«ã€ããŠè©±ãå Žåãæå·åã®ããã®ãããã¯ãäºåã«çæã§ããŸãã
ããã¯ã1ãããã¯ãããé·ãã¡ãã»ãŒãžã®å Žåã§ãã ãããããããã1ãããã¯ããçãå Žåã¯ã©ãã§ããããïŒ ã€ãŸãã16ãã€ãã§ã¯ãªã8ãã€ããæå·åããŸãã
-16ãŸã§çµäºããŸãã-ãããŠãã©ããã£ãŠïŒ æ«å°Ÿã«4ã€ã®ãŒãããããããã¯ã解èªãããšä»®å®ããŸãã ãããã®4ã€ã®ãŒãããããã¯ãããŠããããããã¯ã®æçã§ã¯ãªãããšãã©ã®ããã«ããŠç¥ãããšãã§ããŸããïŒ
-æå·åãããã¡ãã»ãŒãžãéä¿¡ããåã«ãé·ãããã€ãåäœã§éç¥ããŸãã-䟿å©ãªæ¹æ³ã§ããã転éåã«ãµã€ãºãåžžã«ææ¡ããŠãããšã¯éããªããšããç¹ã§äžäŸ¿ã§ãã ã¡ãŒã«ã®å Žå-ãåç¥ã§ãããããã§ãªãå Žåã¯ïŒ
転éåŸïŒ ããŠãããããããªãã¯ã§ããŸãã ãããŠãéããæ¢ãå Žæã¯ã©ãã«ãããŸããïŒ å¥ã®å Žæã§ä¿ç®¡ããå¿
èŠããããŸãã åé¡ã¯ã©ãã§ããïŒ
-æå·åã®ãã¬ãŒã ã¯ãŒã¯å
ã§ã¯ãããŸããã-æå·åã®äžéšãšããŠã¡ãã»ãŒãžã®é·ããéä¿¡ããªãå Žåããããé瀺ããŸãã ç§ãã¡ã¯åœŒå¥³ãé ãããšæããŸãã
ç§ã®å°çãã€ãŸãããã£ã³ã°ã®ããã·ã¹ãã ãžããããã ã¡ãã»ãŒãžã®æåŸã«ã©ãã ãã®é·ããæžãå¿
èŠãããããšããèãã¯ãããã»ã©æªãã¯ãããŸããã ãããã¯ãè£å®ããæ¹æ³ãèãåºãããšã ããéèŠã§ããããã«ãããããŒã¿ã®äžéšã§ã¯ãªããæåŸã®éšåãè¿œå ã§ããããšãæ確ã«ç¢ºèªã§ããŸãã
ããã£ã³ã°ã«ã¯ããã€ãã®ã¢ãŒãããããŸãããæ®å¿µãªãããæãäžè¬çãªãã®ã«ã¯ããã€ãã®äžå¿«ãªç¹æ§ããããŸãã
æåŸã®ãããã¯ã®æåŸã«ãå空ããã€ãã«ç©ºããã€ãæ°ãè¿œå ããŸãã æåŸã«3ãã€ããããå ŽåãããããååŸããŠæžã蟌ã¿ãŸãïŒ3ã3ã3ã
ã¡ãã»ãŒãžã®é·ããå¢çç·äžã«æ£ç¢ºã«åãŸãå Žåãå¥ã®ãããã¯ãè¿œå ããŸããç§ã®æèŠã§ã¯ã4ã€ã®ãŒããæžã蟌ã¿ãŸãã åºæ¬çã«ã§ã¯ãããŸããã ãã®ã³ãŒãã£ã³ã°æ¹æ³ã¯åžžã«äžæã§ãã éããŠæåŸã®ãã€ããèªèãããŒãã§ãªãå Žåãããã€ãã®ãã€ããã«ãŠã³ãããå¿
èŠãããããšãç解ããŸãã å®éãããã¯å·§åŠã«ã³ãŒãã£ã³ã°ãããã¡ãã»ãŒãžé·ã§ãã æåŸã®ãã€ãããŒãã®å Žåããããã¯å
šäœãç Žæ£ã§ããŸãã ãããŠãå®å
šãªãããã¯ããŒãã§çµããããšã¯æ±ºããŠãªãããšãç¥ã£ãŠããŸãïŒãããããå¥ã®å®å
šã«ãŒãã®ãããã¯ã§ãããè£ããŸãã
æåŸã®ãããã¯ããŠãããã§çµäºããå Žåãããã¯å®å
šã§ãããå¥ã®ãããã¯ã§ç¢ºå®ã«è£å®ããŸãã
ããã¯æ£åžžã«èŠããã§ãããã ç§ãã¡ã®åã«ããã£ã³ã°ã®åäœã¡ã«ããºã ããããŸãã
æ»æãå®è¡ãããšããŸãããã Oracleã·ã¹ãã ããããŸããããã¯æå·åãšåŒã°ããŠããŸãã ããã¯ãããŒã¿ããŒã¹ãäœæããOracleã®çš®é¡ã§ã¯ãããŸããã ããã¯ããã€ã¹ãããããªãããã¯ã¹ã§ããããã®å Žåã¯æå·åãŸãã¯åŸ©å·åã¢ã«ãŽãªãºã ã§ãã ã©ã®ããŒãå
éšã«ãããã¯ããããŸããããäœããã®çããåŸãããŸãã ãã ããæ¿å
¥ããè¡ãæ£ãããã³ãŒããããã®ãã誀ã£ãŠãã³ãŒããããã®ãã«ã€ããŠã圌ã¯ç¢ºãã«çãããããŸããã
ã ãããããã¯ã¹ã瀺ãããŠããŸãã åæã«ã1ã€ã®ã¡ãã»ãŒãžã衚瀺ããããã®ã¡ãã»ãŒãžãæ£åžžã«è§£èªãããããšã確èªã§ããŸãã å¥åŠãªããšã«ãå®éã®ã·ã¹ãã ã§ã¯ããã®ãããªã¡ãã»ãŒãžã¯ç°¡åã«åä¿¡ã§ããŸãã
次ã«ãã¡ãã»ãŒãžãåãåã£ãŠããã¯ã¹ã«éä¿¡ããæåŸã®1ãã€ããå€æŽããŸãã ããã¯ã¹ã¯2ã€ã®ç¶æ
ãè¿ãããšãã§ããŸãã èšèšãäœããã®åœ¢ã§ããŸã埩å·åãããããšããŸãã¯ããã£ã³ã°ãšã©ãŒã®ããã«åŸ©å·åãããªãã£ãããšãåŠç¿ããŸãã
ã©ã®ããã«æ©èœããŸããïŒ ããã°ã©ã ã³ãŒãã¯äœãã解èªããããšããããã解èªããæåŸã«ããã£ã³ã°ããã§ãã¯ããŸãã ããã£ã³ã°ãæšæºãæºãããŠããªãå Žåã¯ãã333ããŸãã¯äœããééã£ãŠããŸããæåŸã®ãããã¯å
šäœããŒãã§ã¯ãªãããããã£ã³ã°ãšã©ãŒããšè¡šç€ºãããŸãã ãã®ãããªã¹ããŒã ã«ãããæåŸã®ãããã¯ã®æåŸã®ãã€ããéåžžã«ç°¡åã«ãœãŒãã§ããŸãã ããšãã°ãSHSã®äžéãªã¢ãŒãã䜿çšããå Žåããã¬ãŒã³ããã¹ãã調ã¹ãŠãããã«äœãããããç解ã§ããŸãã
ãã¹ãŠãããªãç¡å®³ã«èŠããŸãã ãããå®éã«ã¯ãããã£ã³ã°ãªã©ã¯ã«æ»æã®åé¡ã«ãããããšãã°2008幎é ã®Windows 2003ã§ã®æªæã®ããã³ãŒãã®ãªã¢ãŒãå®è¡ãçºçããŸããã
ãªããããèµ·ãã£ãŠããã®ã§ããïŒ äœããæåŸ
ããŠããã¡ãã»ãŒãžãå®éã«ã¡ãã»ãŒãžãéä¿¡ããããšã確èªããã«ãäœãã解èªããããšããŠããŸãã
èªèšŒãžããããã å
ã»ã©ã話ãããå
容ã¯ãã¹ãŠãã¡ãã»ãŒãžã®æ©å¯æ§ãä¿èšŒããŸããã æå·åã䜿çšããŠãã¡ãã»ãŒãžãéä¿¡ããåä¿¡è
以å€ã®èª°ããããèªã¿åããªãããã«ããŸãã ããããåä¿¡è
ãã¡ãã»ãŒãžãåä¿¡ãããšãã«ãã¡ãã»ãŒãžãå®éã«éä¿¡è
ããæ¥ãããšãã©ã®ããã«ç¢ºèªã§ããŸããïŒ ãã®æ€èšŒã®ããã«ãã¡ãã»ãŒãžèªèšŒãããã³ã«ã®å¥åã®ã»ããããããŸãã è±èªã§ã¯ãããã¯MAC-ã¡ãã»ãŒãžèªèšŒã³ãŒããšåŒã°ããŸãã

åé¡ã¯äœã§ããïŒ ã¹ããªãŒã æå·åã¢ã«ãŽãªãºã ã«åé¡ããããŸãã äœãç¥ããªãã¡ãã»ãŒãžããããšããŸãã äœããã®æ¹æ³ã§çæãããã¬ã³ãããããŸãã æå·æãå€æããŸããã æå·ãå®å
šã«åŒ·åã§ããããã¹ãŠãããŸããã£ãŠãããšããŸãã ããããæ»æè
ãåãåã£ãã¡ãã»ãŒãžã®äžéšãåã蟌ãã§å€æŽãããšããŸãã ééããèŠã€ããŸããïŒ æããã«ããã§ã¯ãããŸããã
圌ããŒããããã1ã«å€æŽããå Žåã圌ã¯äºæ³å€ã«å¹³æãå€æŽããŸããã æå·æã§ãŠãããããŒãã«å€æŽããå
ã®ã¡ãã»ãŒãžã§ãã®å Žæã«ããŒãããã£ãå Žåãããã¯1ã«å€æŽãããŸãã æå·æãå°ããå転ããããšãå¹³æãå転ããŸãã ãŸãããã®åé¡ã¯åäžã®æå·åã¢ã«ãŽãªãºã ã§ã¯æ€åºã§ããŸããã
ãããã¯æå·ã«ã¯ããã«åé¡ããããããããèç©ããããããããã£ã³ã°ã®åé¡ã«ééããããšã¯æããã§ãããäžè¬ã«ãã®åé¡ã¯äŸç¶ãšããŠååšããŸãã æå·åã ãã§ã¯ã¡ãã»ãŒãžèªèšŒã¯æäŸãããŸããã å¥ã®ã¡ã«ããºã ãå¿
èŠã§ãã
ãã®ã¡ã«ããºã ã¯MASãšåŒã°ããŸãã 圌ã¯ã©ã®ããã«åããŠããŸããïŒ

ã¡ãã»ãŒãžãåãåããMACã¢ã«ãŽãªãºã ãšåŒã°ããç¹å¥ãªæ©èœãééãããŸãã å
¥åã§ã¯ãMACã¢ã«ãŽãªãºã ã¯ã¡ãã»ãŒãžã ãã§ãªããæå·åããŒãšã¯ç°ãªãããŒãåä¿¡ããŸãã
ã¡ãã»ãŒãžãäŒããããšãã¯ãã¢ã«ãŽãªãºã ã®çµæãããã«æ·»ä»ããŸãã åä¿¡è
ã¯ã¡ãã»ãŒãžãåãåããåãæäœãå®è¡ããŠãèšç®ããMACãšåä¿¡ããMACãæ¯èŒããŸãã ããããäžèŽããå Žåãããã»ã¹ã§ã¡ãã»ãŒãžãå€æŽãããªãã£ãããšãæå³ããŸãã 2ã€ã®MASãäžèŽããªãã£ãå Žåãéäžã§åé¡ãçºçããŸããã
MACé¢æ°ãšããŠäœ¿çšã§ãããã®ã¯äœã§ããïŒ ãŠãããã®æ°ã䜿çšã§ããŸããããã®ãããªã¹ããŒã ã¯ç°¡åã«åœé ãããããã§ãã
ããã·ã¥é¢æ°ã¯æãããªçãã§ãã ãããŠãŸãïŒ
é·ãéãSHS MASãé
åžãããŠããŸããã åæåãã¯ãã«ããªããä»ã®ãã¹ãŠãåãã§ããæ§é ãåããŸãã æå·åããã¹ããæå·åãããã§ãŒã³ããæå·åãããã§ãŒã³ããååŸããŸããæåŸã®ãããã¯ãååŸãããããã¹ãã«é¢ãããã¹ãŠã®æ
å ±ãèç©ãããŸãã ãšãŠãå¿«é©ã§ãã
ããããMACã®èŠçŽ ãšããŠäœããã®æå·åããã·ã¥ã䜿çšã§ããããšãäºå®ã§ãã ããã€ãã®æå·åããã·ã¥ããããŸããããã®äžã§æãäžè¬çãªãã®ã¯MD5ãSHAãã¡ããªãGOST 34.11ã§ã...æè¿ãSHA-3ã®ç«¶åãéãŸããKeccakã¢ã«ãŽãªãºã ãåå©ããŸããã
ããã·ã¥ã¯æå·åã¢ã«ãŽãªãºã ãããè€éã§ãããååãšããŠãããã·ã¥é¢æ°ãæ§ç¯ãããšããèãæ¹ã¯ãããã¯æå·åã¢ã«ãŽãªãºã ã«äŒŒãŠããŸãã ã€ãŸããããã€ãã®ããŒã¿ãããã¯ãååŸããé£ç¶ããŠãããªãåºæ¬çãªæäœã®ã»ãããæ°åé©çšããŸãã MD5ãèŠããšãã¢ãžã¥ã2ãšå·¡åã·ããã ããå ç®ãããŠããŸãã ååãšããŠããããã¯æå·åã¢ã«ãŽãªãºã ã®å Žåãããã¯ããã«å€ãé©çšããŸãã éäžã§1ãããã¯ãããé·ãé¢æ°ãååŸããå¿
èŠãããããã¹ããããå Žåã¯ãSHSã«å°ã䌌ãæ¹æ³ã䜿çšããŠããããç·šéããŸãã ãããã®ãã©ã°ã¡ã³ããèšç®é¢æ°ã«è¿œå ããŸãã
ããã·ã¥ã®èšç®çµæã¯æ°å€ã§ãã æ°å€ã®é·ãã¯åžžã«åºå®ãããŠããŸãã MD5ã®äžè¬çãªããã·ã¥åºåãµã€ãºã¯ã128ããããSHA-1-168ããããSHA-256-256ããããSHA-384-384ããããSHA-512-512ãããã§ãã
ããã·ã¥ã«ã€ããŠä»ã«äœãèšããŸããïŒ å
¥åã«å°ããªå€æŽãããå Žåãããã·ã¥ã¯åºåã«å€§ããªå€æŽãæäŸããå¿
èŠããããŸãã ãããã£ãŠãå
¥åã§å¹³æã®1ããããå€æŽããå Žåãçæ³çã«ã¯ããã·ã¥ïŒããã·ã¥é¢æ°ã®èšç®çµæïŒãæ£ç¢ºã«ååã«å€æŽãããã¯ãã§ãã
çŸåšãå®éã«ã¯ãSHA-2ãå
·äœçã«ã¯SHA-256ãŸãã¯SHA-384ã䜿çšããããšããå§ãããŸãïŒããŒãºã«å¿ããŠïŒã MD4ã¯é·ãéå£ããŠããŸãããMD5-ååãšããŠãå£ããŠããŸããæšæ¥ãMD5ã«å¯Ÿããæ°ããæ»æãå
¬éãããŸããã MD5ã®äœ¿çšã¯ãã¯ãå¿
èŠãªããšæ³å®ã§ããŸãã å®éã«ã¯ãåžžã«SHA-2ã䜿çšããŠãã ããã
èªèšŒã«å ããŠãããã·ã¥é¢æ°ã䜿çšãããä»ã®å Žæã¯ã©ãã§ããïŒ PBKDF2ãªã©ã®éµçæãããã³ã«ã ãã¡ã€ã«ãæå·åããå¿
èŠããããšããŸãã ãŠãŒã¶ãŒãååŸããååãšããŠããã¡ã€ã«ã®æå·åã«å¿
èŠãªãã¹ã¯ãŒããèŠæ±ããŸãã å®éã®ç¶æ³ã§ã¯ããŠãŒã¶ãŒã¯1ã5ã®ã·ãŒã±ã³ã¹ã®ãããªãã®ããã¹ã¯ãŒããšããŠå
¥åããäœæ¥ãå®äºããŸãã
äžæ¹ã§ã¯ãæå·åããŒãã12345ãã»ã©äºæž¬å¯èœã§ã¯ãªãããããååžãããåäžã«ããå¿
èŠããããŸãã äžæ¹ãæ»æè
ããã¹ãŠã®å¯èœãªãã¹ã¯ãŒããªãã·ã§ã³ãæŽçãå§ããå Žåãåãã«ãŒããã©ãŒã¹æ»æã¯å¯èœãªéãå€ãã®æéãèŠããã¯ãã§ãã 瀺ãããKDFé¢æ°ã®ã¯ã©ã¹ã¯ããããæ£ç¢ºã«ç®æããŠããŸãã
PBKDF2ã¯ãããŒçæé¢æ°ã¯ã©ã¹ã®ç¹å®ã®é¢æ°ã§ãã ãšãŠãã·ã³ãã«ã«é
眮ãããŠããŸãã 圌女ã¯äœäžåãããã·ã¥ã¢ã«ãŽãªãºã ã䜿çšããŠããã ãã§ãã ãããŠãå¶ç¶-å段éã§ãè¿œå ã®ããŒã¿ãæ··åãããããäºåã«èšç®ããã®ã¯ããªãå°é£ã§ããã
ããã·ã¥é¢æ°ã¯ããªãé·ãéå®è¡ãããŠãããããããã·ã¥é¢æ°ã®å®è¡ã«ã¯æ°ååãæéãããããŸãã ã€ãŸããäžè¬çãªãã¹ã¯ãŒããããã€ãè©Šãããšããæ»æè
ãã䟿å©ã«ä¿è·ãããŠããŸãã
å®éã«ã¯ãKDFé¢æ°ã䜿çšããå Žåã¯ãå埩ã®æ°ãéžæããããšããå§ãããŸããããã«ãããäžæ¹ã§ã¯ãã£ãã¡ãªãŠãŒã¶ãŒã«ã¯åãå
¥ããããä»æ¹ã§ã¯æ°çŸäžã®ããŒãååŸãããæ»æè
ã«ã¯åãå
¥ããããŸããã å®éã«ã¯ãKDFã§éåžžã«å€ãã®å埩ãéžæããŠãããšãã°1ç§éå®è¡ããŸãã æ»æè
ã«ãšã£ãŠã1ç§ã¯çµ¶å¯Ÿã«ãããã€ãªæéã§ããããŠãŒã¶ãŒã¯ãã¿ã³ãæŒããŠãã¹ã¯ãŒãã®ç¢ºèªãåŸ
ã€ããšã§ã1ç§åŸ
ã€ããšãã§ããŸãã
ãã¹ã¯ãŒãã®ä¿åã¯ãããã·ã¥ã®äœ¿çšãšåãã§ãã
UNIXã®è©±ã®ã¢ã³ãã³ã¯ç¢ºãã«ããã«ã€ããŠèªã£ãŠããŸãã
ãªã©ã¯ã«ã®ããã£ã³ã°æ»æãšåæ§ã®æ»æããããããã¡ãã»ãŒãžãçæãããšãã2ã€ã®ãªãã·ã§ã³ããããŸãã
MACã®ãããªæå·ããªããã£ãããããæå·åã®ããã®æå·ããªããã£ãããããŸãã ã¡ãã»ãŒãžãéä¿¡ããŠèªèšŒããå¿
èŠããããŸãã 2ã€ã®æ¹æ³ããããŸãã ã¡ãã»ãŒãžãæå·åããŠããããã®ã¢ãããMACãååŸããŠã¡ãã»ãŒãžã«æ·»ä»ã§ããŸãã å®å
šã«æ¬¡ã®ããã«ãªããŸãïŒEïŒTïŒ|| MACïŒEïŒTïŒïŒã
2çªç®ã®æ¹æ³ã¯æ¬¡ã®ãšããã§ããã¡ãã»ãŒãžãååŸããæå·åããŠãã¯ãªã¢ããã¹ãããMACãååŸããŸãã ãªãè¿œå ã®æäœãå¿
èŠãªã®ã§ããïŒ
å®éã1ã€ã¯æå·ååã®MACãšåŒã°ãã2ã€ç®ã¯MACåã®æå·åã§ãã
質å-ã©ã¡ããè¯ãã§ããïŒ åãã§ããïŒ OKãä»ã®ããŒãžã§ã³ã§ããïŒ
å¥ã®çŽ æŽãããæ¹æ³ããããŸã-圌ãã¯èšããå¹³æã«ã€ããŠã®ç¥èãæµåºããªãããã«MACãæå·åããŸãããã
å®éããã®æ¹æ³ã«ã¯åé¡ããããŸããããã䜿çšããŠã¡ãã»ãŒãžãæå·åãããšãããã£ã³ã°ãªã©ã¯ã«æ»æã«ããããããªã¹ã¯ãçºçããŸãã ããã£ã³ã°ãªã©ã¯ã«ã¯ãMACãæåŸã«ãããä»ã®ããŒã¿ãããããå¿é
ããŸããã æåã«ã¡ãã»ãŒãžã®åŸ©å·åãè©Šã¿ãããã¯ã¹ããããŸãã ããã£ã³ã°ãæ£ãããªãããã«åŸ©å·åãããªãå ŽåãMACããã¯ã¹ã§ããã§ãã¯ãããŸããããæ»æè
ãŸãã¯ããã®ãã®ã埩å·åã§ããŸããã§ããããšããã«å¿çããŸãã äžå¿«ãªã»ã©ã§ãã ãããã£ãŠããã®ãããªã·ã¹ãã ã®èšèšã«é¢ããäžè¬çãªæšå¥šäºé
ã次ã«ç€ºããŸããèªåãäœãããŠããã®ãããããªãå Žåã¯ããã®ãããªãã®ã䜿çšããããšããå§ãããŸããç¥ã£ãŠããå Žåã¯ãããïŒEïŒTïŒ|| MACïŒEïŒTïŒïŒã
ããã6ãæåãã¢ã³ãã³ãšç§ã¯1ã€ã®å Žæã«ã€ããŠè©±ãåãã2çªç®ã®ãã¶ã€ã³ã®äœ¿çšã䞻匵ããŸããã èªåãäœãããŠããã®ãç¥ã£ãŠãããšæã£ãã ãããŠããŸã ããã£ã³ã°ãªã©ã¯ã«ããªãã£ãã®ã§ãç§ã¯èªåãäœãããŠããããç¥ã£ãŠããããã§ãã
ã¡ãã»ãŒãžãæå·åããåä¿¡ããã¡ãã»ãŒãžãå®éã«éä¿¡è
ããæ¥ãããšã確èªã§ããŸãã : A B , .
, , , , , . - KDF- : , . .
? â . â . â . 100 , . , 100 , â .
, , , .
â .
?

k
1 k
2 , . k
1 , k
2 . , .
: k
1 k
2 , , , . , .
, , . , , - .
, , , , P = NP. . RSA, , . .
, , . - (DH). , , .
. P G. .
a . .

- , B . G P . , G P . .
? . , , , b. :
a = A
b . .
, , , . .
, , , , â 0.
, , â RSA.

. â 1024 . 2048, 4096 8192: , .
â .
(n-1)(p-1). â , .
, : , . - . .

â . , .
, d â . . , , . RSA.

, , . , k, , k â .


, - , - , n. . , , .
-, d.
de = 1 n, , M
ed mod n, , M
1 n. . M
1 = M.
RSA, ? , k
1 k
2 , , â . â , d â . , , , , , . : M
e , d, M
d , .
RSA, ?
, - . XOR , . , , . . â , , .
. , , . RSA , â . . : - , - , , -.
RSA 1024, 2048, 4096 â . AES, DES Salsa : 256, 128 64 DES.
, â RSA-2048 AES-256? RSA , , AES 2
256 , RSA â . , . 2
2048 .

, , - - . , . , , . , .
- , . , 2014 AES 78-80 . , RSA, 1300-1400 . keylength.com , . â 160-170 . SHA1 2014 , â 168 .
- , , .
. , , , .
. : . : . , .
. , email. , ?
â , 128 . ? , . .
, .
, , , .
.
. . , , - . , .
.
128- , . 128- , , . , . . .
? , . , . , , ⊠- ?
, . . ?
, , ⊠, . padding oracle, , , .
? , , , . , . , , â , .
, , . : , , . -, â . -, , .
? , , .
. , , S/MIME PGP. , , , .
, . , . , , . , . ? ?
: , DH , , . .
, DH, , , .
DH (. man-in-the-middle MITM â . .). , , , . , , - , , , , - . DH- â . , , .
ã©ããã , .
â , â âŠâ ? ?
â âŠ-ãªãã§ïŒ .
â , .â . , ?
â ⊠.â ? , DH : , , .
â DH- MITM?-ãããã , DH-? , DH- . MITM , ? ä¿¡ããããŸãã
, ? . , A . ããã ãã§ã .
? , . , . â , -, , , -, , .
: , , , . . DH.
, . , -. , , .
, . . - DH-, , ?
? , . . ? . - ? , . .
, - . . . : , , , , â . ããŸã䟿å©ã§ã¯ãããŸããã , , MD5 SHA, . , - . HMAC. , .
, , . , , . C
1 . , C
2 , , .
. , . DH, DH . , - KDF-, : . , . â : , . â KDF-.
, , , , .
, , . , . , . HTTPS , , .
. . , . . , . , . â .
, ?