[区块链 Sec2] 密码学相关

所有的货币都需要通过各种安全属性以防止欺骗,不同于依赖于中央机构实现安全规则的纸币,比特币的安全规则完全通过技术手段实现,并只运用到了密码学中少量相对浅显的理论


1 哈希函数

哈希函数是一个数学函数,具有以下三个特性:

  • 输入可为任意大小的字符串
  • 产生固定大小的输出(为方便讨论假定为256位)
  • 能进行有效计算,对应n位的字符串输入,计算复杂度为O(n)

我们将只专注于加密的哈希函数,要使哈希函数达到密码安全,要求其具有三个附加特性:

  1. 碰撞阻力collision-resistance
  2. 隐秘性hiding
  3. 谜题友好puzzle-friendliness)
特性1:碰撞阻力

没人能找到该哈希函数的碰撞则称该函数具有碰撞阻力
但实际上,由于输入空间大于输出空间,碰撞必然存在

生日悖论:通过检验可能输出数量的平方根次数,便大体能找到碰撞

然而这种近乎暴力的碰撞检测算法找到碰撞的概率比下两秒地球将被陨石摧毁的概率还小

应用场景:信息摘要,提供了一种验证事物完整性和正确性的手段


特性2:隐秘性

狭义理解:仅仅知道哈希函数的输出y=H(x),没有可行的办法算出输入值x

实际情况中,有可能输入并非来自分散的集合(例如有限的集合,这意味着隐秘性容易遭到破坏),我们可以通过与另一个较为分散的输入进行结合来实现隐秘性。

应用场景:承诺

我们想做的事情称为承诺,它是一个数字化的过程。
比如我说明天的体育彩票开奖号码为123456,但我不想立刻告诉大家,只想让大家知道我预测了一个号码。开奖后如果不是我预测的号码,我给大家一人一万元。如何保证开奖前大家看不到我的预测,同时使得我无法更改自己的预测以抵赖?

在开奖前,将我预测的号码和一个随机数作为哈希函数的输入,将得到的输出公之于众,大家不可能通过我公布的输出推出我预测的号码。开奖后,我公布我预测的号码和这个随机数,那么大家都能验证我说的是否正确(通过公开的哈希函数),同时,我也不可能改变主意,赖掉这件事了。

在密码学中,这个随机数(nonce)意味着只能使用一次。这一点很重要,不少安全函数对随机数的随机性及使用次数都有明确规定。


特性3:谜题友好

谜题:对庞大空间进行搜索才能找到解决办法的数学问题
如果一个哈希函数具备谜题友好性,意味着对于这个谜题没有一个解决策略,比只是随机地尝试x取值会更好。



2 哈希指针及数据结构

哈希指针是一个不但可以指向数据存储的位置,还可以明晰某个时间戳下该数据的哈希值的指针

image

通过哈希指针而不是普通指针构建的一个链表,我们把这个链表称为区块链,每个区块不仅能告诉我们上一个区块的值在哪里,还包含了该值的摘要,使我们能验证那个值没有改变。

另一个我们可以用哈希指针建立的有用的数据结构是二叉树
梅克尔树(Merkle Tree)

image

梅克尔树的主要特点在于它可以实现简洁的隶属证明,即证明某个数据区块隶属于某梅克尔树


3 数字签名

一篇关于数字签名的参考

数字签名得名于其实质上是对在纸上手写签名的数字模拟

往往对数字签名有两个特性要求:

  • 只有你可以制作你自己的签名,但任何看到它的人都能验证其真实有效性
  • 一个签名应该只与某个特定文件相联系,正如纸上签名不能被剪下来粘贴到别处一样

数字签名往往由三个算法步骤构成:

  1. 随机生成一对(可能具有某些输入参数)公钥和私钥
  2. 签名:把一段消息和私钥作为输入,输出就是签名(可简单理解为加密)
  3. 验证:把消息,公钥,签名作为输入,返回真则签名属实

公钥即身份
公钥和私钥的体系,帮助我们引入去中心化的身份管理的理念。
如果你见到一条消息的签名被公钥pk正确验证,那么你可以认为pk就是在表达这条消息。从这个角度讲,公钥就是身份,让某人能为pk身份发生,它必须知道相应的私钥sk。
同时,你可以随时制定新的身份,只需要生成新的密钥对即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,820评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,648评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,324评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,714评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,724评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,328评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,897评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,804评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,345评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,431评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,561评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,238评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,928评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,417评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,528评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,983评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,573评论 2 359

推荐阅读更多精彩内容