我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具有以下三个特性:
● 其输入可为任意大小的字符串。
● 它产生固定大小的输出。为使本章讨论更具体,我们假设输出值大小为256位,但是,我们的讨论适用于任意规模的输出,只要其足够大。
● 它能进行有效计算,简单来说就是对于特定的输入字符串,在合理时间内,我们可以算出哈希函数的输出。更准确地说,对应n位的字符串,其哈希值计算的复杂度为O(n)。
这些特性定义了一般哈希函数,以这个函数为基础,我们可以创建数据结构,例如哈希表。我们将只专注于加密的哈希函数,要使哈希函数达到密码安全,我们要求其具有以下三个附加特性:(1)碰撞阻力(collision-resistance);(2)隐秘性(hiding);(3)谜题友好(puzzle-friendliness)。
我们会仔细研究这些特性,并会逐步阐释我们为什么需要这样的函数。学习过密码学的读者可能会注意到,我们这里对于哈希函数的论述与一般的密码学课程会有所不同,特别是关于谜题友好。在一般密码学中,谜题友好并非加密的哈希函数的一般要求,却对加密数字货币这一特性非常有用。
特性1:碰撞阻力
Loading...
未加载完,尝试【刷新】or【退出阅读模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.finalbooks.work
(>人<;)