1 00:00:00,000 --> 00:00:10,101 >> [음악 연주] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA CHAN :하자의 구현 Vigenere, 조금 더 3 00:00:12,700 --> 00:00:14,710 카이사르보다 암호를 고정합니다. 4 00:00:14,710 --> 00:00:19,670 일반 텍스트를 사용 cipher 화된다 대신 정수 문자열입니다. 5 00:00:19,670 --> 00:00:22,970 각 알파벳 문자 일반 텍스트로 이동합니다 6 00:00:22,970 --> 00:00:24,450 키워드를 문자입니다. 7 00:00:24,450 --> 00:00:30,860 >> 이 예에서, 키워드 ohai, O 14의 변화에​​ 대응, H는에 8 00:00:30,860 --> 00:00:36,910 7의 변화,의, 변화를 0; 그리고 8의 변화. 9 00:00:36,910 --> 00:00:40,710 당신이 성공적으로 구현 한 경우 시저 암호는, 그것은 좋을 것이다 10 00:00:40,710 --> 00:00:43,510 프레임 워크 어떤에서 당신 Vigenere을 구현할 수 있습니다. 11 00:00:43,510 --> 00:00:47,140 당신이 볼 수 있듯이, Vigenere을 실행 와 같은 단일 문자 암호 12 00:00:47,140 --> 00:00:51,830 키워드는 같은 것입니다 시저 암호로. 13 00:00:51,830 --> 00:00:55,170 >> 동일한 단계 Vigenere 적용 그들은 시저에서했던 것처럼. 14 00:00:55,170 --> 00:01:01,240 키워드는 두 번째 명령 줄입니다 인수, 그래서 당신은 argv1으로 액세스 할 수 있습니다. 15 00:01:01,240 --> 00:01:05,400 그럼 당신은 확인해야하는 키 단어는 참으로 모든 알파벳입니다. 16 00:01:05,400 --> 00:01:09,040 여기에 알파 곳입니다 편리하게 올 수 있습니다. 17 00:01:09,040 --> 00:01:13,550 당신은 유효한 키워드가있는 경우에, 당신은을 그런 다음 사용자의 강도, 18 00:01:13,550 --> 00:01:15,820 당신은 암호로 바꾸다 할 준비가되었습니다. 19 00:01:15,820 --> 00:01:20,840 >> Vigenere 암호 수식과 비슷합니다 지금은 K 제외한 시저 식에 20 00:01:20,840 --> 00:01:27,650 나타내는 K 첨자 J가됩니다 키워드의 j 번째 편지입니다. 21 00:01:27,650 --> 00:01:29,640 의이 과정을 통해 단계를 보자. 22 00:01:29,640 --> 00:01:34,060 당신에게 메시지를 보낼 필요가 있다고 충돌, 난 당신을 좋아하지만, 당신은하지 않습니다 23 00:01:34,060 --> 00:01:35,190 모두가 알고 싶어요. 24 00:01:35,190 --> 00:01:39,800 그래서 당신과 함께 Vigenere 암호를 사용 키워드 팬더 때문에, 잘, 당신도 25 00:01:39,800 --> 00:01:41,160 팬더를 좋아한다. 26 00:01:41,160 --> 00:01:47,140 >> 첫 번째 문자는, 나는, 이동 될 것입니다 I 후, 15 문자 X를주는 P에 의해, 27 00:01:47,140 --> 00:01:52,850 15 P는 16이기 때문에 알파벳의 편지입니다. 28 00:01:52,850 --> 00:01:56,750 일반 텍스트의 다음 문자입니다 공간 이동되지 않게합니다. 29 00:01:56,750 --> 00:02:00,420 그리고 키워드의 인덱스 변경되지 않습니다. 30 00:02:00,420 --> 00:02:05,440 >> 그런 다음 일반 텍스트의 다음 문자입니다 이동하지 않는만큼 이동 L, 31 00:02:05,440 --> 00:02:10,930 모두에서 일반 텍스트 문자 때문에 이 알파벳의 0 번째 문자입니다. 32 00:02:10,930 --> 00:02:14,980 프로세스를 진행, 계속 키워드 문자가의 때마다 33 00:02:14,980 --> 00:02:16,840 일반 텍스트 문자입니다. 34 00:02:16,840 --> 00:02:21,850 키워드에있는 마지막 문자가되면 도달 키워드를 감싸는와 35 00:02:21,850 --> 00:02:25,890 옆에 일반으로 이동 P 님의 텍스트 문자입니다. 36 00:02:25,890 --> 00:02:27,170 X lvne 노. 37 00:02:27,170 --> 00:02:29,180 낭만적. 38 00:02:29,180 --> 00:02:33,120 >> 그래서 문자를 주어진, 어떻게 변환합니까 그 대응에 39 00:02:33,120 --> 00:02:34,590 변화를 암호문? 40 00:02:34,590 --> 00:02:37,870 ASCII를 비교하려고 변화하는 값. 41 00:02:37,870 --> 00:02:41,530 어쩌면 당신은 관계를 찾을 수 있습니다 문자와 그 사이 42 00:02:41,530 --> 00:02:44,550 ASCII 수학을 사용하여 알파벳 인덱스입니다. 43 00:02:44,550 --> 00:02:48,850 당신은 하나의 문자를 추가하거나 뺄 수 있습니다 서로 얻을 수 44 00:02:48,850 --> 00:02:51,630 당신이 원하는 결과? 45 00:02:51,630 --> 00:02:55,480 >> 기억이 대문자의 변화 와 소문자는 동일합니다. 46 00:02:55,480 --> 00:02:59,510 그래서 아마도 당신은 두 가지를 확인해야합니다 유사한 수식을 대표하는 47 00:02:59,510 --> 00:03:03,570 변화, 대문자 하나 키워드 문자 하나 48 00:03:03,570 --> 00:03:06,510 소문자 하나. 49 00:03:06,510 --> 00:03:10,630 >> 다음으로, 기억하는 키워드 발전 문자 만있는 경우 50 00:03:10,630 --> 00:03:13,520 일반 텍스트 문자와 즉 보통의 경우 51 00:03:13,520 --> 00:03:16,020 텍스트를 유지해야합니다. 52 00:03:16,020 --> 00:03:20,280 우리에 대한 공식보고 그렇다면 Vigenere의 변화는 두 개의 인덱스가 있습니다 53 00:03:20,280 --> 00:03:22,880 변수 i와 j. 54 00:03:22,880 --> 00:03:26,795 하나는 일반의 위치를​​ 추적 텍스트 및 기타 위치 55 00:03:26,795 --> 00:03:27,910 키워드합니다. 56 00:03:27,910 --> 00:03:32,960 하지만 일반 텍스트 훨씬 길어질 수 있습니다 키워드보다,이 경우에 57 00:03:32,960 --> 00:03:38,290 키워드 인덱스 다시 바꿈 할 필요가 키워드의 시작. 58 00:03:38,290 --> 00:03:39,870 >> 어떻게 당신이해야합니까? 59 00:03:39,870 --> 00:03:43,740 에서 다시 살펴 보자 나머지 연산자. 60 00:03:43,740 --> 00:03:47,280 모듈을 정의하면 나머지입니다 두 숫자를 나눈. 61 00:03:47,280 --> 00:03:50,680 하지만이 실제의 실제의 모듈의 사용? 62 00:03:50,680 --> 00:03:54,340 >> 글쎄, 당신은의 큰 그룹을 말한다 사람, 당신은으로 분할해야 63 00:03:54,340 --> 00:03:55,100 세 그룹. 64 00:03:55,100 --> 00:03:59,500 사람들을 두 그룹으로 분할하는 방법 중 하나 그들을 해제 계산하는 것입니다. 65 00:03:59,500 --> 00:04:03,520 당신은 숫자 그룹 그룹 숫자 1, 2, 3. 66 00:04:03,520 --> 00:04:08,510 첫 번째 사람은 1 말할 것이다 다음 2, 다음 3. 67 00:04:08,510 --> 00:04:12,860 1 말할 것이다 후에 사람 그룹 4 및이 없기 때문에 68 00:04:12,860 --> 00:04:15,880 카운트는 거기에서에 시작합니다. 69 00:04:15,880 --> 00:04:18,209 >> 당신은에 모듈을 사용할 수 있습니다 같은 일을 할. 70 00:04:18,209 --> 00:04:22,680 이번에는 그룹이됩니다 그룹 0, 1, 2가. 71 00:04:22,680 --> 00:04:26,960 첫 번째 사람 수 1 모듈 3, 1입니다. 72 00:04:26,960 --> 00:04:29,830 인 2 모듈 3은 2입니다. 73 00:04:29,830 --> 00:04:32,460 사람 3 모듈 3은 0입니다. 74 00:04:32,460 --> 00:04:38,470 사람 4 모듈 3 그래서 1 제공하고, 그룹 바꿈 할 수 있습니다. 75 00:04:38,470 --> 00:04:44,700 >> 당신은 인덱스와 모듈을 그렇게하는 경우 최대 크기에 해당 인덱스, 76 00:04:44,700 --> 00:04:49,820 결과는 이상 없을 것 즉, 동일한 크기의 것을 당신 77 00:04:49,820 --> 00:04:52,330 로 인덱스를 증가시킬 수 있습니다 당신이 원하는만큼 많은. 78 00:04:52,330 --> 00:04:57,400 그리고 오랫동안 당신은에 의해 인덱스를 모듈로 어떤 수, 당신은 번호를 얻을 수 없습니다 79 00:04:57,400 --> 00:04:58,510 보다 큰. 80 00:04:58,510 --> 00:05:04,500 그래서 우리는 10 명의 대신에 5를 가지고 있고, 그들은 모두 그룹에 할당받을 것이다 81 00:05:04,500 --> 00:05:07,480 숫자 0, 1, 또는 2. 82 00:05:07,480 --> 00:05:11,680 >> 에 포장이을 적용하려고 키워드를 제외하고 대신 정렬 83 00:05:11,680 --> 00:05:16,050 그룹 번호에 사람들은 당신이 원하는 키워드 인덱스 당신이 할 수 있도록 84 00:05:16,050 --> 00:05:19,080 에 적합한 특성을 를 초과하지 않고 이동 85 00:05:19,080 --> 00:05:21,836 문자열의 길이입니다. 86 00:05:21,836 --> 00:05:24,790 그것으로, 당신은이 당신의 Vigenere 암호. 87 00:05:24,790 --> 00:05:27,790 내 이름은 Zamyla이며,이 CS50입니다. 88 00:05:27,790 --> 00:05:32,566