
誰もが知っているように、暗号化はデジタル暗号通貨の基礎であり、私たちの資産のセキュリティを保証するものであり、マイニングの基礎となるルールでもあります。しかし、彼らのほとんどは暗号についてほとんど知らないため、ブロックチェーンプロジェクトの暗号化方式を理解するのは難しく、理解できなければプロジェクトへの信念を語ることもできず、ただその流れに従うことしかできません。コインで投機します。
皆さんの混乱を解決するために、Cheetah Blockchain は、最も古い暗号化方法から始めて、暗号化の多くの概念を理解し、ブロックチェーン プロジェクトの安全性を判断できるようにさらに深く掘り下げた一連の暗号化記事を作成します。
シーザー暗号化
最初のよく知られた暗号であるシーザー暗号は、紀元前 58 年頃にジュリアス シーザーによって使用されました。シーザーは軍事命令の中で、敵がシーザーの軍事命令を傍受するのを防ぐためにすべての文字を変更し、彼の本当の情報を直接入手しました。
シーザー暗号化は最も単純な暗号化方法です。暗号化の両側はまず、手紙の置換番号について合意に達する必要があります。たとえば、合意した暗号化された置換番号は 3 です。その後、私が送信するすべての手紙は 3 つの置換を経る必要があります. (A は D になり、B は E になり、C は F になります...)
私の平文が「攻撃」であると仮定すると、変位 3 のシーザー暗号化の後、それは「dwwtfn」になります。
そして、その暗号文を使者を通じて相手に送信することで、たとえ敵が使者を捕らえたとしても、理解不能な文章の束を手に入れることになり、暗号文を入手することに成功した将軍は暗号文の本当の平文情報を渡すことになる。は各文字から 3 を引くことで得られ、このプロセスは復号化と呼ばれます。
シーザー暗号は最も初期の暗号化方式であり、西側の軍の将軍によって何百年も使用されてきました。 800 年の時を経て、ついに AI-Kindi というアラブの数学者がシーザー暗号を解読しました。
英語の本のテキストに目を通し、各文字の頻度を計算すると、驚くべき秘密がわかります。つまり、英語のテキストで最も頻繁に使用される文字は常に e であり、これは英語のテキストによって決まります。暗号文を書いた人はそれに気づきません。暗号化では、これはフィンガープリントと呼ばれます。
したがって、暗号文内で最も頻繁に使用される文字を見つけて、それを文字 e と比較する限り、シーザー暗号の暗号化された置換を見つけることができます。たとえば、暗号文内で最も頻繁に使用される文字は h であり、次に、暗号化されたディスプレイスメントは 3 であると推測できます。暗号化されたディスプレイスメントを使用すると、すべての平文を推定できます。
この手法は周波数解析と呼ばれるもので、この手法の登場はシーザー暗号の安全性にとって非常に大きな打撃となる。
ただし、強力なパスワードはこの指紋を隠すことができ、指紋を隠す方法は文字の使用頻度分布を均一にすることです。
マルチテーブルパスワード
15世紀頃、この目的を達成するために多表暗号が提案されましたが、多表暗号とシーザー暗号の違いは、ディスプレイスメント暗号化に単一の数値を使用するのではなく、ディスプレイスメントワードを参照することです。
この暗号化方法の最初のステップは、「world」であると仮定して置換単語を決定し、次にその単語をアルファベット内の単語の位置に従って数値に変換することです(「world」→「21、15、18」)。次に、この数字列が情報符号化の過程で繰り返され、この数字列に従って平文情報がシフトされる。
平文が「abcde fghij」、暗号化された暗号文が「vrvqj bwavo」であるとします。
このようにして、暗号文がパートナーに送信されると、パートナーは、事前に合意された秘密の単語に従って、対応する変位を減算することによって情報を復号化することができます。
暗号文が傍受された場合、盗聴者は使用された文字の頻度を数えることにより、より平坦な分布を見つけたでしょう。
それで、彼はどうやってそれを解くのでしょうか?
実は非常に単純です。クラッカーは情報漏洩、つまりローカルの指紋を探していることに注意してください。文字の頻度に違いがある限り、情報漏洩は発見されます。この違いは暗号文の繰り返しによって引き起こされます。
この例では、発行者のパスワードは単語の繰り返しを使用しています。暗号化を解読するには、盗む者はまず、単語そのものではなく、シフトされた単語の長さを決定する必要があります。情報全体の統計を作成し、情報をチェックする必要があります。異なる間隔の頻度分布を調べ、5 文字の周期で頻度分布を調べたところ、指紋が現れました。
したがって、この複数の変位を使用した暗号化方式は、Caesar が使用していた単一変位暗号化方式と比較して、変位ワードの長さを決定するのにかかる時間に強く、変位ワードが長いほど情報の安全性が高くなります。
多表暗号はシーザー暗号よりもはるかに安全ですが、理論上は時間をかければ解読可能です。
ワンタイムパッド
情報の絶対的なセキュリティを保証する暗号化方法はありますか?答えはランダム暗号化です。
暗号化装置が 26 面のサイコロを振ってランダムにシフトされた長い数字のシーケンスを生成し、それを復号装置と共有してシフトされた単語を置き換え、このランダムな文字シーケンスを使用してシフトする場合を想像してください。シーケンスの長さは情報と同じです。長さは一貫しています。これは繰り返しを避けるために非常に重要です。その後、暗号文を受信者に送信します。受信者は、メッセージを復号化するために指定したランダムな変位番号の列を使用します。
この方法が採用された場合、第三者の盗聴者が解読することは非常に困難になります。第一に、変位が繰り返しパターンに陥ることがないこと、第二に、暗号文は周波数差がないため均一な周波数分布を持つことになります。情報漏洩がないため、暗号を解くことは基本的に不可能です。
これは 19 世紀後半に登場した最強の暗号化方式で、現在ではワンタイムパッドとして知られています。
ワンタイムパッドの実現方法については、次回の記事でご紹介しますので、ご期待ください。