两个人之间的消息传递还面临着噪声等其他外部问题,这可能会改变发送者构建的原始消息。为了确保消息不被更改,有这个很酷的 MAC 方法。
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”表示对称密钥加密。