[Música tocando] ZAMYLA CHAN: Imos aplicar Vigenère, algo máis asegurar a cifra de César. O texto simple é cifrada usando unha cadea en vez dun número enteiro. Cada carácter alfabético en texto sexa desviado por un letra na palabra clave. Neste exemplo, a palabra chave ohai, ó corresponde a un desvío de 14; H para unha cambiar de 7; A, cambio de 0, e I un desprazamento de 8. Se xa aplicou con éxito a súa Cifra de César, que vai ser un bo cadro a partir do cal pode aplicar Vigenère. Como podes ver, a execución dun Vigenère Cipher cun único personaxe como un contrasinal é o mesmo como unha cifra de César. Os mesmos pasos se aplica a Vigenère como fixeron en César. O contrasinal é a segunda liña de comandos argumento, para que acceder a ela con argv1. Entón tes que comprobar se a clave palabra é realmente todo alfabética. Aquí é onde está alpha pode vir a cadra. Se ten unha clave válida, comeza a forza do usuario e, a continuación, xa estás preparado para cifrar. A fórmula cifra de Vigenère é semellante fórmula César, só que agora k convértese en k índice j, indicando o j-th letra da palabra clave. Imos pasar por este proceso. Digamos que quería mandar unha mensaxe ao seu accidente, máis me gusta de ti, pero non quero que todos saiban. Entón usa unha cifra de Vigenère co contrasinal panda, porque, así, tamén se como pandas. A primeira letra, I, será desprazado por p, dando-x, 15 cartas despois de que eu, porque 15 p é o 16 letra do alfabeto. A seguinte letra do texto é un espazo, de xeito que non será desprazado. E o contido da palabra clave non vai cambiar. A continuación, a seguinte letra en texto simple é l, desviado por un, o que non se mova letra de texto simple en todo, porque a é 0 letra do alfabeto. O proceso continúa, o avance da carácter contrasinal cada vez que hai unha letra en texto sen formato. Xa que a última carta a palabra clave é alcanzar, o seu contrasinal implica e cambios para a próxima chaira letra texto p. X lvne noh. Como romántico. Así, dado un personaxe, como se converter en que o correspondente cifra quenda? Probe comparar o ASCII valores para o cambio. Tal vez lle atopar unha relación entre as cartas e os seus índice alfabético usando matemática ASCII. Pode engadir ou restar un carácter doutro para obter o resultado desexado? Lembre que os cambios para maiúsculas e minúsculas son as mesmas. Entón quizais vai ter identificar dous fórmulas semellantes para representar o cambio, un para unha letra maiúscula carácter contrasinal, e un a unha minúscula. Logo, lembre que o seu contrasinal avances só se o personaxe en texto é unha carta e que o caso da chaira texto debe ser preservada. Entón, se miramos a fórmula para o Desprazamento Vigenère, existen dúas índice variables, i e j. Un mantén o control da situación na chaira texto, e o outro a posición a palabra clave. Pero o texto simple pode ser moito maior que a súa contrasinal, caso en que a súa Índice de palabras clave que participa en torno de volta ao comezo dunha palabra clave. Como fai iso? Imos mirar para atrás, o operador módulo. Modulo defínese é o resto da división de dous números. Pero o que é unha práctica real uso de módulo? Ben, digamos que ten un gran grupo de persoas, e ten que dividir en tres grupos. Un xeito de dividir á xente en grupos é telos contar off. É o número do grupo de grupos número 1, 2, e 3. A primeira persoa vai dicir un, no próximo 2, o próximo 3. A persoa que vai dicir despois de 1, por que non é un grupo 4, e o conta comeza a partir de aí. Pode utilizar o módulo de facer o mesmo. Esta vez, os grupos serán ser o grupo 0, 1 e 2. A primeira persoa, número 1 módulo 3, é 1. Persoa 2 módulo 3 é 2. Persoa 3 módulo 3 é 0. Persoa 4 modulo 3 dá 1, e así os grupos pode implicar en torno. Entón, se tomar un índice e modulo que por un índice de tamaño máximo, o resultado nunca será maior que ou igual ao tamaño, o que significa que poden aumentar o índice de tanto como desexa. E mentres Modulo o índice algún número, non vai obter un número maior que iso. Polo tanto, temos 10 persoas en vez de 5, e eles todos son asignados a grupos número 0, 1 ou 2. Probe aplicar isto para envolver todo o contrasinal, excepto no canto de selección persoas en números de grupo quere que o índice de contrasinal para que poida O personaxe axeitado para o desprazar sen superar o lonxitude da corda. Con iso, ten o seu Vigenère cifrado. O meu nome é Zamyla, e este é o CS50.