[音楽再生] 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です。