暗号

暗号とは何ですか?

暗号学では、暗号アルゴリズムの研究に関係する規律であり、暗号はデータを暗号化および復号化するためのアルゴリズムです。

対称鍵暗号化は、秘密鍵暗号化とも呼ばれ、対称的に動作する暗号の使用に依存します。 対称暗号化アルゴリズムでは、目的が平文を暗号文に変換することであるか、暗号文を平文に変換することであるかにかかわらず、同じ暗号化キーがデー 暗号は、元の平文文字またはその他のデータを暗号文に処理することによってデータを変換します。 暗号文はランダムなデータとして表示されます。

伝統的に、暗号は次の2つの主なタイプの変換を使用していました:

  1. 転置暗号は、データの元のすべてのビットをバイト単位で保持しますが、その順序を混在させます。
  2. 置換暗号は、特定のデータシーケンスを他のデータシーケンスに置き換えます。 例えば、1つのタイプの置換は、1の値を有するすべてのビットを0の値に変換することであり、その逆もまた同様である。

いずれかのメソッドから出力されるデータは暗号文と呼ばれます。

最新の暗号は、Transport Layer Security(TLS)プロトコルやネットワークトラフィックの暗号化を提供する他のプロトコルを含む、多くの異なるネットワークプロトコルでプライベート通信を可能にします。 電話、デジタルテレビ、Atmなどの多くの通信技術は、セキュリティとプライバシーを維持するために暗号に依存しています。

暗号はどのように機能しますか?

暗号は固定ルールのシステム-暗号化アルゴリズム-を使用して、判読可能なメッセージである平文を暗号文、明らかにランダムな文字列に変換します。 暗号は、ストリーム暗号と呼ばれるストリーム内のビットを暗号化または復号化するように設計できます。 または、ブロック暗号として知られている指定されたビット数の一様なブロックで暗号文を処理することができます。

暗号化の仕組みの図
暗号化アルゴリズムは、平文に暗号化キーを適用します。

現代の暗号の実装は、アルゴリズムと秘密鍵に依存しており、暗号化アルゴリズムによって暗号化されたデータを変更するために使用されます。 ビット単位で測定されるより長いキーを使用する暗号は、ブルートフォース攻撃に対してより効果的です。 キーの長さが長いほど、平文を公開するためにはより多くのブルートフォースの試みが必要です。 暗号強度は常に鍵の長さに依存するわけではありませんが、専門家は、アルゴリズムとユースケースに応じて、少なくとも128ビット以上の鍵を使用するよ

鍵は暗号化アルゴリズムの本質的な部分であり、実際の暗号化では鍵はアルゴリズムではなく秘密にされています。 強力な暗号化アルゴリズムは、誰かがアルゴリズムを知っていても、適切な鍵を知らずに暗号文を解読することは不可能であるように設計されて したがって、暗号が機能する前に、送信者と受信者の両方がキーまたはキーのセットを持っている必要があります。

暗号は平文を暗号文に変換する
暗号化暗号は、暗号文を平文に変換して元に戻すために使用されます。

対称鍵アルゴリズムでは、データの暗号化と復号化に同じ鍵が使用されます。 非対称キーアルゴリズムは、公開キーと秘密キーを使用してデータを暗号化および復号化します。

公開鍵暗号とも呼ばれる非対称暗号では、鍵はペアになっているが同一ではない(非対称)大きな数値です。 キーペアには、次のものがあります:

  • 公開鍵は誰とでも共有できます。
  • 秘密鍵または秘密鍵は秘密にされます。

いずれかのキーを使用してメッセージを暗号化できます; メッセージを暗号化するために使用されるものとは反対のキーが復号化に使用されます。

ペアの秘密鍵または秘密鍵は、鍵ペアの所有者がデータを復号化または暗号化するために使用され、公開鍵は、秘密鍵の所有者のみが復号化できるメッ

対称暗号化と非対称暗号化の図
対称暗号化アルゴリズムは暗号化と復号化の両方に一つの鍵を使用し、非対称暗号化アルゴリズムは公開鍵と秘密鍵のペアを使用します。

暗号は何のために使われていますか?

対称暗号は、オンライン通信を保護するために最も一般的に使用されます。 それらはまたデータの交換に使用されるべき多くの異なったネットワークの議定書に組み込まれる。 たとえば、Secure Sockets LayerとTLSは、特にHTTP Secure(HTTPS)で使用される場合、アプリケーション層のデータを暗号化するために暗号を使用します。

リモートワーカーまたはリモートブランチを企業ネットワークに接続する仮想プライベートネットワークは、データ通信を保護するために対称キーアルゴリズム 対称暗号は、ほとんどのWi-Fiネットワーク、オンラインバンキングおよび電子商取引サービス、および携帯電話でデータのプライバシーを保護します。

一部のプロトコルでは、エンドポイントの暗号化と認証に非対称暗号を使用しています。 また、セッションデータを暗号化するための対称キーの交換を保護するためにも使用します。 これらのプロトコルには、次のものが含まれます:

  • TLS
  • HTTPS
  • Secure Shell
  • Open Pretty Good Privacy
  • Secure/Multipurpose Internet Mail Extensions

公開鍵暗号化は対称暗号化よりも安全であると考えられていますが、計算量も多くなります。 パフォーマンス上の理由から、プロトコルはセッションデータを暗号化するために対称キーアルゴリズムに依存することがよくあります。

コードと暗号の違い

コードと暗号は、メッセージを暗号化するためのさまざまな方法です。 コードは、各単語を異なる意味を持つ別の単語に置き換えることによってメッセージを変更する方法です。

一方、暗号はそのアルゴリズムを使用してメッセージを変換し、メッセージ内の文字と単語を表すデータを変換します。 暗号は、アルゴリズムが自動化され、簡単にプログラムされているため、コンピュータで実装して使用する方が簡単です。

暗号の種類

暗号は、以下を含むさまざまな方法で特徴付けることができます:

  • ブロック暗号は、均一なサイズのデータブロックを暗号化します。
  • ストリーム暗号は、多くの場合、ネットワークを介して受信および送信されるデータのストリームに適用できます。

暗号は、暗号文を暗号化するために直接使用される従来の鍵または楕円曲線暗号(ECC)に依存することができます。 ECCを160ビットの鍵で使用すると、RSA(Rivest-Shamir-Adleman)暗号システムで使用されるように、1,024ビットの鍵を使用する従来の暗号のセキュリティを提供できます。

現代の暗号化アルゴリズムは、攻撃者がどの暗号が使用されているかを知っていても攻撃に耐えるように設計されています。 歴史的に、暗号は平文を手で暗号化するために使用され、コンピュータの力でより簡単に分析して壊すことができるため、攻撃に対する安全性が低くな

暗号の例

いくつかのよく知られている歴史的な暗号には、次のものが含まれます:

  • シーザー この暗号は、彼の将軍と安全に通信するためにそれを使用したと言われているJulius Caesarに起因しています。 これは、平文の各文字がアルファベットの下の特定の数の場所にシフトされる単純な置換暗号です。 シーザーが使用したと言われるシフト番号は三つであった。 置換暗号は、平文のアルファベットを書き留めることによって実装されることが多く、平文のアルファベットの上に書かれた暗号文のアルファベットは、通信する人が同意する数だけシフトされます。 3つのシフトは、平文Aの上に文字Dを置き、Bの上にEを置きます。 シフトされた文字数は、キーの単純な形式と見なされます。
  • この暗号は、平文のアルファベットが逆の順序でそれ自体にマップされる置換暗号です。 言い換えれば、平文文字Aは暗号文Zにマップされ、BはYにマップされ、CはXにマップされます。 Atbashはヘブライ語のアルファベットの最初と最後の二つの文字にちなんで命名されています。 それは何百年もの間使用されていたと考えられています。
  • 単純置換。 これはまた、何百年もの間使用されてきました。 これは、すべての平文文字を異なる暗号文文字に置き換え、事実上26文字のキーになります。 これは、暗号化アルファベットが完全に混乱しているのではなく、単に均一な数の場所をシフトしているため、Caesar暗号とは異なります。
  • この暗号は、複数の置換アルファベットを使用した置換に基づいていることを意味する、多アルファベティック置換の一形態です。 Vigenère暗号は、キーワードの文字に基づいて、一連の織り交ぜられたCaesar暗号を使用します。 元のテキストは、Vigenère squareまたはVigenère tableとして知られているものを使用して暗号化されています。
  • ホモフォニック置換。 この置換暗号は、単一の平文文字を置き換えるためにいくつかの異なる暗号文文字を使用します。 このタイプの暗号は、通常、標準的な置換暗号よりもはるかに困難です。

これらの歴史的な暗号は、置換や転置など、現代の暗号のさまざまな基本的な構成要素を使用するため、依然として関連性があります。

暗号は、攻撃に対する強さの実績や新しい攻撃ベクトルの発見に応じて、流行したり流行したりすることができます。 対称キー暗号化アルゴリズムの基本を理解して、暗号を安全に使用するための最初の手順について説明します。

Leave a Reply