信息安全中的密码哈希函数是什么?
密码哈希函数是密码学中使用的数值函数。密码哈希函数将哈希函数的消息传递能力与安全特性相结合。
术语“哈希函数”在计算机科学中经常使用,它被定义为一个将任意长度的输入字符串压缩成固定长度字符串的函数。但是,如果它满足更多要求,则可用于密码学应用,然后它被称为密码哈希函数。
密码哈希函数是密码学领域中最基本的工具,用于管理许多安全目标,例如真实性、数字签名、伪随机数生成、数字隐写术、数字时间戳等。
哈希函数是一个函数,它接收任意长度的消息作为输入,并将其转换为固定长度的输出,称为哈希值、消息摘要、校验和或数字指纹。
哈希函数是一个函数 f: D -> R,其中域 D = {0, 1}*,它定义了域的元素包括可变长度的二进制字符串;范围 R = {0, 1}n,对于某些 n >= 1,它定义了范围的元素是固定长度的二进制字符串。因此,f 是一个函数,它将任意大小的消息 M 作为输入,并生成大小为 n 的固定长度哈希结果 h。
当哈希函数 f 的域 D 是有限的时,它被定义为压缩函数,即如果函数 f 将固定长度的消息作为输入并生成较短的固定长度输出。
密码哈希函数的特性
哈希函数的各种特性如下:
对于任何给定的数据,计算哈希值非常容易。
它应该接受任意大小的信息块作为输入。
它应该生成固定长度的输出。
它在具有确定性和高效可重复性的同时,应该表现得像随机函数。
它应该接收任意长度的输入,并输出固定长度的随机字符串。
对于相同的输入,H 应该始终产生相同的输出。
如果给定消息 M,则可以很容易地计算其对应的摘要 h;其中 h 可以在多项式时间 O(n) 内计算,其中 n 是输入消息的长度。
给定消息摘要 h,发现满足 H(M) = h 的 M 在计算上是复杂的。这被称为单向性或原像抗性特性,即无法根据给定的哈希值找到消息。
给定消息 M1,在计算上不可能发现另一个消息 M2 ≠ M1 使得 H(M1) = H(M2)。这被称为弱碰撞抗性或第二原像抗性特性。
在计算上不可能找到任何一组不同的消息 (M1, M2) 使得 H(M1) = H(M2)。这被定义为强碰撞抗性特性。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP