1 00:00:00,000 --> 00:00:11,980 2 00:00:11,980 --> 00:00:16,980 >> РОБ: Здраво, ја сам Роб, и хајде да дешифрује Вигенере програма. 3 00:00:16,980 --> 00:00:21,180 Дакле, прва ствар коју треба да урадите је да Сигуран корисник унео оно што смо очекивали 4 00:00:21,180 --> 00:00:23,240 их да у командној линији. 5 00:00:23,240 --> 00:00:28,720 Дакле, ако није аргц 2 то значи или корисник није унио стринг смо 6 00:00:28,720 --> 00:00:31,780 Желим да се користи као наш Шифровање ниска, или они 7 00:00:31,780 --> 00:00:32,890 унели превише ствари. 8 00:00:32,890 --> 00:00:35,130 И не знамо шта да радимо са тим другим стварима. 9 00:00:35,130 --> 00:00:37,960 >> Тако смо им рећи шта они Требало је ушао. 10 00:00:37,960 --> 00:00:39,300 И ми смо се вратили. 11 00:00:39,300 --> 00:00:44,570 Сада, под претпоставком да је аргц 2, можемо наставити са остатком програма. 12 00:00:44,570 --> 00:00:47,890 >> Ми алиас име аргв [1] 13 00:00:47,890 --> 00:00:49,750 у променљиве кључну реч. 14 00:00:49,750 --> 00:00:51,860 Тако да не морамо да користите име аргв [1] 15 00:00:51,860 --> 00:00:53,050 током остатка програма. 16 00:00:53,050 --> 00:00:55,570 И можда ћемо заборавити шта то значи и тако даље. 17 00:00:55,570 --> 00:00:57,830 Кључна реч је много лепше име. 18 00:00:57,830 --> 00:01:01,982 И ми ћемо одмах зграби дужину наше кључне речи овде. 19 00:01:01,982 --> 00:01:07,460 >> У реду, тако да сада желимо да проверите да наша кључна реч је заправо важи. 20 00:01:07,460 --> 00:01:11,250 Кључна реч користимо за шифровање жице треба само да буде по абецедном 21 00:01:11,250 --> 00:01:12,400 карактера. 22 00:01:12,400 --> 00:01:16,830 Уколико корисник унео не-абецедно карактера, ми треба да кажемо, кључна реч 23 00:01:16,830 --> 00:01:20,170 мора да садржи само снажан З и онда се врати. 24 00:01:20,170 --> 00:01:24,370 Дакле, ово за индуктивне врши итерацију над свим карактера наше кључне речи, провера 25 00:01:24,370 --> 00:01:31,870 да ако неко није абецедном онда морамо да одштампате то упозорење. 26 00:01:31,870 --> 00:01:36,285 >> Сада, када смо добили до ове тачке, знамо да низ мора бити тачна. 27 00:01:36,285 --> 00:01:38,230 Кључна реч мора бити тачна. 28 00:01:38,230 --> 00:01:40,880 И сада морамо да добијете поруку од корисник да они желе да нас 29 00:01:40,880 --> 00:01:43,910 шифровање са тим фраза. 30 00:01:43,910 --> 00:01:46,780 Тако да се ту поруку, ми имамо уради док петља која ће 31 00:01:46,780 --> 00:01:52,650 континуирано се стринг од корисника док они унесете важећи стринг. 32 00:01:52,650 --> 00:01:58,690 >> Настављајући, ми овде видимо ову променљиву, инт нун_леттерс_сеен. 33 00:01:58,690 --> 00:02:01,300 Видећемо зашто нам је потребно да у секунди. 34 00:02:01,300 --> 00:02:07,320 Али ово за петље ће се поновити из ја једнако 0, све до И 35 00:02:07,320 --> 00:02:10,940 једнак н, што значи да смо итератинг над све могуће 36 00:02:10,940 --> 00:02:13,020 карактера у нашој поруци. 37 00:02:13,020 --> 00:02:17,370 Зато што желимо да шифровање све ликови у нашој поруци. 38 00:02:17,370 --> 00:02:22,970 Дакле, приметите да радимо ако (исалпхамессаге [И], јер не желимо да се шифровање 39 00:02:22,970 --> 00:02:25,660 ликови који нису абецедни. 40 00:02:25,660 --> 00:02:28,810 Ако постоје симболи, простори, или бројеве, ми не 41 00:02:28,810 --> 00:02:30,730 Желим да шифровање оне. 42 00:02:30,730 --> 00:02:37,220 >> Сада, под претпоставком да је то по абецедном, желимо најпре да схватим шта ми 43 00:02:37,220 --> 00:02:40,890 заправо желе да шифровање порука користећи. 44 00:02:40,890 --> 00:02:42,710 Дакле, шта хоћу да кажем? 45 00:02:42,710 --> 00:02:46,740 >> Претпоставимо да је кључ фраза корисник ушао је АБЦ. 46 00:02:46,740 --> 00:02:49,070 То је оно што ми користимо за шифровање. 47 00:02:49,070 --> 00:02:54,850 Сада, наивно, ми мислимо да значи да желимо да шифровање први карактер 48 00:02:54,850 --> 00:02:59,740 наше поруке од 0, пошто средство окретањем карактер 0. 49 00:02:59,740 --> 00:03:04,395 >> Желимо да шифровање други карактер за 1, трећи карактер по 2, 50 00:03:04,395 --> 00:03:09,170 четврти карактер за 0, пети од 1, шести по 2, и тако даље. 51 00:03:09,170 --> 00:03:14,440 Али запамтите, да желимо да прескочите простори и симболи и бројеви. 52 00:03:14,440 --> 00:03:21,520 То значи да ако корисник ушла Хелло Ворлд као поруке 53 00:03:21,520 --> 00:03:26,590 да они желе да шифровање, онда желимо да шифровање х за 0 54 00:03:26,590 --> 00:03:32,680 одговара а, е за 1, Ја по 2, ја за 0, О по 1. 55 00:03:32,680 --> 00:03:41,050 Желимо да прескочите простор, шифроване В би 2, О од 0, 1, 2, 0. 56 00:03:41,050 --> 00:03:45,250 Дакле приметити, ако нисмо прескочили простор, онда би кодиран 57 00:03:45,250 --> 00:03:51,240 В од 0 и завршио са нетачно ниска. 58 00:03:51,240 --> 00:03:57,470 >> У реду, то је оно што нам треба променљиву нум_леттерс_сеен за. 59 00:03:57,470 --> 00:04:04,450 Ако смо само хтели да шифровање користећи овај метод, који не прескочи 60 00:04:04,450 --> 00:04:09,860 симболи, простори, и бројеви, онда могла само користити промељиву као што 61 00:04:09,860 --> 00:04:12,540 у индексу у нашој фраза са. 62 00:04:12,540 --> 00:04:17,620 Морамо да користимо нум_леттерс_сеен да стаза од стварног места у 63 00:04:17,620 --> 00:04:21,146 Кључни израз који желимо да индекс. 64 00:04:21,146 --> 00:04:32,240 Дакле овде, ако кључна реч имамо, ако нум_леттер_сеен мод кеиворд_ленгтх, тако 65 00:04:32,240 --> 00:04:34,570 зашто морамо да мод по дужини кључне речи? 66 00:04:34,570 --> 00:04:36,630 >> Па, здраво свет је добар пример. 67 00:04:36,630 --> 00:04:42,310 Ако кључна реч је АБЦ, онда морамо да стално шифровање од тада је б 68 00:04:42,310 --> 00:04:45,740 затим Ц, затим обмотајте око леђа, а, б, ц, а, б, ц. 69 00:04:45,740 --> 00:04:50,110 Дакле, морамо да мод по дужини кључној речи како би се обавијају око леђа. 70 00:04:50,110 --> 00:04:57,280 >> Дакле, ако је ово велико слово, онда желимо да шифровање од 71 00:04:57,280 --> 00:05:01,450 положај тог писма у писму, које смо добили од само 72 00:05:01,450 --> 00:05:06,730 одузимањем од капитала А. И слично, за мала слова, ми 73 00:05:06,730 --> 00:05:13,000 може да добије кључ који желимо од одузимањем од мала слова а. 74 00:05:13,000 --> 00:05:16,910 Дакле, без обзира да ли писмо у фраза је капитал или 75 00:05:16,910 --> 00:05:21,640 мало слово, идемо на шифровање за исти износ. 76 00:05:21,640 --> 00:05:28,680 >> Сада када имамо кључ, видимо овде, да ако порука и је слово 77 00:05:28,680 --> 00:05:32,660 карактер, онда желимо да израчунамо позиција у писму које 78 00:05:32,660 --> 00:05:39,460 карактер, додајте наш кључ за њега, замотати назад око тако да ако смо отишли ​​прошлост 79 00:05:39,460 --> 00:05:43,170 з се вратимо на а, б, ц, и тако даље. 80 00:05:43,170 --> 00:05:49,070 Затим, на крају, додајте поново капитала А. Дакле, вратили смо се пребаци у [? Асции?] 81 00:05:49,070 --> 00:05:52,010 опсег ових знакова уместо нумерички положај у писму 82 00:05:52,010 --> 00:05:53,540 од ових ликова. 83 00:05:53,540 --> 00:05:56,610 >> И ми радимо исту ствар за мала слова. 84 00:05:56,610 --> 00:06:00,070 Осим желимо да одузмемо од мала слова и додајте га назад на у 85 00:06:00,070 --> 00:06:02,900 крај, мала слова. 86 00:06:02,900 --> 00:06:08,120 Обратите пажњу да је само нум_леттер_сеен повећава када сам био порука 87 00:06:08,120 --> 00:06:09,640 алфабетски. 88 00:06:09,640 --> 00:06:15,790 То је како смо прескочити спаце, симболе, и Бројеви у нашој фраза, од 89 00:06:15,790 --> 00:06:20,520 нум_леттер_сеен је оно што ми користимо у индексу у нашој кључну реч. 90 00:06:20,520 --> 00:06:24,540 >> Коначно, на крају, сада то порука Ја је шифрована, ми 91 00:06:24,540 --> 00:06:26,280 одштампати поруку ја. 92 00:06:26,280 --> 00:06:27,890 И то је то. 93 00:06:27,890 --> 00:06:28,670 Моје име је Роб. 94 00:06:28,670 --> 00:06:31,020 И ово је Вигенере. 95 00:06:31,020 --> 00:06:32,850 >> [Музика свира] 96 00:06:32,850 --> 00:06:36,651