加密货币的应用:现在,假设Alan正在发送一笔交易“m”给Tyrone。首先,他要用哈希函数对该交易进行哈希,然后使用私钥对其加密。Tyrone知道他正在收到一笔交易“m”,因此他能用Alan的公钥对其解密,并将解密后得到的哈希结果与他已有的交易“m”的哈希结果进行比对。由于哈希函数具有确定性,并且对于同样的输入总是给出相同的输出,那Tyrone可以直接确定,Alan确实发送了同一笔交易,且其中没有任何作恶。
更简单地来说:
Alan有一笔交易“m”,并且Tyrone知道他正在接收该笔交易。
Alan对m进行哈希运算,得到h(m)。
Alan用自己的私钥对哈希结果进行加密,得到Ka-(h(m))。
Alan将加密数据发送给Tyrone。
Tyrone使用Alan的公钥来解密,Ka+(Ka-(h(m))),并得到原来的哈希结果h(m)。
Tyrone用已知的“m”进行哈希运算,可以得到h(m)。
哈希函数的确定性特征决定了如果h(m)=h(m),就意味着这笔交易是真实有效的。