信息安全中的哈希是什么?
哈希是将给定密钥转换为代码的过程。哈希函数可用于将数据替换为新生成的哈希代码。哈希算法通常用于提供文件的数字指纹,通常用于确保文件未被入侵者或病毒更改。某些操作系统也使用哈希函数来加密密码。哈希函数有助于衡量文件的完整性。
哈希利用算法将文件中的信息块转换为更短的恒定长度的值或密钥,这些值或密钥定义了这些字符串。生成的哈希值是对给定文件中每个字符串的浓缩摘要,并且即使文件中的单个数据字节发生变化(雪崩效应),也必须能够改变。
这在数据压缩方面支持哈希的巨大优势。虽然哈希不是压缩,但它可以像文件压缩一样工作,因为它获取较大的数据集并将其缩减为更易于处理的形式。
用于安全目标的良好哈希函数应该是单向过程,需要单向哈希算法。因此,黑客无法简单地对哈希进行逆向工程以将其转换回原始数据,从而从一开始就破坏了加密的目标。
它可以提高加密输出的唯一性,可以将随机信息添加到哈希函数的输入中。此技术称为“加盐”,即使使用相同的输入也能保证唯一的输出。
密码哈希函数应该尽可能像随机函数一样工作,同时仍然是确定性和有效可计算的。如果以下任一操作在计算上可行,则密码哈希函数被视为不安全 -
可以找到与给定摘要匹配的(以前未见过的)消息。
可以找到“冲突”,其中两条不同的消息具有相同的摘要。
能够执行其中任何一项操作的攻击者可能会,例如,使用它们将未经授权的消息替换为经授权的消息。从概念上讲,即使发现两条摘要基本相同的邮件也不应该可行;也不希望攻击者能够仅根据摘要了解有关邮件的任何有益信息。攻击者学习的至少有一条信息,即摘要本身,例如,它使攻击者能够识别相同的邮件(如果再次出现)。
哈希在避免或分析文件篡改方面也很有价值。初始文件将生成一个与文件数据一起维护的哈希值。发送文件和哈希值,接收方检查该哈希值以查看文件是否已被协商。如果文档有任何更改,哈希值将显示出来。