>> [音楽再生]
>> ZAMYLA CHAN：レッツを実装 ヴィジュネル、もう少し
シーザーも暗号を確保。
プレーンテキストを使用して暗号化されている 代わりに整数の文字列。
各アルファベットの文字で プレーンテキストがシフトされる
キーワードで手紙。
>> この例では、キーワードOHAI、O 14のシフトに対応し、Hをする
7のシフト、の、シフト 0;とI 8のシフト。
あなたが正常に実装している場合はあなたの シーザー暗号は、それはいいだろう
あなたからのフレームワーク ヴィジュネルを実装することができます。
あなたが見ることができるように、ヴィジュネルを実行している などの単一の文字で暗号
キーワードは同じものです シーザー暗号として。
>> 同じ手順はヴィジュネルに適用 彼らはシーザーで行ったように。
キーワードは、2番目のコマンドラインです 引数ので、argv1でアクセス。
その後、そのキーを確認する必要があります 言葉は確かにすべてのアルファベット順です。
アルファがあるのはここです 便利になることができます。
有効なキーワードがある場合は、取得 次いで、ユーザからの強度及び
あなたは、暗号化する準備が整いました。
>> ヴィジュネル暗号式が類似しています 今K除くシーザー式へ
kを示す添字jは、となる キーワードのj番目の文字。
このプロセスを通じてステップましょう。
あなたがあなたにメッセージを送りたいと思ったと言う クラッシュ、私はあなたが好きですが、あなたはしないでください
誰もが知りたい。
だからとヴィジュネル暗号を使用 キーワードパンダ、なぜなら、よく、あなたも
パンダが好きです。
>> 最初の文字は、私は、シフトされ 私の後に、15文字のXを与えるP、によって、
15 pは16日であるため、 アルファベットの文字。
プレーンテキスト内の次の文字です スペース、シフトされないように。
とキーワードのインデックス 変更されません。
>> その後、プレーンテキスト内の次の文字です ずれないだけシフトリットル、
プレーンテキスト全然手紙、なぜなら アルファベットの0番目の文字です。
プロセスが進んで、続けて キーワード文字あり、毎回
プレーンテキストの文字。
キーワードの最後の文字がなったら 達し、キーワードはラップアラウンドと
隣の平野に移行 Pでテキスト文字。
X lvne能楽。
どのロマンチック。
>> だからキャラクターを与え、どのように変換するには その対応に
シフト。暗号？
ASCIIを比較してみてください シフト値。
たぶん、あなたは関係を見つけることができます 文字とそれらの間に
ASCII数学を使ってアルファベットのインデックス。
1つの文字を追加または減算することができます 別のから取得する
あなたの希望する結果？
>> 覚えている大文字のためのシフト と小文字は同じです。
だから、おそらくあなたは、2つを識別する必要があります 同様の式が表現する
大文字のシフト、1 キーワード文字、および1
小文字のいずれかの。
>> 次に、そのキーワードの進歩を覚えている 文字だけであれば
プレーンテキストは、文字であることを 平野の場合
テキストは保存されなければならない。
だから我々の式を見れば ヴィジュネルシフトは、2つのインデックスがあります
変数iとj。
一つは平野に位置を追跡 テキスト、および他の位置
キーワードである。
しかし、あなたのプレーンテキストははるかに長くなることがあります 場合のあなたのあなたのキーワードを、より
キーワードインデックスでは、バックの周りにラップする必要がある キーワードの先頭に。
>> どのようにこれを行うのですか？
振り返ってみましょう モジュロ演算子。
モジュロは残りはされ定義されています 2つの数値を分割する。
しかし、実際の実用は何ですか モジュロを使うのか？
>> さて、あなたはの大規模なグループを持っていると言う 人、あなたはに分割する必要があります
三つのグループ。
グループに人を分割する一つの方法 彼らはオフ数えることです。
あなたの番号グループグループ 番号1,2、および3。
最初の人は、1と言うだろう 次の2、次の3。
1を言うだろう後人、 4基、そこではないので
カウントはそこから上を開始します。
>> 次のようなモジュロを使用することができます 同じことを行う。
今回は、グループが意志 グループ0,1、および2である。
最初の人、数 1モジュロ3は、1です。
人2モジュロ3は2である。
人3モジュロ3は0です。
人4モジュロ3ので1を与え、 グループは、周りにラップすることができます。
>> ですから、インデックスとモジュロを取る場合 最大サイズによって、そのインデックス、
結果は以上になることはありません サイズと等しい、あなたという意味
としてインデックスを増やすことができます あなたが好きなだけ。
そして限り、あなたは、インデックスをモジュロとして いくつかの数は、番号を取得することはありません
それよりも大きい。
だから我々は10人の代わりに5があり、 それらはすべてのグループに割り当てられたになるだろう
番号0、1、または2。
>> 上のラッピングにこれを適用しよう キーワードを除き、代わりにソート
したいグループ番号に人 キーワードのインデックスをあなたができるように
のための右の文字を取得する 超えることなくシフト
文字列の長さ。
そのことを、あなたは持っている ヴィジュネル暗号。
私の名前はZamylaであり、これはCS50です。