Slide 1

Slide 1 text

҉߸ͷ࿩ ·Δͨ

Slide 2

Slide 2 text

ࣗݾ঺հ https://github.com/mochisuna • ؙా୓࿨ʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • ओʹαʔόʔαΠυΤϯδχΞ • झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞੒ʢΧούʣɺϓϨθϯ • ࣗಈԽେ޷͖ɻख࡞ۀ͖Β͍ • githubɿ @mochisuna

Slide 3

Slide 3 text

ٕज़໘

Slide 4

Slide 4 text

ઌ೔ͷ࿩Ͱ͕͢

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ͱͯ΋໘ന͔ͬͨͰ͢

Slide 7

Slide 7 text

αϚʔ΢Υʔζͱ͍͑͹

Slide 8

Slide 8 text

81438162575788886766923577992357799761466612018296721242362536256184293 57069352457338978305971235639587050589890751497599290026879543541629595 92635382962929999373527393893015272028273730979383739039731352452762289 78273826989822154612213136061942130302141133310346191812161211316661312 01213147641231316644363838839939653563739348463763839331543288789762383 98563738365433423534644888463839384643839396476573748938457345564245126 34844668758248726826859992922649392276265849264516138123892991049225475 36852165445266876331694975626214662621647516621654962162336214611564862 15622262254897462256624662062148316547254564902302454621245456232245162 31242456512434518164012651251812424321651845424612432464915548961562265 40431451494816121614652254654546432451891591646484645464242115159121215 12512462155666156124173641635467148361593823787985896185613764728526928 789895656425257381651935613893981991374836873823541837167837898784e7654 34576345637173823138479813768765238613741311236937264827654778277325473 89892815242254251552253613131331511313143646519194546121649460060457379 04647674872778721829547482997923937452456353215212517628516424172154621 85215216524128156631535133635135624373234146484945914624245144655937545 24315155236472864625463258642165376526875214636421645296605158216631616 52986915561678675254116565125134664256670262166165145634667412563523120 00214153442514256547456176523156416857441156514555136515571345216351461 34235531457514555135253466527524543412352416451251485413551355251511561 71956616756817356813613736137253824162482752642783523816583271845624165 54631567452166375415676516659156451553145235234613252553232516852127126 45162157232131522136725132143364221234162322654656432322163726142321427 82631674245423512542541436542154615244235542594181494224535650656526246 39606225635206461462565251661258214063232062267640333141325426372633225 33482372736524321232563425383425332436237028563074332531002322305236045 23214566316478571435215145571630232235224232436247022602702856079625164 32235723674724715613526215523165518237142314221623715637261634153471

Slide 9

Slide 9 text

҉߸จͰ͢Ͷ

Slide 10

Slide 10 text

҉߸จͱ͍͏ͷ͸ جຊతͳߟ͑ͱͯ͠

Slide 11

Slide 11 text

௨৴จΛݟͯ΋ ಛผͳ஌ࣝͳ͠Ͱ͸ ಺༰ͷղಡ͕Ͱ͖ͳ͍ ͱ͍͏΋ͷʹͳΓ·͢

Slide 12

Slide 12 text

ʮୈࡾऀʹղ͚ͳ͍ʯ͔Β զʑͷ৘ใՊֶͷੈքͰ ޿͘࠾༻͞Ε͍ͯΔΜͰ͢

Slide 13

Slide 13 text

ͳΜ͔݈ೋ͘Μ͸ࣗྗͰ ղ͍ͯ·͕ͨ͠ɾɾɾ

Slide 14

Slide 14 text

࿩͍ͨ͜͠ͱ ʮͲΜͳ҉߸͕͋Δͷ͔ʯ ʮͲͷ͙Β͍ղ͘ͷ͕େม͔ʯ

Slide 15

Slide 15 text

҉߸ֶࣗମ͸ͱͯ΋ෳࡶ ࠓճ͸βϧʹϐοΫΞοϓ ʢ؆୯ԽͷͨΊ΢ι͕ೖΔʣ

Slide 16

Slide 16 text

ࠓճͷ಺༰ • ҉߸ͷྺ࢙ • ҉߸Խʹ͍ͭͯ • ҉߸ͷछྨ • ࢓૊ΈʢΞϧΰϦζϜʣ • Ͳͷ͙Β͍ղ͘ͷ͕େม͔ʢݎ࿚͞ʣ

Slide 17

Slide 17 text

҉߸ͷྺ࢙

Slide 18

Slide 18 text

҉߸Խࣗମ͸لݩલ͔Β͋Δ • ҉߸ = cryptographyʢӳޠʣ • kryptosʢӅΕΔʣ + graphosʢॻ͘ʣ

Slide 19

Slide 19 text

҉߸Խࣗମ͸لݩલ͔Β͋Δ • ҉߸ = cryptographyʢӳޠʣ • kryptosʢӅΕΔʣ + graphosʢॻ͘ʣ • ༨ஊ • ݪࢠͷΫϦϓτϯʢKrʣͷޠݯ΋kryptos • ΞϧΰϯʹӅΕͯݟ͔ͭΒͳ͔ͬͨͨΊ

Slide 20

Slide 20 text

ݹ୅ͷ҉߸ͨͪ εΩϡλϨʔ҉߸ εύϧλ ʢلݩલ5ੈلʣ γʔβʔ҉߸ ϩʔϚఇࠃ ʢلݩલ1ੈلʣ

Slide 21

Slide 21 text

ݹ୅ͷ҉߸ͨͪ εΩϡλϨʔ҉߸ εύϧλ ʢلݩલ5ੈلʣ γʔβʔ҉߸ ϩʔϚఇࠃ ʢلݩલ1ੈلʣ ઓ૪ͷͨΊʹٻΊΒΕͨ

Slide 22

Slide 22 text

࣮ࡍ͍ͭ͜Β͸ղಡ͕೉͘͠ͳ͍ ҰݟͲͪΒ΋؆୯ʹݟ͑Δ ๮Ͱר͖औΔ͜ͱ͕ࣗ໌ ҙຯͷ͋Δจઅ͕ݟ͔ͭΔ αϯϓϧ͕े෼ଟ͚Ε͹ ҙຯͷ͋Δจઅ͔Βݟ͔ͭΔ

Slide 23

Slide 23 text

ҰݟͲͪΒ΋؆୯ʹݟ͑Δ ݱ୅҉߸Ͱ΋ར༻͞ΕΔ෼ྨͷجຊܗ సஔࣜ҉߸ ׵ࣈࣜ҉߸ ม׵ଇʹै͍ จࣈͷॱ൪Λฒͼସ͑Δ ม׵ଇʹै͍ จࣈͷׂΓ౰ͯΛͣΒ͢ సஔࣜ҉߸

Slide 24

Slide 24 text

҉߸Խʹ͍ͭͯ

Slide 25

Slide 25 text

ݹయత҉߸ͷࠜຊతͳ໰୊ • ҉߸Խͷํࣜ ≒ ҉߸Խ伴 • ҉߸ํ͕ࣜόϨΔ → ೋ౓ͱ࢖͑ͳ͘ͳΔ ҉߸จ ҉߸ํࣜΛղಡ ӬٱʹղಡՄೳ

Slide 26

Slide 26 text

ݹయత҉߸ˠݱ୅త҉߸ έϧΫϗϑεͷݪཧ • 1883೥: Auguste Kerckhoffs • ҉߸ํࣜࣗମ͸ൿີͰ͋Δ͜ͱ͕ඞཁͳ͍ ʢఢͷखʹམͪͯ΋ෆ౎߹͕ͳ͍ʣ

Slide 27

Slide 27 text

ݹయత҉߸ˠݱ୅త҉߸ Claude Elwood Shannon • ʮγϟϊϯʹϋʔτϨʔͷఆཧʯͷ࡞ऀ • ϫϯλΠϜύουͷ࿦จͰݴٴ • ʮఢ͸γεςϜΛ஌͍ͬͯΔʯ

Slide 28

Slide 28 text

܉༻҉߸ʹؔ͢Δ6ͭͷϧʔϧ ͔ͳΓࡶʹҎԼ 1. ҉߸ํࣜ͸ݱ࣮తʹٯม׵ෆೳ 2. ҉߸ํࣜࣗମ͸ൿີͰ͋Δ͜ͱ͕ඞཁͳ͍ 3. 伴͸จॻΛݟͳ͘ͱ΋఻ୡɾهԱͰ͖มߋՄೳ 4. ిؾ௨৴ʹదͨ͠΋ͷͰ͋Δ͜ͱ 5. ܞଳՄೳͰӡൖ΍ૢ࡞͕গਓ਺ͰՄೳ 6. ࢖͍΍͘͢ख͕͔͔ؒΒͣɺଟ਺ͷنଇΛकΔ ඞཁ΋ͳ͍

Slide 29

Slide 29 text

܉༻҉߸ʹؔ͢Δ6ͭͷϧʔϧ ͔ͳΓࡶʹҎԼ 1. ҉߸ํࣜ͸ݱ࣮తʹٯม׵ෆೳ 2. ҉߸ํࣜࣗମ͸ൿີͰ͋Δ͜ͱ͕ඞཁͳ͍ 3. 伴͸จॻΛݟͳ͘ͱ΋఻ୡɾهԱͰ͖มߋՄೳ 4. ిؾ௨৴ʹదͨ͠΋ͷͰ͋Δ͜ͱ 5. ܞଳՄೳͰӡൖ΍ૢ࡞͕গਓ਺ͰՄೳ 6. ࢖͍΍͘͢ख͕͔͔ؒΒͣɺଟ਺ͷنଇΛकΔ ඞཁ΋ͳ͍ ͜ͷϧʔϧʹ͍ͭͯ ߟ͑ΒΕ͍ͯΔͷ͕ݱ୅త҉߸

Slide 30

Slide 30 text

҉߸Խʹ࢖͏ʮ伴ʯ͸ൿີ ҉߸ํࣜࣗମ͸ެ։ ҉߸Խํࣜ ར༻ऀ ҉߸จ ҉߸Խʹ༻͍Δ伴 ฏจ ެ։৘ใ ൿಗ৘ใ

Slide 31

Slide 31 text

• ݹయతʮ҉߸จ͔Β҉߸ํࣜΛਪଌ͢Δ೉͠͞ʯ ҉߸ͷ೉͠͞ ҉߸จ ҉߸ํࣜΛղಡ ͕͜͜؍఺

Slide 32

Slide 32 text

• ݱ୅తʮฏจ΍҉߸伴Λਪଌ͢Δ೉͠͞ʯ ҉߸ͷ೉͠͞ ҉߸จ ҉߸ํࣜ͸ط஌ 伴΋ฏจ΋ ղੳͰ͖ͳ͍ ҉߸Խʹ࢖ΘΕͨ ʮ伴ʯ͸ൿಗ

Slide 33

Slide 33 text

҉߸Խͷछྨ

Slide 34

Slide 34 text

େ͖̎͘छྨ ڞ௨伴҉߸ ެ։伴҉߸ ಉҰ ҉߸Խɾ෮߸Ͱ ಉ͡伴Λ࢖͏ ҉߸Խɾ෮߸Ͱ ҟͳΔ伴Λ࢖͏ ҟͳΔ

Slide 35

Slide 35 text

• ҉߸Խɾ෮߸Ͱಉ͡伴Λ࢖͏ ڞ௨伴҉߸ ૹ৴ऀ ड৴ऀ ൿີ伴 ҉߸Խ

Slide 36

Slide 36 text

• ҉߸Խɾ෮߸Ͱಉ͡伴Λ࢖͏ ڞ௨伴҉߸ ᶃ伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ൿີ伴 ҉߸Խ

Slide 37

Slide 37 text

• ҉߸Խɾ෮߸Ͱಉ͡伴Λ࢖͏ ڞ௨伴҉߸ ҉߸ํࣜ ᶃ伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ฏจ ൿີ伴 ҉߸Խ

Slide 38

Slide 38 text

• ҉߸Խɾ෮߸Ͱಉ͡伴Λ࢖͏ ڞ௨伴҉߸ ҉߸ํࣜ ᶃ伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ฏจ ᶄ伴Λ࢖ͬͯ ҉߸Խ ൿີ伴 ҉߸จ ҉߸Խ

Slide 39

Slide 39 text

• ҉߸Խɾ෮߸Ͱಉ͡伴Λ࢖͏ ڞ௨伴҉߸ ҉߸ํࣜ ᶃ伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ฏจ ᶄ伴Λ࢖ͬͯ ҉߸Խ ൿີ伴 ड৴ऀ ҉߸จ ҉߸จ ෮߸ํࣜ ෮߸ ҉߸Խ ൿີ伴

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

• ҉߸Խɾ෮߸ͰҟͳΔ伴Λ࢖͏ ެ։伴҉߸ ᶃެ։伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ެ։伴 ҉߸Խ ൿີ伴

Slide 45

Slide 45 text

• ҉߸Խɾ෮߸ͰҟͳΔ伴Λ࢖͏ • ެ։伴Ͱ҉߸Խ ެ։伴҉߸ ҉߸ํࣜ ᶃެ։伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ฏจ ᶄެ։伴Λ ࢖ͬͯ ҉߸Խ ެ։伴 ҉߸Խ ൿີ伴 ҉߸จ

Slide 46

Slide 46 text

• ҉߸Խɾ෮߸ͰҟͳΔ伴Λ࢖͏ • ެ։伴Ͱ҉߸Խ ެ։伴҉߸ ड৴ऀ ҉߸จ ෮߸ํࣜ ෮߸ ҉߸ํࣜ ᶃެ։伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ฏจ ᶄެ։伴Λ ࢖ͬͯ ҉߸Խ ެ։伴 ҉߸จ ҉߸Խ ൿີ伴 ެ։伴 ൿີ伴

Slide 47

Slide 47 text

• ҉߸Խɾ෮߸ͰҟͳΔ伴Λ࢖͏ • ެ։伴Ͱ҉߸Խ / ൿີ伴Ͱ෮߸ ެ։伴҉߸ ड৴ऀ ҉߸จ ൿີ伴 ฏจ ൿີ伴Λ࢖ͬͯ෮߸ ෮߸ํࣜ ෮߸ ҉߸ํࣜ ᶃެ։伴ͷૹ෇ ૹ৴ऀ ड৴ऀ ฏจ ᶄެ։伴Λ ࢖ͬͯ ҉߸Խ ެ։伴 ҉߸จ ҉߸Խ ൿີ伴 ެ։伴

Slide 48

Slide 48 text

ڞ༗伴ͷ໰୊఺Ͱ͋Δ伴؅ཧΛղফ͢Δํࣜ • ࿙ग़ʹΑΔ໰୊ͷͳ͍ެ։伴Ͱ҉߸Խ • ݶΒΕͨਓؒͷΈ͕஌Δൿີ伴Ͱ෮߸ 伴഑෍ͷϦεΫΛେ͖͘௿ݮ ެ։伴҉߸

Slide 49

Slide 49 text

࢓૊Έ

Slide 50

Slide 50 text

ࡶʹ࢓૊ΈΛ঺հ • DES҉߸ • AES҉߸ • RSA҉߸

Slide 51

Slide 51 text

DES҉߸

Slide 52

Slide 52 text

DESʢData Encryption Standardʣ • ΞϝϦΧͷچࠃՈ҉߸ن֨ • ڞ௨伴҉߸ํࣜ • 1976೥ɺΞϝϦΧ߹ऺࠃͷެࣜ࿈๜৘ใॲཧ ඪ४ͱͯ͠࠾༻ • ͦͷޙࠃࡍతʹ޿͘࢖ΘΕ͍ͯͨ

Slide 53

Slide 53 text

جຊతͳΞΠσΞ • 64BitϏοτ୯Ґʹ෼ղ • ؆୯ͳBitԋࢉʢXORʣʴBitγϑτ • 伴ͷஞ࣍ߋ৽ • 16ճ܁Γฦ͢͜ͱͰ҉߸ͷڧԽ

Slide 54

Slide 54 text

ΞϧΰϦζϜʢࡶʹʣ 32bitͰ෼ׂ ฏจ ҉߸จ 64bitຖʹ෼ׂ CJU5FYU CJUΛฒ΂ସ͑ʢॳظసஔʣ ্ҐCJU ԼҐCJU CJUΛฒ΂ସ͑ʢ࠷ऴసஔʣ ॖ໿సஔʢCJUʣ 8ͷഒ਺bitΛॖ໿ ԼҐCJU ্ҐCJU ԼҐCJU ্ҐCJU 28bitͰ෼ׂ ॖ໿సஔʢCJUʣ #JUTIJGU ҉߸Խؔ਺ ×16ճ ҉߸Խ伴

Slide 55

Slide 55 text

ར఺ • ࣮૷͕؆୯ • Bitԋࢉ • Bitγϑτ • ςʔϒϧࢀরఔ౓ • 伴ͷϏοτ௕͕nʹର͠O(2n)ͷࢼߦճ਺ • 20ੈل౰࣌ͱͯ͠͸࠷ڧͷ҉߸ͩͬͨ

Slide 56

Slide 56 text

• 伴௕ͷ୹͞ • 64bitɾɾɾͱݟ͔͚ͤͯΞϧΰϦζϜ্56bit • 1999೥ͷஈ֊ͰBruteForceʹΑΔղ๏͕ެද • վྑܕͷ3-DESͳΜͯͷ΋ग़͕ͨࠜຊղܾͯ͠ͳ͍ • NSAؔ༩ͷӄ๳࿦ • ৭ʑ͋ΔΑͶɻ ໰୊఺

Slide 57

Slide 57 text

AES҉߸

Slide 58

Slide 58 text

AESʢAdvanced Encryption Standardʣ • DESʹ୅ΘΔ৽͍͠ඪ४҉߸ΞϧΰϦζϜ • Rijndael ʢϥΠϯμʔϧʣ • ϑΟϯηϯτɾϥΠϝϯ (Vincent Rijmen) • ϗΝϯɾμʔϝϯ(Joan Daemen) • ڞ௨伴҉߸

Slide 59

Slide 59 text

جຊతͳΞΠσΞ • 4छྨͷม׵ϩδοΫΛෳ਺ճ૊Έ߹ΘͤΔ 1. SubBytes 2. ShiftRows 3. MixColumns 4. AddRoundKey • 伴௕Ͱϥ΢ϯυ਺Λม͑Δ

Slide 60

Slide 60 text

جຊతͳΞΠσΞ • 4छྨͷม׵ϩδοΫΛෳ਺ճ૊Έ߹ΘͤΔ 1. SubBytesɿ׵ࣈදʹΑΔ1byte୯Ґͷஔ׵ 2. ShiftRowsɿ4byte୯ҐͷߦΛҰఆنଇͰࠨγϑτ 3. MixColumnsɿbitԋࢉʹΑΔ̐byte୯Ґͷߦྻม׵ 4. AddRoundKeyɿround伴ͱXOR • 伴௕Ͱϥ΢ϯυ਺Λม͑Δ

Slide 61

Slide 61 text

ΞϧΰϦζϜ ฏจ ҉߸Խ伴 ฏจ "EE3PVOE,FZ 4VC#ZUFT 4IJGU3PXT .JY$PMVNOT "EE3PVOE,FZ Round伴 ×9ճ 4VC#ZUFT 4IJGU3PXT "EE3PVOE,FZ ҉߸จ

Slide 62

Slide 62 text

SubBytes • S-BOXʹΑΔ׵ࣈॲཧΛߦͳ͏ • ࠜຊతʹ͸γʔβʔ҉߸ͱಉ͡ʢࡶʣ

Slide 63

Slide 63 text

ShiftRows • 4Byte୯ҐͷߦΛࠨγϑτ͢Δ • ҎԼ͸ྫ                                

Slide 64

Slide 64 text

MixColumns • Rijindealͷߦྻܭࢉ • https://en.wikipedia.org/wiki/Rijndael_MixColumns • ͘͢͝ݡ͍ʢ໘ന͍ʣߦྻܭࢉΛߦͳ͏

Slide 65

Slide 65 text

ΞϧΰϦζϜʢ1ϥ΢ϯυ෼ʣ

Slide 66

Slide 66 text

༻్ • ແઢLANͷ҉߸Խ௨৴Ͱར༻͞Ε͍ͯΔ • ʮAESʯͱ͍͏໊લ͚ͩ஌ͬͯΔਓଟͦ͏ • SSL/TLSԽ௨৴Ͱ΋ར༻

Slide 67

Slide 67 text

ݎ࿚͞ʹ͍ͭͯ • 伴௕͕128,192,256bit • ܻ਺తʹ͸े෼ؤৎ • ༗ޮੑͷ͋Δ߈ܸࣗମ͸ଘࡏ͢Δ • બ୒ฏจ߈ܸ • ؔ࿈伴߈ܸ • ࠷ऴϥ΢ϯυ·Ͱ͸ഁΒΕ͍ͯͳ͍

Slide 68

Slide 68 text

RSA҉߸

Slide 69

Slide 69 text

RSA҉߸ • ެ։伴҉߸ • ൃ໌ऀ໊͕લͷ༝དྷ • ϩφϧυɾϦϕετɿRonald Rivest • ΞσΟɾγϟϛΞɿAdi Shamir • ϨΦφϧυɾΤʔσϧϚϯɿLeonard Adleman • νϡʔϦϯά৆

Slide 70

Slide 70 text

ݪཧ • ૉҼ਺෼ղͱϑΣϧϚʔͷখఆཧΛར༻ • ҉߸Խʢฏจm͔Β҉߸จc Λ࡞੒ʣ C = Me (mod n) • ෮߸ʢ҉߸จc͔ΒݩͷฏจmΛ֫ಘʣ M = Cd (mod n) • ҉߸Խ͸୭Ͱ΋Ͱ͖Δ͕෮߸͸ຊਓ͔͠Ͱ͖ͳ͍

Slide 71

Slide 71 text

ΞϧΰϦζϜ ૹ৴ऀ ड৴ऀ Q Rͷ࣌ ެ։伴OQR ПO Q R  ПOͱޓ͍ʹૉͳࣗવ਺ F FE㲇 NPEП O Λຬͨ͢ ൿີ伴E ൿີ伴

Slide 72

Slide 72 text

ΞϧΰϦζϜ ૹ৴ऀ ड৴ऀ Q Rͷ࣌ ެ։伴OQR ПO Q R  ПOͱޓ͍ʹૉͳࣗવ਺ F FE㲇 NPEП O Λຬͨ͢ ൿີ伴E ൿີ伴 OQR F ެ։伴

Slide 73

Slide 73 text

ΞϧΰϦζϜ ૹ৴ऀ ड৴ऀ Q Rͷ࣌ ެ։伴OQR ПO Q R  ПOͱޓ͍ʹૉͳࣗવ਺ F FE㲇 NPEП O Λຬͨ͢ ൿີ伴E ൿີ伴 OQR F ެ։伴 ެ։伴 ૹ৴

Slide 74

Slide 74 text

ΞϧΰϦζϜ ૹ৴ऀ ड৴ऀ ฏจʢM=63ʣ Q Rͷ࣌ ެ։伴OQR ПO Q R  ПOͱޓ͍ʹૉͳࣗવ਺ F FE㲇 NPEП O Λຬͨ͢ ൿີ伴E ൿີ伴 OQR F ެ։伴 ެ։伴 ૹ৴

Slide 75

Slide 75 text

ΞϧΰϦζϜ ૹ৴ऀ ड৴ऀ ฏจʢM=63ʣ ҉߸จʢC=33ʣ Q Rͷ࣌ ެ։伴OQR ПO Q R  ПOͱޓ͍ʹૉͳࣗવ਺ F FE㲇 NPEП O Λຬͨ͢ ൿີ伴E ൿີ伴 OQR F ެ։伴 ެ։伴 ૹ৴ .ͷͱ͖ ҉߸จ $.F NPEO    ҉߸Խ

Slide 76

Slide 76 text

ΞϧΰϦζϜ ૹ৴ऀ ड৴ऀ ฏจʢM=63ʣ ҉߸จʢC=33ʣ Q Rͷ࣌ ެ։伴OQR ПO Q R  ПOͱޓ͍ʹૉͳࣗવ਺ F FE㲇 NPEП O Λຬͨ͢ ൿີ伴E ൿີ伴 OQR F ެ։伴 ެ։伴 ૹ৴ .ͷͱ͖ ҉߸จ $.F NPEO    ҉߸Խ ฏจʢM=63ʣ .$E NPEO     ෮߸

Slide 77

Slide 77 text

Ͷʁ؆୯Ͱ͠ΐʁ

Slide 78

Slide 78 text

໰୊

Slide 79

Slide 79 text

໰୊ p=37, q=71, e=79Ͱ͋Δͱ͖҉߸จʮ904ʯΛղಡͤΑ • ৚݅ • pq=n • m(p-1)(q-1) ≡ -1(mod e)ͱͳΔΑ͏ͳ࠷খͷࣗવ ਺mΛ༻ҙ͢Δͱൿີ伴d = (m(p-1)(q-1)+1)/e • ҉߸จcʹ͍ͭͯce ≡ M(mod n) • M͕ฏจͱͳΔ

Slide 80

Slide 80 text

ਓ͕ؒ΍Δ಺༰͡Όͳ͍Ͱ͢ ൿີ伴ͷܭࢉ • m(p-1)(q-1) ≡ -1(mod e) • m(37-1)(71-1) ≡ 78(mod 79) • 2520m ≡ 78(mod 79) → 2520ͷഒ਺ͷ͏ͪ79ͰׂΔͱ78͋·Δ਺

Slide 81

Slide 81 text

ൿີ伴͕ٻ·ͬͨʂ • d = 319ͩͬͯΑ • ෮߸͠Α͏ • ce ≡ M(mod n)Λຬͨ͢M͕ٻ·Ε͹OK 904319 ≡ M(mod 2627) 914ͷ319৐Λ2627Ͱׂͬͨ͋·Γ

Slide 82

Slide 82 text

όΧ࡞ۀ͚ͩͲ

Slide 83

Slide 83 text

جఈͷૉ਺p , q ެ։伴e ͕Θ͔͍ͬͯΕ͹ҰԠղ͚Δ ड৴ऀଆͷ৘ใ

Slide 84

Slide 84 text

ૹ৴ऀ͸Ͳ͏ͳͷ͔ʁ

Slide 85

Slide 85 text

ૹ৴ऀͷط஌ͷ৘ใ • ߹੒਺n • ެ։伴e n͔Βجఈͷૉ਺ΛٻΊΕ͹OK 2͔ͭ͠΋Β͑ͳ͍

Slide 86

Slide 86 text

ૹ৴ऀͷط஌ͷ৘ใ • ߹੒਺n • ެ։伴e N͔Βجఈͷૉ਺ΛٻΊΕ͹ɾɾɾʁ 2͔ͭ͠΋Β͑ͳ͍

Slide 87

Slide 87 text

ૉҼ਺෼ղͰ͖Δɾɾɾʁ pq = 1143368469Λຬͨ͢ p, qΛٻΊΑ

Slide 88

Slide 88 text

ૉҼ਺෼ղͰ͖Δɾɾɾʁ pq = 1143368469Λຬͨ͢ p, qΛٻΊΑ • p =19059 • q = 59991

Slide 89

Slide 89 text

ૉҼ਺෼ղͰ͖Δɾɾɾʁ pq = 1143368469Λຬͨ͢ p, qΛٻΊΑ • p =19059 • q = 59991 ্ܻ͕͕Ε͹ίϯϐϡʔλʔͰ΋ݫ͍͠ 10ܻ

Slide 90

Slide 90 text

ݎ࿚͞ • ૉҼ਺෼ղͷಛੑΛར༻͍ͯ͠Δ • ط஌ͷύϥϝʔλʹΑΔܭࢉ͸؆୯ • e৐ܭࢉ౳΋PCతʹ͸༰қ • ະ஌ͷύϥϝʔλʹΑΔղಡ͸ࠔ೉ • P vs NP໰୊Λղ͘͜ͱͱಉٛ • ϛϨχΞϜݒ৆ۚ໰୊ʢະղܾ໰୊ʣ

Slide 91

Slide 91 text

ݎ࿚͞ • ૉҼ਺෼ղͷಛੑΛར༻͍ͯ͠Δ • ط஌ͷύϥϝʔλʹΑΔܭࢉ͸؆୯ • e৐ܭࢉ౳΋PCతʹ͸༰қ • ະ஌ͷύϥϝʔλʹΑΔղಡ͸ࠔ೉ • P vs NP໰୊Λղ͘͜ͱͱಉٛ • ϛϨχΞϜݒ৆ۚ໰୊ʢະղܾ໰୊ʣ ݱ ୅ ʹ ͓ ͍ ͯ ͸ ߈ ུ ͸ ೉ ͠ ͍

Slide 92

Slide 92 text

ࠓճͷ಺༰ • ҉߸ͷྺ࢙ʢέϧΫϗϑεͷݪཧʣ • ҉߸Խʹ͍ͭͯʢݹయత҉߸ɺݱ୅త҉߸ʣ • ҉߸ͷछྨʢDES, AES, RSAʣ • ࢓૊ΈʢΞϧΰϦζϜʣ • Ͳͷ͙Β͍ղ͘ͷ͕େม͔ʢݎ࿚͞ʣ

Slide 93

Slide 93 text

༨ஊ

Slide 94

Slide 94 text

݈ೋ͘Μ͕ղ͍͍ͯͨ໰୊

Slide 95

Slide 95 text

81438162575788886766923577992357799761466612018296721242362536256184293 57069352457338978305971235639587050589890751497599290026879543541629595 92635382962929999373527393893015272028273730979383739039731352452762289 78273826989822154612213136061942130302141133310346191812161211316661312 01213147641231316644363838839939653563739348463763839331543288789762383 98563738365433423534644888463839384643839396476573748938457345564245126 34844668758248726826859992922649392276265849264516138123892991049225475 36852165445266876331694975626214662621647516621654962162336214611564862 15622262254897462256624662062148316547254564902302454621245456232245162 31242456512434518164012651251812424321651845424612432464915548961562265 40431451494816121614652254654546432451891591646484645464242115159121215 12512462155666156124173641635467148361593823787985896185613764728526928 789895656425257381651935613893981991374836873823541837167837898784e7654 34576345637173823138479813768765238613741311236937264827654778277325473 89892815242254251552253613131331511313143646519194546121649460060457379 04647674872778721829547482997923937452456353215212517628516424172154621 85215216524128156631535133635135624373234146484945914624245144655937545 24315155236472864625463258642165376526875214636421645296605158216631616 52986915561678675254116565125134664256670262166165145634667412563523120 00214153442514256547456176523156416857441156514555136515571345216351461 34235531457514555135253466527524543412352416451251485413551355251511561 71956616756817356813613736137253824162482752642783523816583271845624165 54631567452166375415676516659156451553145235234613252553232516852127126 45162157232131522136725132143364221234162322654656432322163726142321427 82631674245423512542541436542154615244235542594181494224535650656526246 39606225635206461462565251661258214063232062267640333141325426372633225 33482372736524321232563425383425332436237028563074332531002322305236045 23214566316478571435215145571630232235224232436247022602702856079625164 32235723674724715613526215523165518237142314221623715637261634153471

Slide 96

Slide 96 text

81438162575788886766923577992357799761466612018296721242362536256184293 57069352457338978305971235639587050589890751497599290026879543541629595 92635382962929999373527393893015272028273730979383739039731352452762289 78273826989822154612213136061942130302141133310346191812161211316661312 01213147641231316644363838839939653563739348463763839331543288789762383 98563738365433423534644888463839384643839396476573748938457345564245126 34844668758248726826859992922649392276265849264516138123892991049225475 36852165445266876331694975626214662621647516621654962162336214611564862 15622262254897462256624662062148316547254564902302454621245456232245162 31242456512434518164012651251812424321651845424612432464915548961562265 40431451494816121614652254654546432451891591646484645464242115159121215 12512462155666156124173641635467148361593823787985896185613764728526928 789895656425257381651935613893981991374836873823541837167837898784e7654 34576345637173823138479813768765238613741311236937264827654778277325473 89892815242254251552253613131331511313143646519194546121649460060457379 04647674872778721829547482997923937452456353215212517628516424172154621 85215216524128156631535133635135624373234146484945914624245144655937545 24315155236472864625463258642165376526875214636421645296605158216631616 52986915561678675254116565125134664256670262166165145634667412563523120 00214153442514256547456176523156416857441156514555136515571345216351461 34235531457514555135253466527524543412352416451251485413551355251511561 71956616756817356813613736137253824162482752642783523816583271845624165 54631567452166375415676516659156451553145235234613252553232516852127126 45162157232131522136725132143364221234162322654656432322163726142321427 82631674245423512542541436542154615244235542594181494224535650656526246 39606225635206461462565251661258214063232062267640333141325426372633225 33482372736524321232563425383425332436237028563074332531002322305236045 23214566316478571435215145571630232235224232436247022602702856079625164 32235723674724715613526215523165518237142314221623715637261634153471 ͜͜ʹ͋ΔeΛج४ʹύϥϝʔλ͕෼͔ΕͯΔʁ

Slide 97

Slide 97 text

81438162575788886766923577992357799761466612018296721242362536256184293 57069352457338978305971235639587050589890751497599290026879543541629595 92635382962929999373527393893015272028273730979383739039731352452762289 78273826989822154612213136061942130302141133310346191812161211316661312 01213147641231316644363838839939653563739348463763839331543288789762383 98563738365433423534644888463839384643839396476573748938457345564245126 34844668758248726826859992922649392276265849264516138123892991049225475 36852165445266876331694975626214662621647516621654962162336214611564862 15622262254897462256624662062148316547254564902302454621245456232245162 31242456512434518164012651251812424321651845424612432464915548961562265 40431451494816121614652254654546432451891591646484645464242115159121215 12512462155666156124173641635467148361593823787985896185613764728526928 789895656425257381651935613893981991374836873823541837167837898784e7654 34576345637173823138479813768765238613741311236937264827654778277325473 89892815242254251552253613131331511313143646519194546121649460060457379 04647674872778721829547482997923937452456353215212517628516424172154621 85215216524128156631535133635135624373234146484945914624245144655937545 24315155236472864625463258642165376526875214636421645296605158216631616 52986915561678675254116565125134664256670262166165145634667412563523120 00214153442514256547456176523156416857441156514555136515571345216351461 34235531457514555135253466527524543412352416451251485413551355251511561 71956616756817356813613736137253824162482752642783523816583271845624165 54631567452166375415676516659156451553145235234613252553232516852127126 45162157232131522136725132143364221234162322654656432322163726142321427 82631674245423512542541436542154615244235542594181494224535650656526246 39606225635206461462565251661258214063232062267640333141325426372633225 33482372736524321232563425383425332436237028563074332531002322305236045 23214566316478571435215145571630232235224232436247022602702856079625164 32235723674724715613526215523165518237142314221623715637261634153471 ύϥϝʔλB ύϥϝʔλA

Slide 98

Slide 98 text

͋Εʁ

Slide 99

Slide 99 text

ૹ৴ऀͷط஌ͷ৘ใʢ࠶ܝʣ • ߹੒਺n • ެ։伴e n͔Βجఈͷૉ਺ΛٻΊΕ͹OK 2͔ͭ͠΋Β͑ͳ͍

Slide 100

Slide 100 text

ૹ৴ऀͷط஌ͷ৘ใ • ߹੒਺n • ެ։伴e ίϨΒͱ͸ผʹ҉߸จຊମ͕ඞཁ 2͔ͭ͠΋Β͑ͳ͍ ʢ伴͸ʣ

Slide 101

Slide 101 text

81438162575788886766923577992357799761466612018296721242362536256184293 57069352457338978305971235639587050589890751497599290026879543541629595 92635382962929999373527393893015272028273730979383739039731352452762289 78273826989822154612213136061942130302141133310346191812161211316661312 01213147641231316644363838839939653563739348463763839331543288789762383 98563738365433423534644888463839384643839396476573748938457345564245126 34844668758248726826859992922649392276265849264516138123892991049225475 36852165445266876331694975626214662621647516621654962162336214611564862 15622262254897462256624662062148316547254564902302454621245456232245162 31242456512434518164012651251812424321651845424612432464915548961562265 40431451494816121614652254654546432451891591646484645464242115159121215 12512462155666156124173641635467148361593823787985896185613764728526928 789895656425257381651935613893981991374836873823541837167837898784e7654 34576345637173823138479813768765238613741311236937264827654778277325473 89892815242254251552253613131331511313143646519194546121649460060457379 04647674872778721829547482997923937452456353215212517628516424172154621 85215216524128156631535133635135624373234146484945914624245144655937545 24315155236472864625463258642165376526875214636421645296605158216631616 52986915561678675254116565125134664256670262166165145634667412563523120 00214153442514256547456176523156416857441156514555136515571345216351461 34235531457514555135253466527524543412352416451251485413551355251511561 71956616756817356813613736137253824162482752642783523816583271845624165 54631567452166375415676516659156451553145235234613252553232516852127126 45162157232131522136725132143364221234162322654656432322163726142321427 82631674245423512542541436542154615244235542594181494224535650656526246 39606225635206461462565251661258214063232062267640333141325426372633225 33482372736524321232563425383425332436237028563074332531002322305236045 23214566316478571435215145571630232235224232436247022602702856079625164 32235723674724715613526215523165518237142314221623715637261634153471 ύϥϝʔλB ύϥϝʔλA

Slide 102

Slide 102 text

݈ೋ͕ղ͍͍ͯͨ໰୊

Slide 103

Slide 103 text

ԾʹeΛϑΣϧϚʔૉ਺ͱ͢Δ 65537

Slide 104

Slide 104 text

ɾɾɾͰʁ

Slide 105

Slide 105 text

ૉҼ਺෼ղͰ͖Δʁʢ࠶ܝʣ pq = 1143368469Λຬͨ͢ p, qΛٻΊΑ • p =19059 • q = 59991 ্ܻ͕͕Ε͹ίϯϐϡʔλʔͰ΋ݫ͍͠ 10ܻ

Slide 106

Slide 106 text

81438162575788886766923577992357799761466612018296721242362536256184293 57069352457338978305971235639587050589890751497599290026879543541629595 92635382962929999373527393893015272028273730979383739039731352452762289 78273826989822154612213136061942130302141133310346191812161211316661312 01213147641231316644363838839939653563739348463763839331543288789762383 98563738365433423534644888463839384643839396476573748938457345564245126 34844668758248726826859992922649392276265849264516138123892991049225475 36852165445266876331694975626214662621647516621654962162336214611564862 15622262254897462256624662062148316547254564902302454621245456232245162 31242456512434518164012651251812424321651845424612432464915548961562265 40431451494816121614652254654546432451891591646484645464242115159121215 12512462155666156124173641635467148361593823787985896185613764728526928 789895656425257381651935613893981991374836873823541837167837898784e7654 34576345637173823138479813768765238613741311236937264827654778277325473 89892815242254251552253613131331511313143646519194546121649460060457379 04647674872778721829547482997923937452456353215212517628516424172154621 85215216524128156631535133635135624373234146484945914624245144655937545 24315155236472864625463258642165376526875214636421645296605158216631616 52986915561678675254116565125134664256670262166165145634667412563523120 00214153442514256547456176523156416857441156514555136515571345216351461 34235531457514555135253466527524543412352416451251485413551355251511561 71956616756817356813613736137253824162482752642783523816583271845624165 54631567452166375415676516659156451553145235234613252553232516852127126 45162157232131522136725132143364221234162322654656432322163726142321427 82631674245423512542541436542154615244235542594181494224535650656526246 39606225635206461462565251661258214063232062267640333141325426372633225 33482372736524321232563425383425332436237028563074332531002322305236045 23214566316478571435215145571630232235224232436247022602702856079625164 32235723674724715613526215523165518237142314221623715637261634153471 918ܻ 1137ܻ

Slide 107

Slide 107 text

ԾʹͰ͖ͨͱͯ͠ɾɾɾ

Slide 108

Slide 108 text

࣍ʹདྷΔͷ͕Α͏΍͘RSA

Slide 109

Slide 109 text

ͳΜͳΒ3ܻͰ΋Ϡό͍ • d = 319ͩͬͯΑ • ෮߸͠Α͏ • ce ≡ M(mod n)Λຬͨ͢M͕ٻ·Ε͹OK 904319 ≡ M(mod 2627) 914ͷ319৐Λ2627Ͱׂͬͨ͋·Γ

Slide 110

Slide 110 text

ඓ݂ग़Δͱ͔ͦ͏͍͏Ϩϕϧ͡Όͳ͍

Slide 111

Slide 111 text

༨ஊ2

Slide 112

Slide 112 text

ͦ΋ͦ΋ղ͍ͯͨͷ RSAͳͷʁ

Slide 113

Slide 113 text

Aɿ஌ΒΜ

Slide 114

Slide 114 text

RSAͰ͋ΔՄೳੑ͸ߴ͍ • ࠷ॳʹ൴Β͕ղ͍͍ͯͨ౴͑ • 1977೥ʹݒ৆ۚ෇͖Ͱܝࡌ͞ΕͨRSA҉߸จ ͷ౴͕͑ “The ~ ossifrage”·Ͱͷ෦෼ The magic words are squeamish ossifrage. To know is to know that you know nothing That is the true meaning of knowledge

Slide 115

Slide 115 text

༨ஊ3

Slide 116

Slide 116 text

ʮΑΖ͓͘͠ئ͍͠·͊͊͢ʂʂʯ

Slide 117

Slide 117 text

ղ͍ͨ҉߸Λ ೖྗ͍ͯ͠ΔΘ͚͡Όͳ͍

Slide 118

Slide 118 text

҉ࢉͨ͠ஈ֊Ͱ ϩοΫ͸ղআ͞ΕͯΔ

Slide 119

Slide 119 text

GPSʹิਖ਼৘ใೖΕΔ࣌ͷ ֬ೝը໘ͷΤϯλʔ

Slide 120

Slide 120 text

͓͠·͍

Slide 121

Slide 121 text

ࠓճͷ಺༰ͱ࣭ٙԠ౴ • ҉߸ͷྺ࢙ʢέϧΫϗϑεͷݪཧʣ • ҉߸Խʹ͍ͭͯʢݹయత҉߸ɺݱ୅త҉߸ʣ • ҉߸ͷछྨʢDES, AES, RSAʣ • ࢓૊ΈʢΞϧΰϦζϜʣ • Ͳͷ͙Β͍ղ͘ͷ͕େม͔ʢݎ࿚͞ʣ