ð ãã£ãã£ãŒã»ãã«ãã³éµå ±æãã¢
æè²çšã®ãã¢ã§ããå°ããªæ°åã¯å®éã®ã»ãã¥ãªãã£ã«ã¯äœ¿çšã§ããŸããã
çŽ æ°pã»çæå gã»åæ¹ã®ç§å¯éµ(aã»b)ãå ¥åãããšããã£ãã£ãŒã»ãã«ãã³éµå ±æã¢ã«ãŽãªãºã ã«ãã£ãŠå ¬ééµãšå ±æç§å¯éµãã©ã®ããã«èšç®ããããã確èªã§ããæè²çšããŒã«ã§ããäž¡è ãç°ãªãèšç®çµè·¯ããåãå ±æç§å¯éµã«ãã©ãçãããšãå®éã«ç¢ºèªã§ããŸãã
äœ¿ãæ¹
- çŽ æ°pã»çæå gãå ¥åããŸãã
- AliceãšBobããããã®ç§å¯éµ(aã»b)ãå ¥åããŸãã
- å ¬ééµ(Aã»B)ãšãäž¡è ãç¬ç«ã«èšç®ããå ±æç§å¯éµãäžèŽããããšãèªåçã«è¡šç€ºãããŸãã
èšç®ã®ä»çµã¿
Diffie-HellmanïŒDHïŒéµå ±æã¯ãçèŽãããŠããéä¿¡è·¯ã§ãã2人ãåãç§å¯ã®å€ãå ±æã§ããæ¹æ³ã§ã1976幎ã«ãã£ãã£ãŒãšãã«ãã³ãçºè¡šããŸããããã®ããŒã«ã¯ãå°ããªæ°ã§ãã®ä»çµã¿ã確ããããã¢ã§ãã 1. 2人ã¯ãçŽ æ° p ãšãçæå g ãå ¬éã§æ±ºããŸãã 2. ã¢ãªã¹ã¯ç§å¯ã®æ° a ãéžã³ãA ïŒ g^a mod p ãçžæã«éããŸãã 3. ããã¯ç§å¯ã®æ° b ãéžã³ãB ïŒ g^b mod p ãçžæã«éããŸãã 4. ã¢ãªã¹ã¯ B^a mod pããã㯠A^b mod p ãèšç®ããŸãã ã©ã¡ãã g^(ab) mod p ã«ãªããããåãå€ïŒå ±æéµïŒãåŸãããŸããçèŽè 㯠pãgãAãB ãç¥ã£ãŠããŠãããããã a ã b ãæ±ããã颿£å¯Ÿæ°åé¡ããéåžžã«é£ãããããå ±æéµãèšç®ã§ããŸããã
èšç®äŸ
p ïŒ 23ãg ïŒ 5ãã¢ãªã¹ã®ç§å¯ a ïŒ 6ãããã®ç§å¯ b ïŒ 15 ã¢ãªã¹ã®å ¬éå€: A ïŒ 5â¶ mod 23 ïŒ 8 ããã®å ¬éå€: B ïŒ 5¹ⵠmod 23 ïŒ 19 ã¢ãªã¹ã®èšç®: 19â¶ mod 23 ïŒ 2 ããã®èšç®: 8¹ⵠmod 23 ïŒ 2 å ±æéµ: 2ïŒäžèŽïŒ
䜿çšäžã®æ³šæ
- ãã®ãã¢ã®æ°ã¯å°ãããããç·åœããã§ç°¡åã«ç§å¯ãèŠã€ãããŸããå®éã«ã¯2048ããã以äžã®çŽ æ°ããæ¥åæ²ç·ã䜿ã£ãECDHã䜿ãããŸãã
- DHéµå ±æã ãã§ã¯ãéä¿¡ã®çžæãæ¬ç©ãã©ããã確ãããããŸããïŒäžéè æ»æïŒãå®éã®TLSã§ã¯ãèšŒææžã«ããèªèšŒãšçµã¿åãããŠäœ¿ããŸãã
- ãã®ãã¢ã¯ p ãçŽ æ°ãã©ããã確èªããŸãããæ£ãã詊ãã«ã¯ãp ã«çŽ æ°ãå ¥åããŠãã ããã
ãããã質å
ãã£ãã£ãŒã»ãã«ãã³éµå ±æãšã¯äœã§ãã?
å®å šã§ãªãéä¿¡è·¯äžã§ãäºåã«ç§å¯ãå ±æããŠããªã2è ãå ±éã®ç§å¯éµã確ç«ã§ããã¢ã«ãŽãªãºã ã§ããTLSãªã©å€ãã®æå·éä¿¡ãããã³ã«ã®åºç€ãšãªã£ãŠããŸãã
ãªãäž¡è ãåãå ±æç§å¯éµãåŸãããã®ã§ãã?
ã¹ãä¹ã®ææ°æ³åã«ããã(g^a)^b mod p ãš (g^b)^a mod p ã¯æ°åŠçã«åžžã«çãããªãããã§ãã
ãã®å°ããªæ°åã®äŸã¯å®éã®ã»ãã¥ãªãã£ã«äœ¿ããŸãã?
ããããããã¯ä»çµã¿ãçè§£ããããã®æè²çšãã¢ã§ããå®éã®éçšã§ã¯éåžžã«å€§ããªçŽ æ°(2048ããã以äž)ã䜿ãããŸãã