[Powered by Google Translate] [Vigenère Cipher] [Nate Hardison - Harvard University] [Mae hyn yn CS50. - CS50.TV] Cwrdd Alice. Alice Mae gan malwch ar Bob. Yn ffodus i Alice, Bob hefyd llygaid ar ei chyfer. Yn anffodus, am eu rhamant egin, nid yn unig yn Alice rhieni anghymeradwyo Bob, ond Alice ffrind gorau, Evelyn, yn cael malwch cyfrinachol ar Bob ac yn hunanol am eu cadw ar wahân ar bob cyfrif. I anfon negeseuon cudd at ei gilydd na all Alice Mae rhieni yn deall, Alice a Bob wedi bod yn defnyddio cipher Caesar, sy'n gweithio drwy symud y wyddor gan nifer penodol o lythyrau fel ffordd o gynhyrchu wyddor newydd. Mae pob llythyren yn y wyddor gwreiddiol rhoddir yna trwy ei lythyr cyfatebol yn yr wyddor newydd symud. Alice rhif hoff 3, a Bob yn gwybod, felly mae hi yn defnyddio 3 fel ei allweddol. Pan fydd hi'n symud y wyddor Saesneg gan 3 llythyr, Mae dod yn D, B yn dod yn E, C yn dod yn F, ac yn y blaen. Pan ei bod yn cael hyd at ddiwedd yr wyddor - at y llythyrau X, Y, a Z - hi dim ond lapio o amgylch yn ôl i ddechrau'r wyddor ac X eilyddion gyda A Y, gyda B, a Z â C. Felly pan Alice yn mynd i amgryptio ei neges gyfrinach i Bob, sef "Cwrdd i mi yn y parc ar 11:00," hi dim ond yn gwneud y dirprwyon priodol. M dod P, E dod H, ac yn y blaen hyd nes iddi heb ei amgryptio neges testun plaen yn cael ei droi i mewn i destun cipher amgryptio: "Phhw ph dw wkh sdun dw hohyhq dp" Nid yw yn bendant y swnio'n mwyaf rhamantus, ond Alice yn credu y bydd yn ei wneud. Alice yn rhoi'r neges i Evelyn ei chyflwyno i Bob tŷ. Ond yn lle hynny Evelyn yn mynd ag ef yn ôl i'w ystafell ac yn ceisio i fynd i'r afael â'r cod. Un o'r pethau cyntaf hysbysiadau Evelyn yw bod y llythyr H yn digwydd 7 gwaith yn y neges, llawer mwy o amser nag unrhyw lythyr arall. Gan wybod fod y llythyren E yw'r mwyaf cyffredin yn yr iaith Saesneg, digwydd bron i 13% o'r amser, Evelyn ddyfalu bod H wedi cael ei roi yn lle'r E er mwyn gwneud y neges gudd ac yn ceisio defnyddio allweddol o 3 i dadgriptio. O fewn munudau, Evelyn ffigurau allan Alice cynlluniau a evilly galw Alice rhieni. Pe Alice a Bob gymryd CS50, byddent wedi gwybod am hyn amledd-ddadansoddiad ymosodiad ar y cipher Caesar, sy'n caniatáu iddo gael ei dorri yn eithaf cyflym. Byddent hefyd wedi gwybod bod y cipher yn hawdd destun ymosodiad 'n Ysgrublaidd-rym, lle gallai Evelyn wedi rhoi cynnig ar bob un o'r 25 posibl allweddi, neu shifftiau o'r wyddor Saesneg, er mwyn dehongli'r neges. Pam 25 allweddi, ac nid 26? Wel, ceisiwch symud unrhyw lythyr gan 26 o swyddi, a byddwch yn gweld pam. Beth bynnag, byddai ymosodiad 'n Ysgrublaidd-rym wedi cymryd Evelyn ychydig yn hirach ond nid yn ddigon hir i gadw ei rwystro rhag Alice a Bob chynlluniau, yn enwedig os Evelyn wedi chymorth cyfrifiadur a allai RIP drwy bob un o'r 25 o achosion mewn amrantiad. Felly, mae hyn yn broblem plagued hefyd eraill a oedd yn defnyddio'r cipher Caesar, ac felly dechreuodd pobl arbrofi gyda dulliau cêl-ysgrifennu amnewid mwy cymhleth sy'n defnyddio gwerthoedd newid lluosog yn hytrach na dim ond un. Un o'r mwyaf adnabyddus o'r rhain yw'r enw ar Vigenère cipher. Sut ydym yn cael newid gwerthoedd lluosog? Wel, yn hytrach na defnyddio rhif fel yr allwedd, rydym yn defnyddio gair am yr allwedd. Byddwn yn defnyddio pob llythyren yn yr allwedd i gynhyrchu nifer, a'r effaith yw y bydd gennym lluosog Caesar cipher-arddull allweddi ar gyfer symud llythyrau. Gadewch i ni weld sut y mae hyn yn gweithio drwy amgryptio'r Alice neges i Bob: Gwrdd â mi yn y parc ar 11:00 Yr wyf i, yn bersonol, yn credu cig moch yn flasus, felly gadewch i ni ddefnyddio hynny fel yr allwedd. Os byddwn yn cymryd y neges yn ei amgryptio, plaen-destun fformat, gwelwn ei fod yn 25 o lythyrau hir. Bacon Dim ond 5 llythyr, felly mae angen ei ailadrodd 5 gwaith i'w gwneud yn cyd-fynd hyd y testun plaen. Bacon bacwn cig moch cig moch cig moch. Fel byr o'r neilltu, os yw nifer o lythyrau yn y testun plaen nid oedd yn rhannu lân gan y nifer o lythyrau yn yr allwedd, rydym yn unig terfyn ar y ailadrodd olaf ein allweddol yn gynnar, ddefnyddio dim ond y llythyrau yr ydym ei angen i wneud popeth yn cyd-fynd i fyny. Nawr rydym yn mynd ati i ddod o hyd i'r gwerthoedd sifft. Rydym yn mynd i wneud hyn drwy ddefnyddio sefyllfa pob llythyren o'n allweddol - cig moch - yn yr A i Z wyddor. Ers i ni yn gwyddonwyr cyfrifiadur, rydym yn awyddus i ddechrau cyfrif ar sero yn hytrach na 1, felly rydym yn mynd i ddweud bod y sefyllfa y llythyr cyntaf o gig moch - B - yn safle 1 yn yr A sero-indexed i Y wyddor, 2 Nid yw, a sefyllfa nid A yn sero, 1. Gan ddefnyddio'r algorithm, gallwn ddod o hyd i'r gwerthoedd sifft ar gyfer pob llythyren. I encrypt y testun plaen a chreu testun cipher, rydym yn unig newid pob llythyren yn y testun plaen ôl y cyfnod penodedig, yn union fel rydym yn ei wneud gyda'r cipher Caesar, lapio o Z yn ôl i A os oes angen. M yn cael ei symud gan 1 lle i fod yn N. Nid yw'r E cyntaf yn symud o gwbl, ond rydym yn symud y E ail 2 le i G a T gan 14 o leoedd i H. Os byddwn yn gweithio drwy'r testun plaen, rydym yn y pen draw, "Negh ZF av HUF pcfx bt gzrwep oz." Unwaith eto, nid rhamantus iawn sy'n swnio'n ond yn bendant cryptig. Os oedd Alice a Bob hysbys am Vigenère cipher, byddent wedi bod yn ddiogel rhag Evelyn llygaid chwilenna? Beth ydych chi'n feddwl? Fyddech chi eisiau mewngofnodi i'ch cyfrif banc os yw eich banc yn penderfynu defnyddio Vigenère cipher i amgryptio eich cyfathrebu drwy ddefnyddio eich cyfrinair fel eich allweddol? Pe bawn i chi, fyddwn i ddim. Ac er y gallai Evelyn yn cael eu cadw yn brysur yn ddigon hir i Alice a Bob i gael eu bodloni i fyny, nad yw'n werth chweil i Alice ac i Bob siawns iddo. Vigenère cipher yn gymharol hawdd i dorri os ydych yn gwybod hyd y prif oherwydd wedyn gallwch chi drin y testun cipher amgryptio fel lluoswm ychydig seifferau Caesar cydblethu. Nid Dod o hyd i'r hyd yr allwedd yn ofnadwy o galed, naill ai. Os yw'r gwreiddiol blaen-destun neges yn ddigon hir fod rhai geiriau yn digwydd sawl gwaith, yn y pen draw byddwch yn gweld ailadrodd cnydio i fyny yn y testun cipher amgryptio, fel yn yr enghraifft hon, lle gwelwch MONCY ymddangos ddwywaith. Yn ogystal, gallwch berfformio ymosodiad 'n Ysgrublaidd-rym ar y cipher. Mae hyn yn cymryd llawer hirach na ymosodiad 'n Ysgrublaidd-rym ar y cipher Caesar, y gellir ei wneud bron yn ddi gyda chyfrifiadur ers yn hytrach na 25 o achosion i wirio eich bod wedi cael 26 ⁿ - 1 posibiliadau, lle mae n yw hyd yr allwedd anhysbys. Mae hyn oherwydd y gallai pob llythyren yn yr allwedd yn unrhyw un o'r 26 o lythyrau, Byddai trwy Z, a pherson smart ceisiwch ddefnyddio allweddol na ellir eu gweld mewn geiriadur, sy'n golygu y byddai'n rhaid i chi brofi pob un o'r cyfuniadau llythrennau 'n annaearol, fel ZXXXFF, ac nid dim ond ddau gant mil o eiriau yn y geiriadur. Mae'r minws 1 yn dod i mewn i'r math am na fyddech eisiau defnyddio allwedd gyda dim ond A, ers gyda'n sero-indexed wyddor a fyddai'n rhoi i chi yr un effaith â defnyddio cipher Caesar gydag allwedd o sero. Anyway, 26 ⁿ - 1 yn cael fawr yn hytrach yn gyflym, ond tra na fyddech yn bendant yn awyddus i geisio torri cipher llaw y ffordd hon, mae hyn yn bendant doable gyda chyfrifiadur. Yn ffodus i Alice a Bob, ac ar gyfer bancio ar-lein, cryptographers wedi datblygu ffyrdd mwy diogel i amgryptio negeseuon cyfrinachol rhag chwilenna llygaid. Fodd bynnag, mae hynny'n pwnc ar gyfer amser arall. Fy enw i yw Nate Hardison. Mae hyn yn CS50.