RSA暗号化を理解しようとしていますが、アルゴリズムは非常に複雑に見えます。
非対称暗号化では、キーと関数を使用してデータを暗号化し、別の関数を使用してデータを復号化することを知っています。
ほとんどの基本的な対称アルゴリズム(関数)で使用されているxor-ingを理解しています。同じキー(プレーンデータと同じ長さの一連のビットが暗号化と復号化に使用されます)。これは、xor関数が対称的であるために可能です(私が知っていることから)。
非対称関数の例は何ですか?暗号化に使用する関数と復号化に使用する関数、および関数の2番目の引数(最初の引数は暗号化/復号化しようとしているデータ)をどのように計算しますか?
RSAは、非対称暗号化の最も単純な既知のインスタンスについてのものです。他にもいくつかありますが、それらはすべて数学に依存しています。
対称暗号化は(概念的には)簡単です。データで大きな結び目を作り、結び目がどのようにして作られたかを思い出すだけだからです。その知識(「キー」)があれば、基本的にすべての操作を逆の順序で元に戻すことによって、結び目をほどくことができます。
非対称暗号化には魔法のようなものが必要です。結び目のメタファーを使いたい場合は、結び方の1つですが、どのように結び付けられているかを知っていても、結び方を解くことはできません。暗号化の用語では、たとえ公開鍵(データを暗号化する力)がわかっていても、秘密鍵(データを復号化する力)を回復することは不可能である必要があります。秘密鍵と公開鍵は、一方が他方の暗号化内容を復号化するため、共通の数学的構造を共有しますが、その構造は分析に抵抗する必要があります。
この回答では 、RSAを簡単に説明しようとしました。非対称暗号を理解したい場合は、RSAを理解するのに十分な数学を理解する必要があります。良いニュースは、そのような知識はそれほど難しくなく、再利用可能であることです。ですから、代数を計算することをお勧めします。基本的に、整数を「モジュロ」で計算する概念に慣れる必要があります。