Pythonでシーザー暗号を回避する方法
cs50のYoutube動画「Pythonでシーザー暗号を回避する方法」について要点と要約をまとめました
3つの要点
- 要点1
キーと平文は、コマンドラインとget_string関数を介してユーザーから取得することができます。 - 要点2
暗号化のアルゴリズムは変わらず、アルファベットの文字をキーによってシフトし、大文字・小文字を保持します。 - 要点3
シーザーの公式は、キーを平文の文字に加え、その結果を26で割り、アルファベットのインデックスを考慮します。
要約
キーと平文の取得
Pythonでは、Cと同様に、キーをコマンドラインからユーザーに取得し、平文を入力させることができます。キーをコマンドラインから取得するためには、sysモジュールを使用し、argv変数を整数にキャストします。平文には、CS50モジュールのget_string関数を使用できます。
平文の暗号化
暗号化のアルゴリズムは同じです。平文の文字列の各文字に対して、アルファベットである場合はキーによってシフトし、大文字と小文字を保持します。Pythonでは、Cと同様に、isalpha、isupper、islower関数を使用して、文字がアルファベットであるかどうかとその大文字・小文字をチェックすることができます。
シーザーの公式の使用
アルファベットを周回させるために、キーを平文の文字に加え、その結果を26で割ります。ただし、ASCII値で作業する場合、アルファベットのインデックスを考慮する必要があります。Pythonでは、ASCII値とアルファベットのインデックスの変換を行うための関数を使用することができます。
シーザー暗号を回避する成功の秘訣
これらの手順に従うことで、Pythonでシーザー暗号を回避することができます。キーと平文の取得、平文の暗号化、およびASCIIとアルファベットのインデックスの変換を利用したシーザーの公式の使用が覚えておくべきポイントです。
▼今回の動画
編集後記
▼ライターの学び
キーと平文の取得方法、暗号化のアルゴリズム、およびシーザーの公式について学びました。
▼今日からやってみよう
今日からPythonでシーザー暗号を回避する方法を実践してみましょう!キーと平文の取得、平文の暗号化、およびシーザーの公式の使用を試すことができます。