Vigenere Cipherの実装によるより安全な暗号化
cs50のYoutube動画「Vigenere Cipherの実装によるより安全な暗号化」について要点と要約をまとめました
3つの要点
- 要点1
Vigenere Cipherは、文字列を使用したより安全な暗号化方法です。 - 要点2
キーワードは、第2のコマンドライン引数としてアクセスされ、暗号化前にその妥当性が確認されます。 - 要点3
Vigenere Cipherの式はCaesar Cipherと似ていますが、平文が長い場合はキーワードがラップアラウンドします。
要約
Vigenere Cipherの実装
Vigenere Cipherは、Caesar Cipherよりも安全な暗号化方法であり、暗号化に整数ではなく文字列を使用します。平文の各アルファベット文字は、キーワードの文字によってシフトされます。キーワードとして単一の文字を使用してVigenere Cipherを実行することは、Caesar Cipherを使用するのと同じです。
Vigenere Cipherの実装手順
Vigenere Cipherを実装するには、キーワードを第2のコマンドライン引数としてアクセスします。キーワードがアルファベットの文字だけで構成されていることを確認することが重要です。有効なキーワードが取得されたら、強度をユーザーから取得し、暗号化プロセスを開始できます。
Vigenere Cipherの式とキーワードのラッピング
Vigenere Cipherの式はCaesar Cipherの式と似ていますが、シフト値’k’は’k subscript j’となり、キーワードのj番目の文字を示します。キーワードは平文の各文字ごとに進み、平文がキーワードよりも長い場合はキーワードの先頭に戻ります。
モジュロ演算子を使用したキーワードのラッピング
キーワードのラッピングには、モジュロ演算子が使用されます。インデックスを取り、そのインデックスをキーワードの最大サイズでモジュロ演算することで、インデックスを増やすことができますが、キーワードの長さを超えることはありません。これにより、正しいシフトのための文字がエラーなく取得されます。
▼今回の動画
編集後記
▼ライターの学び
Vigenere Cipherの実装により、より安全な暗号化方法があることを学びました。また、キーワードのラッピングによって、平文が長い場合でも正しい暗号化が行われることを学びました。
▼今日からやってみよう
今日からVigenere Cipherを使って暗号化を行ってみましょう。自分でキーワードを設定し、文字列を暗号化してみることができます。