技術ノート ウェブ 暗号化とは何ですか?またその仕組みは何ですか?

暗号化とは何ですか?またその仕組みは何ですか?

暗号化とは何ですか?またその仕組みは何ですか?

重要なポイント

  • 暗号化はデジタル セキュリティにとって重要なテクノロジーであり、アクセスできない人がデータを読み取れない形式に変更することでプライバシーを確​​保します。
  • Scytale、Polybius Square、Caesar’s Cipher などの歴史的な暗号化技術は、現代の暗号化システムに影響を与えてきました。
  • 現在、暗号化は、非常に大きな数値を素数に因数分解することに依存するアルゴリズムを使用して機能し、保存されたデータ、安全な Web サイト、および安全なデジタル通信を保護します。

おそらく、インターネット上で「暗号化」という用語が使用されているのを見たことがあるでしょう。それで、それは何ですか?それは私たちが持っている最も重要なテクノロジーかもしれません。セーフ ブラウジングから安全な電子メールに至るまで、ほとんどのデジタル セキュリティ対策はこれに依存しています。暗号化がなければ、プライバシーはありません。

この の記事は、 と連携して提供されています

暗号化とは何ですか?

暗号化によりメッセージやデータの構成が変更され、元の形式に戻す方法を知っている人だけがメッセージやデータを読み取ることができます。他の人にとっては、それは意味不明な文字や記号の集まりとして見えるでしょう。

これは、機密情報やプライベートな情報を送信する場合に非常に役立ちます。優れた暗号化スキームにより、その情報は覗き見から保護されます。暗号化スキームは、メッセージまたはデータを読み取り不能にするために どのように 変更されるかを記述するだけです。いくつかの歴史的な例を示し、それが今日どのように行われているかについて説明します。

暗号化とは何ですか?またその仕組みは何ですか?

スキュテイル

最も初期の頃から、人々は、意図された受信者以外の人がプライベート メッセージを読むことを防ぐさまざまな手法を使用してきました。古代ギリシャ人は、 スキュタレー と呼ばれる木の棒の周りに羊皮紙の細片をきつい螺旋状に巻きつけていました。彼らは、包まれた羊皮紙の上に、棒の長さに沿ってメッセージを書きました。

解くと、羊皮紙に書かれた文字は意味をなさない。使者は羊皮紙を受取人に届け、受取人はまず自分の一致するスキュタレに羊皮紙を巻き、内密にメッセージを読みます。これは 転置暗号 の一種です。

これは原始的な技術ですが、最新の暗号化システムに見られる要素が含まれています。送信者と受信者の両方が、暗号化方式が何であるか、およびその使用方法を事前に知っておく必要があります。そして、そのためには両方ともマッチングメカニズムが必要です。

暗号化とは何ですか?またその仕組みは何ですか?

ポリュビウス広場

古代ギリシャ人が使用した別の方法は、 ポリビオス正方形を 使用しました。これは 5 × 5 または 6 × 6 の格子状の文字でした。ゲームの戦艦と同様に、文字はその座標によって参照されます。最初の行の最初の文字は「11」としてコード化され、2 行目の 4 番目の文字は「42」とコード化されます。

もちろん、グリッドを文字で埋める方法はたくさんあります。文字の配置が分からない限り、解読は困難です。これにより、異なるレイアウトを持つ複数の正方形を含むスキームを設定できます。たとえば、7 つの正方形を作成し、曜日ごとに異なる正方形を使用することができます。複数のアルファベットを使用する方式は、 多アルファベット暗号 と呼ばれます。

ポリュビウス正方形はコードの形式です。コードは、文字 (この例では数字) を他の文字に置き換えます。暗号は文字を他の文字に置き換えます。

カエサルの暗号

ジュリアス・シーザーは、 シーザーの暗号 に自分の名前を付けました。これは、オフセット (または「回転」) を使用して、暗号化している文字から設定された距離にある文字を選択します。オフセット 2 を使用していた場合、「A」は「C」と記述され、「D」は「F」と記述されます。受信者は、受信した文字からオフセットを差し引くことで、メッセージを解読するために使用する正しいオフセットを知る必要があります。

オフセット 13 のシーザー暗号 (「ローテーション 13」または ROT13 として知られる) は特別な性質を持っています。標準的な英語のアルファベットには 26 文字があり、13 は正確に 2 回分割されて 26 になります。このオフセットを使用すると、何かを解読するために、再度暗号化プロセスを実行することができます。 2 回暗号化すると元のテキストに戻ります。

プレーン: ABCDEFGHIJKLMNOPQRSTUVWXYZ ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM

上のアルファベットの「GEEK」という文字を選択し、下のアルファベットの一致する文字に注目すると、「TRRX」が得られます。上のアルファベットに「TRRX」を指定してこれをもう一度行うと、下のアルファベットから「GEEK」という文字が表示されます。

プログラミングの観点から言えば、暗号化ルーチンを作成するだけで済むため、問題が簡素化されます。解読ルーチンは必要ありません。これが、ROT13 実装の作成がプログラミングを学習する人々にとって一般的な練習である理由です。 ROT13 も、非常に貧弱で低品質の暗号化の例として一般的に取り上げられています。

このオンライン ROT13 エンジン を使って自分で試すことができます。 「Alaska Nynfxn」と入力してから、出力を入力として戻してみてください。

では、暗号化とは何でしょうか?

ここで取り上げた例はすべて解読が簡単ですが、すべての例、およびすべての形式の暗号化に共有される共通の要素を示しています。 「平文」と呼ばれる元のデータを、暗号文と呼ばれる暗号化されたバージョンに変換するには、従うべき一連のルールがあります。その一連のルールがアルゴリズムです。それが暗号化です。

それはプライバシーのためのアルゴリズムです。

暗号化とは何ですか?またその仕組みは何ですか?

現在の暗号化はどのように機能するのでしょうか?

古代ギリシャの人と同じように、デジタル時代に個人データを保存または送信したい人は、課題に直面しています。権限のない人がデータにアクセスするのを防ぐにはどうすればよいでしょうか?そしてそれを安全にするために何ができるでしょうか?

古いシステムはすべて、暗号化システムの知識があれば克服できます。同じ直径のロッドを使用すると、スキュタレのメッセージが読み取れるようになります。 Caesar’s Cipher は、メッセージの最初の部分でさまざまなオフセットを試すことで破られる可能性があります。試せるのは最大でも 25 個だけです。

ポリュビウスの正方形は、正方形内の文字のレイアウトが予測できないため、さらに困難を伴います。広場の配置を知っていれば、それほど難しいことではありません。正方形のレイアウトがわからない場合は、暗号文自体を研究してメッセージを解読してみることができます。それは暗号解読と呼ばれます。

単純な暗号では、文字頻度表などのツールを使用して、どの暗号文の文字がどの平文の文字を表すかを調べることができます。安全な暗号化スキームは、スキームの仕組みを誰が知っていても安全である必要があり、暗号文は暗号解析攻撃に耐えることができなければなりません。

文字ではなくビット

堅牢なデジタル方式は、シリアル暗号のように文字や文字を 1 つずつ処理することはできません。それらは一度にデータのチャンクを処理し、ブロック暗号と呼ばれます。

暗号化アルゴリズム内に組み込まれた複雑な数学的変換のルールに従って、各ブロック内のビット (すべての 1 と 0) を操作します。アルゴリズムが 128 ビットのブロック サイズを使用する場合、データは 128 ビットのチャンクで処理されます。処理される最後のチャンクが 128 ビットより小さい場合、128 ビットにパディングされます。

利用可能なブロック暗号化スキームは多数あります。 Advanced Encryption Standard (AES) は 、米国政府の公式暗号化標準 です。暗号化方式が異なれば、異なるアルゴリズムとブロック長が使用され、数学的変換の異なる組み合わせが使用されます。

これだけ聞くと非常に徹底しているように思えますが、権限のない人物が同じ暗号化スキームを使用して暗号化されたデータを復号化するのをどのように防ぐのでしょうか?

ハッシュ文字列

まず特殊なケースを見ていきます。一方向変換を使用してデータを暗号化することができます。これは、結果として得られる暗号文を平文に戻すことができないため、ROT13 とは正反対です。より正確に言えば、現実的な時間枠内で復号化することはできません。このタイプの暗号化は、平文の文字列がハッシュまたはハッシュ文字列と呼ばれる暗号文の文字列にハッシュされるハッシュ関数で使用されます。すべてのハッシュ文字列は同じ長さです。

これはどのように役立ちますか?そうですね、安全な Web サイトではパスワードが平文で保存されることはありません。パスワードはハッシュ化され、ハッシュ文字列が保存されます。あなたのパスワードは決して保持されません。次回ログインしてパスワードを入力すると、パスワードがハッシュ化され、そのハッシュ文字列がアカウントの詳細に保存されているハッシュ文字列と比較されます。一致していれば入力可能です。間違ったパスワードを入力すると、2 つのハッシュ文字列が一致しなくなり、アクセスできなくなります。

これにより、Web サイトはパスワードを公開された形式で保存しなくても認証を使用できるようになります。たとえハッキングされても、パスワードが侵害されることはありません。ハッシュ技術では、パスワードがハッシュされる前に、ソルトと呼ばれる固有のランダム データをパスワードに追加することもあります。これは、2 人以上のユーザーが同じパスワードを選択した場合でも、すべてのハッシュは一意であることを意味します。

暗号化とは何ですか?またその仕組みは何ですか?

暗号化は何に使用されますか?

現在、暗号化はほぼあらゆるものに使用されています (少なくともそうあるべきです)。ここでは、ほぼ毎日遭遇する例をいくつか紹介します。

暗号化されたストレージドライブ

権限のない人がデータを復号化するのを防ぐために、誰が暗号化したか、誰が復号化できるかを識別するキーが使用されます。キーは、複雑なアルゴリズムによって生成される長いバイト シーケンスです。通常、サイズの範囲は 128 バイトから 2048 バイト以上です。このキーは、平文を暗号化するときに暗号化アルゴリズムによって使用されます。キーのサイズはブロックのサイズとは無関係です。

ローカルに保存されたデータを保護するために、 ハード ドライブ全体を暗号化できます 。暗号化はユーザーのログイン ID に関連付けられており、キーは自動的に生成され、自動的に適用されます。ユーザーはキーを直接操作する必要がなく、キーを他の人に送信する必要もありません。

キーはユーザーのログイン ID に関連付けられているため、コンピュータからハード ドライブを取り外して別のコンピュータに接続すると、データにアクセスできなくなります。このタイプの保護は、静的または「保存された」データを保護します。

これは通常のコンピュータだけに当てはまるわけではありません。最近の携帯電話のストレージも暗号化されていますが、それには十分な理由があります。私たちの携帯電話は個人情報や機密情報の宝庫であり、たまたま携帯電話を手に取った人がその情報にアクセスできるようになっては意味がありません。

データを送信する必要がある場合は、「送信中」のデータをどのように保護するかを検討する必要があります。

安全なウェブサイト

Web サイトに接続し、アドレス バーに南京錠のマークが表示されたら、安全な Web サイトに接続していることがわかりますよね。まあ、ある意味。これが実際に意味するのは、コンピュータと Web サイト間の接続が SSL/TLS 暗号化を使用して暗号化されるということです。

それは良いことですが、Web サイトの残りの部分のセキュリティは検証されません。 Web サイトはパスワードを平文で保存し、データベース上のデフォルトの管理者パスワードを使用している可能性があります。ただし、少なくとも南京錠が表示されていれば、Web サイトとの通信が暗号化されていることがわかります。

この暗号化が可能になるのは、ブラウザと Web サイトが複数のキーを使用した同じ暗号化スキームを使用しているためです。接続セッションの開始時に、ブラウザと Web サイトは公開キーを交換します。公開キーは、秘密キーを使用して暗号化されたものを復号化できます。

ブラウザと Web サイトは公開キーを交換し、秘密キーを使用して暗号化します。接続の各端は相手側の公開キーを持っているため、各側は相手側から受け取った情報を復号化できます。秘密キーを公開する必要はありません。

公開キーの公開は安全です。公開キーを使用してデータを不正に暗号化することはできません。したがって、Web サイトの公開キーのコピーを受け取ったとしても、秘密キーを持っていないため、本物の Web サイトになりすますことはできません。これは信憑性の問題を引き起こします。その Web サイトが公開キーと秘密キーのペアの本物の所有者であり、何らかの方法で本物の Web サイトから両方のキーを盗んだ模倣サイトではないことは、どのようにしてわかりますか?

証明書は、Web サイトの身元を確認するために使用されます。これらは、申請者の身元を確認した後に認証局によって発行されます。 Web ブラウザが証明書を検証できるように、Web サイトは接続セッションの開始時にハンドシェイクの一部として証明書を送信します。

これは、認証局に連絡し、証明書の一部の情報を復号化することによって行われます。これにはさらに多くのキーが必要です。ブラウザには、インストール バンドルの一部として主要な認証局の公開キーが含まれています。さらに多くの鍵が関係しています。公開キーを交換するだけでなく、ブラウザと Web サイトは独自のセッション キーを作成して通信をさらに安全にします。

ブラウザがサイトの信頼性と暗号化の強度を確認すると、アドレス バーに南京錠が表示されます。

安全な電子メール

公開キーと秘密キーの概念は、暗号化において何度も登場します。転送中の電子メールを保護する一般的な方法では、公開キーと秘密キーのペアを使用します。公開鍵は安全に交換でき、秘密鍵は共有されません。メッセージは送信者の秘密キーを使用して暗号化されます。受信者は送信者の公開キーを使用して暗号化を解除し、読み取ることができます。彼らは独自の秘密キーを使用して応答を暗号化できます。

OpenPGP は、このモデルにひねりを加えた よく知られた暗号化方式 です。

送信者の電子メール クライアントはランダムなキーを生成します。これは電子メール メッセージを暗号化するために使用されます。次に、ランダム キーは受信者の公開キーで暗号化されます。暗号化されたメッセージと暗号化されたランダム キーが受信者に送信されます。受信者の電子メール プログラムは、秘密キーを使用してランダム キーを復号化し、そのランダム キーを使用してメッセージを復号化します。

追加の手順の目的は、電子メールを複数の受信者に安全に送信できるようにすることです。電子メール クライアントは、受信者ごとに個別に電子メール全体を暗号化する必要はなく、ランダムなキーだけを暗号化するだけで済みます。

もちろん、安全な電子メール システムは信頼性の問題にも直面します。送信された公開キーを信頼する必要があります。キーは電子メール アドレスに関連付けられています。会話する電子メール アドレスから公開キーを送信してもらうことは、良い最初のステップです。ほとんどの電子メール クライアントは、公開キーに関連付けられた電子メール アドレスを表示できます。

公開鍵の信頼性を確認するもう 1 つの方法は 、リポジトリから 公開鍵を取得することです。リポジトリにアップロードされた公開鍵は、公開される前にリポジトリによって検証されます。

暗号化とは何ですか?またその仕組みは何ですか?

暗号化は私たちのデジタル生活を支えます

少なくとも、暗号化が正しく行われていれば、暗号化は私たちのデジタル生活を支えます。あらゆるタイプの安全でないリモート接続 (リモート作業やオンライン購入など) を避け、プライベート メッセージを暗号化できる 電子メール クライアント を使用し、 エンドツーエンド暗号化 を備えたメッセンジャー アプリを使用します。

Lbhe cevinpl vf vzcbegnag、hfr gur nccebcevngr gbbyf gb fnsrthneq vg。カエサルが言ったかもしれない。

「暗号化とは何ですか?またその仕組みは何ですか?」に関するベスト動画選定!

ゼロから学ぶLinux ~暗号化の仕組みの基本~ 2023-1-28 C-2
暗号化を理解する!