密码学初探

密码学是学习区块链技术最重要的课程之一。

因为区块链技术,包括比特币,它们之所以这么安全,最重要的基石就是密码,包括非对称加密、哈希、数字签名这些技术。

如果不理解密码,就不能理解之后的签名、地址、验证等问题。

对非专业研究算法的我们来说,密码学的原理并不复杂,关键掌握以下要点:

一、进制&存储单位

1、进制是一种计数方法

(注:上图“2进制”与“10进制”写反了)

2、存储单位

(注:上图“BG”应为“GB”,“TG”应为“PG”)

比特币挖矿算力8359PH/s,指比特币每秒钟的算力达到8359PG的哈希量。

二、加密解密

1、对称加密

对称加密中,密钥只有一个,一旦密钥丢失或被盗,任何得到密钥的人都能解密信息。这也正是对称加密的缺点,传递过程中无法确保密钥的绝对安全。

对称加密中的密钥就类似于我们在谍战剧中看到的密码本,任何得到密码本的人都可以根据密码本破译出原文,所以密码本的安全传递就非常重要。

那怎样才能更安全的传递信息呢?

这就需要非对称加密。

2、非对称加密

非对称加密由公钥和私钥进行加密。

私钥是本机电脑上自动生成的。公钥是私钥根据算法生成的。

传递的只是公钥。私钥由个人保存,用于解密。

发送方将信息用接收方的公钥进行加密(公钥可以公开),随机生成一段密文,接收方接到密文后,用自己的私钥进行解密,还原信息。

整个过程解决了安全问题,但没有解决“接收方如何验证信息是由指定的发送方发送”的问题。

就好比我收到了一个信息,我还原了这个信息,我如何知道这个信息是你发给我的而不是别的人发给我的?

这就需要数字签名。

在谈数字签名之前,我们先谈谈另一个重要的概念:哈希。

三、哈希-Hash

哈希是将一段任意长度的数据,转换为一段定长的数据。

我们可以根据原数据生成哈希值,但无法通过哈希倒推出原数据。这个过程是不可逆的。

(公钥加密后生成的密文是随机的,但都能用对应的私钥进行解密。

而同一数据生成的哈希值是确定的,因此哈希值可以用来验证数据。)

下图为哈希运算界面

你可以将任意长度的数据,无论是几K或是几G的文件输入,点击“Hash”,就会生成很多格式的哈希值。以前比较常用的有MD5,但是随着计算机算力的增强现在它的安全性受到了挑战。现在比特币的哈希值采用的是“SHA-256”格式,今后也许会采用“SHA-384”或其它长的格式。

哈希可以用于很多方面。比如财务软件安全下载。

如果你要下载一款炒股的软件,下载界面就会出现它的哈希结果:MD5……

当你下载完成以后,你想验证你所下载的这个软件是不是安全的,你就可以对这个下载的文件进行哈希:

然后生成的哈希结果与原下载界面的哈希结果进行比对验证,如果一致,证明这个软件是安全的,没有被篡改过。

哈希还可以用于用户密码的存储:

现在很多服务器都不直接存储用户密码的明文,那样一旦被攻击,或者发生数据库管理员监守自盗,所有的信息直接暴露。

因为哈希的不可逆性,哈希值可以用来验证用户密码,却不能倒推出用户密码,所以现在大多服务器存储的都是哈希。

但是哈希存储可以用“彩虹表攻击”的方法,就是先大量的输入猜测的密码,用生成的哈希值与服务器存储的哈希值作比对,一旦一致就可以倒推出用户密码。

针对“彩虹表攻击”,现在很多服务器采取的是“盐+哈希”存储的方式,就是在原密码的基础上,引入一个随机数,比如时间,当做“盐”,生成一个新的哈希,这样就使得彩虹表失效。

四、签名

发送方将信息用接收方的公钥进行加密,生成一个随机的密文,发送给接收方。

接受方接到密文后,用自己的密钥进行解密,得到一个信息。

接收方如何确认这个信息是指定的发送方所发送的呢?

这就需要数字签名。

发送方先将信息进行哈希,生成的摘要用自己的私钥进行签名,然后发送给接收方。

接收方接收后,用发送方的公钥进行解密,生成一个摘要。

然后接收方再把之前收到的信息进行哈希,生成一个摘要。两个摘要做比对,如果一致,就证明是确定的发送方发送的。

在实际应用中,由证书授权重心CA来证明“我确实是我”。

五、结语

相信学完这一课,你对公钥、私钥、哈希、签名等都有了新的认识。

公钥加密,私钥解密。

私钥签名,公钥解密。

区块链的世界,切记要保护好自己的私钥。

(本文根据新大区块链课程整理,授课人:周兵,图片来源:课程PPT)

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

推荐阅读更多精彩内容