📜  消息验证码如何工作?

📅  最后修改于: 2022-05-13 01:57:01.804000             🧑  作者: Mango

消息验证码如何工作?

先决条件 - 消息验证码
除了入侵者之外,两个人之间的信息传递还面临着噪音等其他外部问题,这可能会改变发送者构建的原始信息。为了确保消息不被更改,有这个很酷的 MAC 方法。

mac 值生成

MAC 代表消息验证码。在 MAC 中,发送者和接收者共享相同的密钥,发送者生成一个固定大小的输出,称为加密校验和或消息验证码,并将其附加到原始消息中。在接收方,接收方也生成代码并将其与他/她收到的内容进行比较,从而确保消息的原创性。这些是组件:

  • 信息
  • 钥匙
  • MAC算法
  • MAC值

消息认证码 (MAC) 有不同类型的模型,如下所示:

  1. 没有加密的 MAC –
    该模型可以提供身份验证但不能提供机密性,因为任何人都可以看到消息。
  2. 内部错误代码 –
    在这种 MAC 模型中,发送者在通过网络发送内容之前会对其进行加密以保证机密性。因此,该模型提供了机密性和身份验证。
    M' = MAC(M, k)

  3. 外部错误代码 –
    对于消息发生更改的情况,我们将其解密为浪费,为了克服该问题,我们选择外部错误代码。在这里,我们首先对加密消息“c”应用 MAC,并将其与接收方接收到的 MAC 值进行比较,如果两者相同,则解密“c”,否则我们只是丢弃接收到的内容。因此,它节省了时间。
    c = E(M, k')
    M' = MAC(c, k)

MAC 中的问题 –
如果我们进行逆向工程,我们可以获得纯文本甚至密钥。在这里,我们将输入映射到输出,为了克服这个问题,我们继续使用“单向”的哈希函数。

注 –符号“E”表示对称密钥加密。