プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

メッセージ認証コードはどのように機能しますか?


メッセージ認証コードは、メッセージの認証に使用できる数バイトのブロックです。受信者はこのブロックをテストして、メッセージがサードパーティによって変更されていないことを確認できます。

対称鍵によってパラメーター化される暗号化関数のファミリー。各関数は、可変長の入力データ(「メッセージ」と呼ばれる)を容易にして、一定の長さの出力値を作成できます。出力値は、入力メッセージのMACと呼ばれます。

承認されたMACアルゴリズムは、次の特性を満たすのが普通です(提供されたセキュリティレベルごとに):キーを使用して計算した結果をすでに表示している場合でも、キーを学習せずにメッセージのMACを決定することは計算上不可能です。他のメッセージのMAC。 MACアルゴリズムを使用して、データ発信元認証とデータ整合性セキュリティをサポートできます。

MACは暗号化プリミティブであり、その定義には、キー生成、タグ付け、および検証アルゴリズムと呼ばれる3つのアルゴリズムが含まれます。

キー生成 アルゴリズムは、入力であるセキュリティパラメータによって定義される「品質」(長さ)のキーを作成します。

タグ付け アルゴリズムには、キーとメッセージなどの2つの入力があり、1つの出力はタグです。

検証 アルゴリズムには、キー、メッセージ、タグなどの3つの入力があります。指定されたメッセージのタグとキーの有効性を定義するビットを出力します。

MACは対称プリミティブであるため、メッセージを交換する2つのパーティは、同様の(対称)キーを使用します。デジタル署名は非対称プリミティブであり、2つのパーティは異なる(ただし数学的に関連付けられた)キーを持っています。

これは、MACをチェックできる人なら誰でも、同じ秘密鍵を使用して計算できるという単純な説明になります。

言い換えると、秘密の署名キーを所有しているエンティティのみが署名を生成できますが、誰でも公に呼ばれる検証キーを使用してこれらの署名を確認できます。デジタル署名はより動的なプリミティブであるように見えますが、それらの計算はMACの計算よりもはるかに簡単であるため、該当する場合は常にMACが使用されます。

MACはデータ通信において重要な役割を果たします。安全でないチャネルを介して共有されるメッセージは、チャネルを妨害する可能性のある侵入者によるメッセージ偽造を含む攻撃を回避するために認証される必要があります。送信機と受信機が秘密鍵を送信したと仮定すると、メッセージの信頼性をサポートできます。aMACを使用できます。

MACシステムでは、送信機はメッセージと秘密鍵の機能であるタグを生成し、チャネルを介して送信する前にメッセージに結合します。


  1. Cプログラムはどのように実行されますか?

    ここでは、Cプログラムがシステムでどのように実行されるかを見ていきます。これは基本的にCプログラムのコンパイルプロセスです。 次の図は、Cソースコードの実行方法を示しています。 上の図には、さまざまなステップがあります- Cコード −これはあなたが書いたコードです。このコードはプリプロセッサセクションに送信されます。 前処理 −このセクションでは、プリプロセッサフ​​ァイルがコードに添付されています。 stdio.h、math.hなどのさまざまなヘッダーファイルを使用しています。これらのファイルはCソースコードで添付され、最終的なCソースが生成します。 (「#include」、「

  2. Snapchat の仕組み

    Snapchat がモバイル メッセージング アプリの世界に革命をもたらしたと言っても過言ではありません。 Snapchat が登場する前は、友人とのコミュニケーションにこれほどユニークな方法があるとは誰も夢にも思いませんでした。 Snapchat がもたらす自己破壊的な画像や動画という概念は、通常のメッセージやソーシャル ネットワーキング アプリとはまったく異なります。そしてこれが、2011 年の開始以来、Snapshot が現在 1 億 8000 万人を超える毎日のアクティブ ユーザーを持つ最も人気のあるアプリの 1 つになっている理由です。また、報告によると、ファンのフォローはティーンエ