1 00:00:00,000 --> 00:00:10,101 >> [Reproducció de música] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA CHAN: Posarem en pràctica Vigenère, una mica més 3 00:00:12,700 --> 00:00:14,710 assegurar xifra del Cèsar. 4 00:00:14,710 --> 00:00:19,670 El text es xifra usant una cadena en lloc d'un nombre enter. 5 00:00:19,670 --> 00:00:22,970 Cada lletra de l'alfabet en text sense format es desplaça per una 6 00:00:22,970 --> 00:00:24,450 lletra en la paraula clau. 7 00:00:24,450 --> 00:00:30,860 >> En aquest exemple, la paraula clau ohai, O correspon a un desplaçament de 14, H a una 8 00:00:30,860 --> 00:00:36,910 canviar de 7; A, torn d' 0, i un desplaçament de 8. 9 00:00:36,910 --> 00:00:40,710 Si ha implementat amb èxit la seva Xifrat César, serà un bon 10 00:00:40,710 --> 00:00:43,510 marc des del qual es pot implementar Vigenère. 11 00:00:43,510 --> 00:00:47,140 Com podeu veure, córrer un Vigenère xifrat amb un caràcter individual com 12 00:00:47,140 --> 00:00:51,830 paraula clau és el mateix com un sistema de xifrat César. 13 00:00:51,830 --> 00:00:55,170 >> Els mateixos passos s'apliquen a Vigenère com ho van fer en Cèsar. 14 00:00:55,170 --> 00:01:01,240 La paraula clau és la segona línia d'ordres argument, per la qual cosa s'accedeix amb argv1. 15 00:01:01,240 --> 00:01:05,400 Després cal verificar que la clau paraula és veritat tot alfabètic. 16 00:01:05,400 --> 00:01:09,040 Aquí és on alpha pot ser útil. 17 00:01:09,040 --> 00:01:13,550 Si vostè té una paraula clau vàlida, s'obté la la força per part de l'usuari i, a continuació, 18 00:01:13,550 --> 00:01:15,820 vostè està preparat per xifrar. 19 00:01:15,820 --> 00:01:20,840 >> La fórmula xifrat Vigenère és similar al Cèsar fórmula, excepte que ara k 20 00:01:20,840 --> 00:01:27,650 k esdevé subíndex j, el que indica la j-èsima lletra de la paraula clau. 21 00:01:27,650 --> 00:01:29,640 Donem un pas a través d'aquest procés. 22 00:01:29,640 --> 00:01:34,060 Diguem que vostè vol enviar un missatge a la accident, m'agrades, però no ho faig 23 00:01:34,060 --> 00:01:35,190 vull que tots sàpiguen. 24 00:01:35,190 --> 00:01:39,800 Així que utilitza un xifrat de Vigenère amb el colla de paraules clau, perquè, bé, també 25 00:01:39,800 --> 00:01:41,160 com pandes. 26 00:01:41,160 --> 00:01:47,140 >> La primera carta, jo, es desplaçarà per p, donant x, 15 cartes després que jo, 27 00:01:47,140 --> 00:01:52,850 perquè 15 p és el 16 lletra de l'alfabet. 28 00:01:52,850 --> 00:01:56,750 La següent lletra del text és un espai, pel que no es va moure. 29 00:01:56,750 --> 00:02:00,420 I l'índex de la paraula clau no canviarà. 30 00:02:00,420 --> 00:02:05,440 >> A continuació, la següent lletra en text pla és l, desplaçat per una, que no es desplaça 31 00:02:05,440 --> 00:02:10,930 la lletra de text sense format en absolut, perquè a és la lletra de l'alfabet 0 ª. 32 00:02:10,930 --> 00:02:14,980 El procés continua, l'avanç de la personatge clau cada vegada que hi ha un 33 00:02:14,980 --> 00:02:16,840 lletra en el text sense format. 34 00:02:16,840 --> 00:02:21,850 Una vegada que l'última lletra de la paraula clau és aconseguir, la paraula clau s'embolica al voltant de i 35 00:02:21,850 --> 00:02:25,890 es desplaça a la següent plana text lletra per p. 36 00:02:25,890 --> 00:02:27,170 X lvne noh. 37 00:02:27,170 --> 00:02:29,180 Què romàntic. 38 00:02:29,180 --> 00:02:33,120 >> Així que donat un caràcter, com convertir que en el corresponent 39 00:02:33,120 --> 00:02:34,590 xifrar torn? 40 00:02:34,590 --> 00:02:37,870 Intenta comparar l'ASCII Els valors per al canvi. 41 00:02:37,870 --> 00:02:41,530 Potser vostè pot trobar una relació entre les lletres i els seus 42 00:02:41,530 --> 00:02:44,550 Índex alfabètic usant matemàtiques ASCII. 43 00:02:44,550 --> 00:02:48,850 Es pot afegir o restar un caràcter d'un altre per obtenir 44 00:02:48,850 --> 00:02:51,630 que el resultat desitjat? 45 00:02:51,630 --> 00:02:55,480 >> Recordeu que els canvis de majúscules i minúscules són iguals. 46 00:02:55,480 --> 00:02:59,510 Així que potser haurà d'identificar a dos fórmules similars per representar la 47 00:02:59,510 --> 00:03:03,570 canvi, un per a una majúscula caràcter de paraula clau, i un 48 00:03:03,570 --> 00:03:06,510 d'un en minúscula. 49 00:03:06,510 --> 00:03:10,630 >> A continuació, recorda que la paraula clau avenços només si el caràcter en 50 00:03:10,630 --> 00:03:13,520 text és una carta i que el cas de la plana 51 00:03:13,520 --> 00:03:16,020 text ha de ser preservada. 52 00:03:16,020 --> 00:03:20,280 Així que si ens fixem en la fórmula per al Vigenère canvi, hi ha dos índex 53 00:03:20,280 --> 00:03:22,880 variables i i j. 54 00:03:22,880 --> 00:03:26,795 Es realitza un seguiment de la posició en la plana text, i l'altra la posició 55 00:03:26,795 --> 00:03:27,910 en la paraula clau. 56 00:03:27,910 --> 00:03:32,960 Però el text pot ser molt més llarg que la seva paraula clau, en aquest cas el 57 00:03:32,960 --> 00:03:38,290 índex de paraules clau ha d'embolicar al voltant de l'esquena per al començament de la paraula clau. 58 00:03:38,290 --> 00:03:39,870 >> Com fer això? 59 00:03:39,870 --> 00:03:43,740 Anem a mirar cap enrere en el operador mòdul. 60 00:03:43,740 --> 00:03:47,280 Mòdul es defineix és la resta de dividir dos nombres. 61 00:03:47,280 --> 00:03:50,680 Però el que és una pràctica real l'ús de mòdul? 62 00:03:50,680 --> 00:03:54,340 >> Bé, diguem que té un gran grup de persones, i cal dividir en 63 00:03:54,340 --> 00:03:55,100 tres grups. 64 00:03:55,100 --> 00:03:59,500 Una manera de dividir la gent en grups és fer que compti. 65 00:03:59,500 --> 00:04:03,520 Vostè número del grup de grups número 1, 2, i 3. 66 00:04:03,520 --> 00:04:08,510 La primera persona que dirà 1, la propera 2, la següent 3. 67 00:04:08,510 --> 00:04:12,860 La persona després que digui 1, perquè no és un grup 4, i el 68 00:04:12,860 --> 00:04:15,880 recompte comença de nou des d'allà. 69 00:04:15,880 --> 00:04:18,209 >> Vostè pot utilitzar mòdul de fer el mateix. 70 00:04:18,209 --> 00:04:22,680 Aquesta vegada, els grups ser el grup 0, 1, i 2. 71 00:04:22,680 --> 00:04:26,960 La primera persona, el nombre 1 modul 3, 1. 72 00:04:26,960 --> 00:04:29,830 Persona 2 mòdul 3 és 2. 73 00:04:29,830 --> 00:04:32,460 Persona 3 mòdul 3 és 0. 74 00:04:32,460 --> 00:04:38,470 Persona 4 mòdul 3 dóna 1, i així els grups poden embolicar al voltant. 75 00:04:38,470 --> 00:04:44,700 >> Així que si vostè pren un índex i el mòdul dit índex per una mida màxima, la 76 00:04:44,700 --> 00:04:49,820 resultat mai serà més gran que o igual a la grandària, el que significa que 77 00:04:49,820 --> 00:04:52,330 pot augmentar l'índex com tot el que volgués. 78 00:04:52,330 --> 00:04:57,400 I mentre que l'índex de mòdul per un nombre, vostè no aconseguirà un nombre 79 00:04:57,400 --> 00:04:58,510 més gran que això. 80 00:04:58,510 --> 00:05:04,500 Així que tenim 10 persones en lloc de 5, i tots ells se'ls assigna als grups 81 00:05:04,500 --> 00:05:07,480 número 0, 1, o 2. 82 00:05:07,480 --> 00:05:11,680 >> Intenta aplicar això a embolicar el paraula clau, excepte que en lloc de classificar 83 00:05:11,680 --> 00:05:16,050 la gent en nombres de grup que desitja que el Índex de la paraula clau, perquè pugui 84 00:05:16,050 --> 00:05:19,080 obtenir el caràcter adequat per a la canviar sense excedir l' 85 00:05:19,080 --> 00:05:21,836 longitud de la cadena. 86 00:05:21,836 --> 00:05:24,790 Amb això, vostè té el seu Vigenère. 87 00:05:24,790 --> 00:05:27,790 El meu nom és Zamyla, i això és CS50. 88 00:05:27,790 --> 00:05:32,566