行列を使ったエンコードとデコード方法
目次
- はじめに
- メッセージのエンコードとデコード
- メッセージのコーディング
3.1. メッセージ行列の作成
3.2. コーディング行列の決定
3.3. 行列の乗算
3.4. コーディングメッセージの送信
- メッセージのデコード
4.1. デコード行列の決定
4.2. 行列の逆行列の計算
4.3. メッセージのデコード
- おわりに
メッセージのエンコードとデコード
はじめに
このビデオでは、メッセージのエンコードとデコード方法を行列を使用して説明します。このビデオを作成するにあたって、既に行列の乗算方法を知っていること、およびグラフィング電卓を使用して行列の乗算についての経験があることを前提としています。行列の乗算についてのヘルプが必要な場合は、行列の乗算についてのビデオもありますので、ご参照ください。
メッセージのコーディング
時には、他の誰かに知られたくない情報を伝える必要があります。例えば、友達と一緒に株を売買している場合、彼らに「今すぐ売ってください」と伝えたいかもしれませんが、他の誰にもそれを知られたくはありません。そこで、このようなメッセージ「sell now」をコード化して、彼らが一部の文字を見ることができますが、他の人は理解できないようにする方法があります。
まず、文字と対応させるために、アルファベット表を使います。以下のように数字と文字を対応させます。
19 → S
5 → E
12 → L
0 → スペース
14 → N
15 → O
23 → W
しかし、このコーディングでは、すぐに解読されてしまう可能性があります。そのため、解読を困難にするために、より複雑なコーディング方法を考えます。
メッセージを行列で表現することで、コーディングを難しくすることができます。次に、2x2行列を乱数で作成し、この行列を元のメッセージ行列と乗算します。
メッセージのデコード
メッセージを受け取った側は、受け取った行列をデコードして元のメッセージを取得する必要があります。そのためには、コーディング行列の逆行列を求めて元のメッセージ行列と乗算する必要があります。
まず、コーディング行列の逆行列を求めます。2x2行列の場合、対角線上の数値を入れ替え、対角線以外の数値を逆数にします。そして、元のメッセージ行列と逆行列を乗算して、元のメッセージを取得します。
これにより、メッセージをコーディングして送信し、受け取った側がデコードして元のメッセージを取得することができます。
以上が、メッセージのエンコードとデコードの方法です。この方法を使用することで、他の人がメッセージを理解できないようにすることができます。