时间:2023-07-22|浏览:207
贺州哪里线下现金回收USDT泰达币 - 联系(蝙蝠号:209655)
一旦我们学习了必要的加密原语,我们将讨论一些用来构建加密货币的方式。我们将在本章中介绍一些简单的加密货币示例,演示我们需要处理的一些设计挑战。
1.1 加密Hash函数
我们需要理解的第一个加密原语是加密散列函数(Hash function)。一个加密散列函数具有以下三个属性:
· 它的输入可以是任意大小的字符串。
· 它产生一个固定大小的输出。为了使本章中的讨论具体化,我们将假设它是一个256位大小的输出。然而,我们的讨论适用于任何输出大小,只要它足够大。
· 这意味着对于给定的输入字符串,可以在合理的时间内计算哈希函数的输出。从技术上讲,计算一个n位字符串的散列应该有一个O(n)的运行时间。
这些属性定义了一个通用哈希函数,一个可用于构建数据结构(如哈希表)的函数。我们将专注于加密散列函数。对于密码安全的哈希函数,我们将要求它具有以下三个附加属性:(1)防撞;(2)隐匿;(3)友好的谜题。
我们将更仔细地研究每一个属性,以了解为什么有这样一个函数的行为是有用的。研究密码学的读者应该意识到,本书中哈希函数的处理与标准加密教科书有点不同。特别是谜题友好的属性不是对加密哈希函数的一般要求,而是对特定加密货币的有用属性。