信息安全中的MAC和Hash函数有什么区别?

苹果电脑

MAC 代表消息验证码。它也被定义为标签。它可用于验证消息的来源和特征。MAC 需要身份验证加密来检查通过网络发送或从一个人转移到另一个人的信息的合法性。

MAC 由消息上的密钥安全散列函数创建。它可用于提供消息的完整性,以便如果由 MAC 保护的消息被篡改,则可以通过将消息中包含的 MAC 与重新计算的 MAC 进行比较来识别它。

创建任何类型的金融账户通常都需要消息验证码。提供在线访问的银行、经纪公司、信托组织和其他一些存款、投资或保险组织可以使用这些代码。它们是金融密码学的重要组成部分。

MAC 也称为键控散列。尽管 HMAC 和 KMAC 是基于基本散列函数的键控散列,但 MAC 可能会或可能不会从散列函数生成,而 AES-CMAC 是一种依赖于 AES 块密码的算法,顾名思义。

消息验证码也是单向的,但需要同时了解密钥和消息才能生成 MAC 值。因此,它们可用于支持消息完整性和消息真实性,就像确保签名中的单向哈希一样。

对于另一方或多方来检查 MAC,他们当然也需要相同的(因此是对称的)密钥。这也定义了他们可以自己生成身份验证标签;实施验证的各方需要特定级别的信任。

哈希函数

单向哈希函数是一种无法通过执行计算来接收有关输入消息的任何数据的函数。通常单向散列函数称为密码安全散列函数。例子是 SHA-256 和 SHA-512 以及其他 SHA-2 衍生品,正如预期的那样,下一个引入的 SHA-3 系列哈希。

MD5 和 SHA-1 也是单向哈希函数。它们不再被视为安全的,因为可能会产生哈希冲突。散列函数可以用来支持消息的完整性和真实性,但是散列的值应该是可信的。

因此,攻击者只能对不同的消息进行散列并使用它来恢复原始散列。这种信任可以通过私钥计算(签名)来支持。另一种方法是将哈希存储在受信任的站点上,以便它可以检查放在镜像上的文件的完整性。

以上是 信息安全中的MAC和Hash函数有什么区别? 的全部内容, 来源链接: utcz.com/z/297416.html

回到顶部