エンコーディングと暗号化の違いは何ですか?
エンコーディングと暗号化の違いは何ですか?
回答:
エンコードすると、簡単に元に戻すことができるように、公に利用可能なスキームを使用してデータが別の形式に変換されます。
暗号化は、特定の個人のみが変換を元に戻すことができるように、データを別の形式に変換します。
まとめ-
エンコーディングは、データの使いやすさを維持するためのものであり、公開されているスキームを使用します。
暗号化はデータの機密性を維持するためのものであり、変換(鍵)を元に戻す機能は特定の人に限定されています。
SOURCEの詳細
エンコードとは、データを変換して、通信チャネルを介して危険なく送信したり、ストレージメディアに危険なく保存したりできるようにするプロセスです。たとえば、コンピュータハードウェアはテキストを操作せず、バイトを操作するだけなので、テキストエンコーディングは、テキストをバイトに変換する方法の記述です。同様に、HTTPではすべての文字を安全に送信することが許可されていないため、base64を使用してデータをエンコードする必要がある場合があります(文字、数字、2つの安全な文字のみを使用)。
エンコードまたはデコードの際は、同じアルゴリズムを持つすべての人に重点が置かれ、そのアルゴリズムは通常、十分に文書化され、広く分散されており、かなり簡単に実装できます。だれでも最終的にはエンコードされたデータをデコードできます。
一方、暗号化は、データを復号化する方法について特定の(そして秘密の)知識がなければ取り消すことができないデータの一部に変換を適用します。目的の受信者以外は誰でも元のデータを読み取ることが困難になることに重点が置かれます。秘密にされたエンコードアルゴリズムは暗号化の一種ですが、非常に脆弱です(あらゆる種類の暗号化を考案するにはスキルと時間がかかります。定義上、そのようなエンコードアルゴリズムを他の人に作成させることはできません。それらを殺す必要があります)。代わりに、最もよく使用される暗号化方式は秘密鍵を使用します。アルゴリズムはよく知られていますが、暗号化と復号化のプロセスでは両方の操作に同じ鍵が必要であり、その場合、鍵は秘密にされます。暗号化されたデータの復号化は、対応するキーでのみ可能です。
エンコーディング:
目的:エンコードの目的は、データを変換して、異なるタイプのシステムで適切に(そして安全に)使用できるようにすることです。
使用目的:データの使いやすさの維持、つまり、適切に消費できることを保証します。
データ取得メカニズム:キーがなく、エンコーディングで使用されたアルゴリズムがわかっている場合は、簡単に元に戻すことができます。
使用されるアルゴリズム:ASCII、Unicode、URLエンコーディング、Base64。
例:バイナリデータが電子メールで送信されている、またはWebページで特殊文字を表示している。
暗号化:
目的:暗号化の目的は、データを変換して他人に知られないようにすることです。
使用目的:データの機密性を維持します。つまり、対象の受信者以外のユーザーがデータを消費できないようにします。
データ取得メカニズム:使用される鍵と暗号化アルゴリズムがわかっている場合は、元のデータを取得できます。
使用されるアルゴリズム:AES、Blowfish、RSA。
例:自分だけが読むことができるはずの秘密の手紙を誰かに送信したり、インターネットを介してパスワードを安全に送信したりします。
参照URL: http : //danielmiessler.com/study/encoding_vs_encryption/
異なるシステム間でデータを保存または通信する方法としてエンコーディングを参照してください。たとえば、テキストをハードドライブに保存する場合は、文字をビットに変換する方法を見つける必要があります。また、フラッシュライトしかなければ、モールス符号を使用してテキストをエンコードすることもできます。保存方法がわかっていれば、結果は常に「読み取り可能」です。
暗号化とは、アルゴリズムを使用してデータを暗号化することにより、データを読み取り不可能にすることを意味します。たとえば、Caesarは、各文字を別の文字に置き換えることでこれを行いました。暗号化された秘密の「鍵」を知らない限り、ここでの結果は判読できません。
エンコードはデータの使いやすさを維持するためのものであり、コンテンツをエンコードしたのと同じアルゴリズムを使用することで元に戻すことができます。つまり、キーは使用されません。
暗号化はデータの機密性を維持するためのものであり、平文に戻すためには鍵(秘密を保持)を使用する必要があります。
また、セキュリティのハッシュと難読化の世界に混乱をもたらす2つの主要な用語があります。
ハッシュは、ハッシュ出力への明らかな変更によってコンテンツのすべての変更を検出することにより、コンテンツの整合性を検証するためのものです。
難読化は、人々が何かの意味を理解できないようにするために使用され、リバースエンジニアリングや製品の機能の盗難を防止するためにコンピューターコードと共に使用されることがよくあります。
@ Danielmiesslerの記事をもっと読む
暗号化は、データを読み取り不可能な形式に変換します(おそらく、読み取り不可能な特殊文字が含まれています)。
エンコードは、そのデータを読み取り可能な形式(文字)に変換するのに役立ちます。これにより、将来の使用のために(つまり、解読中に)データを保存できます。