消息验证码如何工作?
先决条件 - 消息验证码
除了入侵者之外,两个人之间的信息传递还面临着噪音等其他外部问题,这可能会改变发送者构建的原始信息。为了确保消息不被更改,有这个很酷的 MAC 方法。
MAC 代表消息验证码。在 MAC 中,发送者和接收者共享相同的密钥,发送者生成一个固定大小的输出,称为加密校验和或消息验证码,并将其附加到原始消息中。在接收方,接收方也生成代码并将其与他/她收到的内容进行比较,从而确保消息的原创性。这些是组件:
- 信息
- 钥匙
- MAC算法
- MAC值
消息认证码 (MAC) 有不同类型的模型,如下所示:
- 没有加密的 MAC –
该模型可以提供身份验证但不能提供机密性,因为任何人都可以看到消息。 - 内部错误代码 –
在这种 MAC 模型中,发送者在通过网络发送内容之前会对其进行加密以保证机密性。因此,该模型提供了机密性和身份验证。M' = MAC(M, k)
- 外部错误代码 –
对于消息发生更改的情况,我们将其解密为浪费,为了克服该问题,我们选择外部错误代码。在这里,我们首先对加密消息“c”应用 MAC,并将其与接收方接收到的 MAC 值进行比较,如果两者相同,则解密“c”,否则我们只是丢弃接收到的内容。因此,它节省了时间。c = E(M, k') M' = MAC(c, k)
MAC 中的问题 –
如果我们进行逆向工程,我们可以获得纯文本甚至密钥。在这里,我们将输入映射到输出,为了克服这个问题,我们继续使用“单向”的哈希函数。
注 –符号“E”表示对称密钥加密。