Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
҉߸ٕज़Λࢧ͑Δૉ ϓϩάϥϚͷͨΊͷֶษڧձ@Ԭ 2015.09.04 @shoyan
Slide 2
Slide 2 text
4IPIFJ:BNBTBLJ !TIPZBO • ϓϩάϥϚʔ • 2ࣇͷ • GMOϖύϘ
Slide 3
Slide 3 text
࣍ • ҉߸ٕज़ʹ͍ͭͯ • ެ։伴҉߸ʹ͍ͭͯ • RSA҉߸ͷ҆શੑʹ͍ͭͯ • ҉߸ֶతͳʹ͍ͭͯ • ·ͱΊ
Slide 4
Slide 4 text
҉߸ٕज़ʹ͍ͭͯ
Slide 5
Slide 5 text
Πϯλʔωοτͷ • ใͷ౪ௌ • ใͷվ͟Μ • ͳΓ͢·͠
Slide 6
Slide 6 text
͜ΕΒͷΛղܾ͢ΔͨΊʹ ҉߸ٕज़͕ΘΕ͍ͯΔ
Slide 7
Slide 7 text
҉߸ٕज़ͭʹྨ͞ΕΔ
Slide 8
Slide 8 text
ใΛಡΉ͜ͱ͕Ͱ͖ͳ͍Α͏ʹ ͢ΔͨΊͷ҉߸ٕज़ • ౪ௌऀ͕ใΛݟͯɺ༰͕Θ͔Βͳ͍Α ͏ʹ͢Δ • SSL / TLS • SSH • IPsec
Slide 9
Slide 9 text
ใ͕վ͟Μ͞Ε͍ͯͳ͍͜ͱΛ֬ ೝ͢ΔͨΊͷ҉߸ٕज़ • ૹΒΕ͖ͯͨใ͕ਖ਼͍͠ใ͔Ͳ͏͔Λ νΣοΫ͢ΔʹɺϋογϡνΣοΫΛ༻͍ Δ • SHA-1 • MD5
Slide 10
Slide 10 text
ใΛૹͬͨ૬खΛ֬ೝ͢ΔͨΊͷ ҉߸ٕज़ • ใΛૹ৴ͨ͠૬ख͕ਖ਼͍͠૬ख͔Ͳ͏͔Λ νΣοΫ͢Δɻిࢠॺ໊ͱݺΕΔํ๏͕͋ Δ • ೝূہʹిࢠূ໌ॻΛൃߦͯ͠Β͏ • https௨৴Ͱར༻͞Ε͍ͯΔ
Slide 11
Slide 11 text
ެ։ݤ҉߸ʹ͍ͭͯ
Slide 12
Slide 12 text
ެ։ݤ҉߸ • ΠϯλʔωοτͰ࠷ΘΕ͍ͯΔ҉߸ٕज़ • ใͷ౪ௌΛ͙҉߸ٕज़ిࢠূ໌ॻͷੜ ʹΘΕ͍ͯΔ
Slide 13
Slide 13 text
ެ։ݤ҉߸ • ެ։伴Λͬͯ҉߸Խ͢Δ • ൿີ伴Λͬͯ෮߸Խ͢Δ • ड৴ऀ͋Β͔͡Ίެ։伴Λૹ৴ऀʹ͓ͯ͠ ͘ • ެ։伴Ͱ෮߸ԽͰ͖ͳ͍ͷͰ౪ௌ͞Εͯ ͳ͍
Slide 14
Slide 14 text
ެ։ݤ҉߸ํࣜͰ࠷ීٴ͍ͯ͠Δ 34" • ϚανϡʔηοπՊେֶͷRon Rivestɺ Adi ShamirɺLeonard Adlemanͷ3ਓ͕։ൃ • 3ਓͷ։ൃऀͷ಄จࣈ͔ΒRSA҉߸ํࣜͱ໋໊ ͞Εͨ
Slide 15
Slide 15 text
ެ։ݤͱൿີݤͷੜ • ൿີ伴ͱެ։伴ϖΞʹͳ͍ͬͯΔඞཁ͕͋ Γɺ͜ͷ2ͭͷΩʔͷ͜ͱΛΩʔϖΞͱݺͿ
Slide 16
Slide 16 text
ΩʔϖΞͷੜखॱ PͱQΛͬͯNΛܭࢉ͢Δ PͱQΛͬͯLΛܭࢉ͢Δ LΛͬͯEΛܭࢉ͢Δ EͱLΛͬͯDΛܭࢉ͢Δ
Slide 17
Slide 17 text
1ͱ2Λͬͯ/Λܭࢉ͢Δ • ʮPʯͱʮQʯͷ2ͭͷૉΛ४උ͢Δ • ͕খ͗͢͞Δͱղಡ͕༰қʹͳͬͯ͠·͏ • ͕େ͖͗͢Δͱॲཧʹ͕͔͔࣌ؒΔ • 1024 - 4096Ϗοτ(10ਐͰ300-1000ܻఔ) ͕ਪ͞Ε͍ͯΔ
Slide 18
Slide 18 text
ૉͱ • ૉͱ1ͱࣗࣗҎ֎ʹਖ਼ͷΛ࣋ͨͳ ͍ࣗવͰɺ1Ͱͳ͍ͷ͜ͱ ҎԼͷૉ • 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
Slide 19
Slide 19 text
Τϥτεςωεͷ;Δ͍ • ࢦఆ͞ΕͨxҎԼͷશͯͷૉΛൃݟ͢Δ ΞϧΰϦζϜ • ݹΪϦγϟͷՊֶऀɺΤϥτεςωε͕ ߟҊͨ͠ • ͍·ݱͰΘΕ͍ͯΔํ๏
Slide 20
Slide 20 text
/ /VNCFS ͷܭࢉࣜ N = P ✖ Q N = 13 ✖ 17 N= 221 • ʮPʯΛʮ13ʯɺʮQʯΛʮ17ʯͱͯ͠ʮNʯ Λܭࢉ͢Δ
Slide 21
Slide 21 text
1ͱ2Λͬͯ- -$.-FBTU $PNNPO.VMUJQMF Λܭࢉ͢Δ L = lcm(P - 1, Q - 1) • ʮP - 1ʯͱʮQ - 1ʯͷ࠷খެഒΛٻΊΔ • LͷܭࢉͰɺNͷܭࢉͰͬͨPͱQΛ͏
Slide 22
Slide 22 text
-ͷܭࢉ݁Ռ L = lcm(13 - 1, 17 - 1) L = 48 • 12(13 - 1) ͱ16(17 - 1) ͷ࠷খެഒʮ48ʯ
Slide 23
Slide 23 text
-Λͬͯ& &ODSZQUJPO Λ ܭࢉ͢Δ Eͷܭࢉࣜ 1 < E < L god(E, L) = 1 • ʮEʯʮ1ʯΑΓେ͖͘ɺLΑΓখ͍͞ • ʮEʯͱʮLʯͷ࠷େެ͕1ͱͳΔ(ޓ͍ʹૉ)
Slide 24
Slide 24 text
&ͷܭࢉ݁Ռ • 48ͱૉʹͳΔʮEʯΛٻΊΔ • ʮEʯͷෳಘΒΕΔͷͰɺ͜ͷத͔ΒૉΛ1ͭ બ͢Δ god(E, 48) = 1 E = 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47
Slide 25
Slide 25 text
&ͱ-Λͬͯ% %FDSZQUJPO Λ ܭࢉ͢Δ • ʮEʯͱʮDʯΛֻ͚߹Θͤɺʮmod LʯΛ ܭࢉ͕ͨ͠1ʹͳΔΑ͏ͳʮDʯͷΛٻΊ Δ E ✖ D mod L = 1 Dͷܭࢉࣜ
Slide 26
Slide 26 text
%ͷܭࢉ݁Ռ • ʮEʯͷΛʮ5ʯɺʮLʯͷΛʮ48ʯͱ͠ ͯܭࢉͨ͠߹ 5 ✖ D mod 48 = 1 D = 29
Slide 27
Slide 27 text
࡞͞ΕͨΩʔϖΞ ެ։伴ʮEʯͱʮNʯ E = 5 N = 221 ൿີ伴ʮDʯͱʮNʯ D = 29 N = 221
Slide 28
Slide 28 text
34"ͷ҉߸Խॲཧ • ฏจΛʮEʯ͠ɺͦͷ݁ՌͷΛʮNʯͰׂ Γɺ༨ΓͷΛٻΊΔɻ • ʮEʯͱʮNʯ͕ެ։伴 ҉߸จ = ฏจ mod N E
Slide 29
Slide 29 text
҉߸Խॲཧͷܭࢉ • ฏจͷ͕ʮ12ʯɺʮEʯͷ͕ʮ5ʯɺ ʮNʯͷ͕ʮ221ʯͷ߹ ҉߸จ = 12 mod 221 ҉߸จ = 207 5
Slide 30
Slide 30 text
34"ͷ෮߸Խॲཧ • ҉߸จʮDʯͯ͠ɺͦͷ݁ՌͷΛʮNʯͰ ׂΓɺ༨ΓͷΛٻΊΔɻ • ʮDʯͱʮNʯ͕ൿີ伴 ฏจ = ҉߸จ mod N D
Slide 31
Slide 31 text
෮߸Խॲཧͷܭࢉ • ҉߸จͷ͕ʮ207ʯɺʮDʯͷ͕ʮ29ʯɺ ʮNʯͷ͕ʮ221ʯͷ߹ ฏจ = 207 mod 221 ҉߸จ = 12 29
Slide 32
Slide 32 text
34"҉߸ͷ҆શੑʹ͍ͭͯ
Slide 33
Slide 33 text
҉߸จΛղಡ͢Δͧʂ • ҉߸จʮDʯͱʮNʯ͕Θ͔Ε෮߸Ͱ͖Δ • ʮNʯͱʮEʯ౪ௌ͢Δ͜ͱ͕Ͱ͖Δ • N = P ✖ Q • ΩʔϖΞ ʮPʯͱʮ Qʯ͔Β࡞͞Ε͍ͯ Δ
Slide 34
Slide 34 text
ʮ/ʯΛʮ1ʯͱʮ2ʯʹղ ͢Ε҉߸ΛղಡͰ͖Δʂ
Slide 35
Slide 35 text
ʮ/ʯΛʮ1ʯͱʮ2ʯʹղ ʮૉҼղʯ
Slide 36
Slide 36 text
࠷؆୯ͳૉҼղ 6 = 2 ✖ 3 • ָউʂ
Slide 37
Slide 37 text
ΛૉҼղ 221 = 13 ✖ 17 • ͜Ε͘Β͍ͳΒͰ͖Δʂ
Slide 38
Slide 38 text
70000000013390000000171
Slide 39
Slide 39 text
͜ͷ22ܻͷେ͖ͳ 100000000019 ✖ 700000000009 ͱ͍͏2ͭͷૉͷੵʹղͰ͖Δ
Slide 40
Slide 40 text
ࢴͱԖච͕͋ΕೋΛֻ͚ࢉͯ͠ɺͱͷ ʹ͢͜ͱ༰қʹߦ͑Δ ͚ΕͲɺେ͖ͳΛૉҼղ͢Δͷ ͍͠
Slide 41
Slide 41 text
ཱ͔ͪͩΔૉҼղͷน
Slide 42
Slide 42 text
ͷܭࢉͱ҉߸ • ૉҼղͷ͠͞ܭࢉػΛ༻͍ͯҰ ʹղܾ͠ͳ͍ • ҰඵؒʹԿઍԯճͷܭࢉ͕Ͱ͖ΔܭࢉػΛ ࣋ͬͯͯ͠·ͬͨ͘ࣃ͕ͨͨͳ͍
Slide 43
Slide 43 text
ޮతͳૉҼղͷํ๏ • ۃΊͯߴͳֶͷཧΛ༻͍ͯૉҼղ ΛٻΊΔํ๏͕ੈքதͷֶऀͷؒͰݚ ڀ͞Ε͍ͯΔ͕… • ͦ͏ͨ͠ཧΛ༻͍ͯܭࢉػͷϓϩάϥϜΛ ࡞ͬͯɺ͍͠Ͱ͋Δ͜ͱʹมΘΓ ͳ͍
Slide 44
Slide 44 text
34"҉߸ͷ҆શੑ • ૉҼղ͕ࠔͳ͜ͱʹΑΓ୲อ͞Ε͍ͯΔ • ͨ͘͞Μͷܭࢉػͱ్ํͳ͍݄Λ͔͚ͯ ͬͱD͕ٻ·ͬͨͱͯͦ͠ͷࠒʹ౪ௌ͠ Α͏ͱ͍ͯͨ͠ใͷՁ͕ͳ͘ͳ͍ͬͯΔ • ౪ௌ͠Α͏ͱ͍ͯ͠Δใʹରͯ࣌ؒ͠ͱίε τ͕ݟ߹Θͳ͍
Slide 45
Slide 45 text
҉߸ֶతͳʹ͍ͭͯ
Slide 46
Slide 46 text
େ͖ͳ • ެ։伴҉߸Ͱͱͯେ͖ͳΛ͏ • RSA҉߸Ͱ1000Ϗοτఔ • 10ਐʹ͢Δͱ300ܻҎ্ͷࣈ
Slide 47
Slide 47 text
ఱจֶతͳ • ཧֶऀͷEddingtonʢΤσΟϯτϯʣɺશ Ӊͷཅࢠͷਖ਼֬ͳ136✖2 = 1.575 ✖ 10 (Eddingtonఆ)ͩͱ͍ͯ͠Δ • ຊޠͰɺҰ൪େ͖͍ͷҐ͕ແྔେ (10 ) ͳͷͰ͜ͷΛಡΈ্͛Δ୯Ґଘࡏ ͠ͳ͍ 256 79 68
Slide 48
Slide 48 text
ਖ߷هʢ͡Μ͜͏͖ʣʹΑΔͷ ͑ํ
Slide 49
Slide 49 text
҉߸ֶతͳ • RSA҉߸Ͱ1000Ϗοτఔ • 1000Ϗοτ1.80 ✖ 10 • ্͑͛Δ͜ͱͰ͖ͳ͍͠ɺ૾͢ΒͰ͖ ͳ͍ 308
Slide 50
Slide 50 text
·ͱΊ
Slide 51
Slide 51 text
·ͱΊ • ҉߸ٕज़େ͖͘3ͭʹΘ͚ΒΕΔ • ใΛಡΉ͜ͱ͕Ͱ͖ͳ͍Α͏ʹ͢Δ • ใͷվ͟ΜΛνΣοΫ͢Δ • ใΛૹͬͨ૬खΛ֬ೝ͢ΔͨΊͷ҉߸ٕज़
Slide 52
Slide 52 text
·ͱΊ • ެ։伴҉߸ • ެ։伴ͱൿີ伴ͷ࡞ํ๏ • ҉߸Խͱ෮߸Խʹ͍ͭͯ
Slide 53
Slide 53 text
·ͱΊ • RSA҉߸ͷ҆શੑʹ͍ͭͯ • ૉҼղ͕ࠔͳ͜ͱʹΑͬͯ୲อ͞Εͯ ͍Δ • ҉߸ֶతͳ్ํͳ͘େ͖͍
Slide 54
Slide 54 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠