博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区块链核心技术之密码学研究指南
阅读量:7065 次
发布时间:2019-06-28

本文共 1661 字,大约阅读时间需要 5 分钟。

前言

块链技术从2017年已经开始爆发,2018年更是火热,可以预见未来也一定是一个重要的技术,绝对不是昙花一现,很多有远见的公司早已经在2015年开始布局区块链技术如BAT,TMD等。区块链技术确实会颠覆一些中心化的大公司,但是真正好的大公司是不会等着别人去颠覆,他们会自己先投入研究区块链技术,而密码学作为区块链技术的基石自然成为研究学习的重点。下面通过一张图看看目前区块链的就业情况:

图中的“专家”,“高级研究员”,“总监”之类的岗位,密码学知识成为核心必备技能。 很多公司在发币热潮过去后,意识到区块链的底层技术才是真正有价值的,于是开始在密码学,公识算法,分布式存储,p2p网络系统这四方面招揽人才。

学习大纲推荐

密码学基础其实并没有想象的门槛那么高,具备初中以上数学知识就可以入门,如质数的特性,多项式分解因式等。学习时结合区块链中的使用到的密码学相关算法来研究推导,从而加深对区块链核心技术的理解。中间还要包含对称加密,非对称加密,哈希算法三类加密算法的研究。

可分两部分进行研究学习:

第一部分密码学基础知识和哈希算法原理,通过密码学的角度来看比特币

● 区块链中密码学基础

● 用密码学的角度去看比特币

● 哈希算法和MD5原理解析

● SHA系列加密算法

第二部分对称加密算法 3DES、AES 和非对称加密算法 RSA、ECC 椭圆曲线加密算法的原理

● 对称加解密算法3DES

● AES加密算法推导

● 非对称加密算法RSA的原理

● ECC椭圆曲线加解密算法

重点学习

区块链零知识证明

当理解了默克尔树的特性:任意一个叶子节点的细微变动,都会导致Root节点发生翻天覆地的变化;在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。好处是:

● 在使用零知识证明的时候,不降低安全性。

● 零知识证明工作高效,计算过程量小,双方交换信息少。

● 简单,安全,又有很好的隐私,减少计算量。

理解对称加密,非对称加密算法的特点

对称加密:

分组加密和序列加密。前者将明文切分为定长数据块作为基本加密单元,应用最为广泛。后者则每次只对一个字节或者字符进行加密处理,且密码不断变化,只用在一些特定的领域,如数字媒介的加密等。代表算法如MD5,SHA系列算法。 对称加密适用于大量数据的加解密过程;不适合用于签名场景,并且往往需要提前分发好密钥。

非对称加密:

缺点是处理速度比较慢,比对称加密慢了2,3个数量级;加密效率不如对称加密。 非对称加密的安全性需要基于数学问题来保障,目前有:大数质因子分解,离散对数,椭圆曲线等经典数学难题进行保护。代表算法:RSA,Diffie-Hellman,ElGamal,ECC,SM2 适用于签名场景或密钥协商,不适于大量数据加解密

课程推荐

作者最近出了一个达人课《区块链中的密码学》 ,感兴趣的朋友可以订阅学习一下(也可以微信扫描文章末尾二维码订阅)。希望学习本课程的同学能够产生对数学和算法的兴趣,对忘记掉的数学知识重新燃起学习的欲望,以前对算法感觉不重要的同学能够加强对算法的学习。 在数学方面强烈建议学习离散数学和微积分,对编程来说是相辅相成的,很难想象只有小学数学水平的人能把架构做好。微积分其实原理并不难理解,总的来说就是把整体拆分,然后根据拆分出的微小部分求和;先分割,再求和,分割就是微分,求和就是积分,剩下的就是找到公式去套用,重点是理解数学思想,公式都是全世界公认的几乎不会有变化,也不需要我们去发明一个公式,但是要理解数学思想之后才能合理运用合适的公式,排列组合等等。 之前听我的恩师胡老大说“编程到最后就是:数据结构+算法”,当时不理解,但是出于对老师的信任一直重视对算法的学习,工作到现在感受特别深。在计算机界,技术日新月异,学习到的技能可能是一时的,但是培养起终身学习的习惯和高效的学习方法,才是最有价值的。

转载于:https://juejin.im/post/5b7a182de51d4538d12c7774

你可能感兴趣的文章
小程序兼容iphoneX(齐刘海)代码,mpvue的写法
查看>>
小米设备怎么不ROOT激活Xposed框架的步骤
查看>>
Vue Router
查看>>
你所听到的技术原理、技术本质到底是什么?
查看>>
一篇很全面的IOS面试题(下)
查看>>
重学前端(六)-JavaScript中的class
查看>>
RPA:制造业的下一个改变者
查看>>
VSCode Python开发环境配置
查看>>
208道 java 高频面试题和答案
查看>>
MySQL学习笔记 初学基础篇
查看>>
power shell测试wmi
查看>>
BSON与JSON的区别
查看>>
我的友情链接
查看>>
Play Framework 模板里使用注入访问数据层
查看>>
今天打开阿里妈妈惊现 ¥50 元佣金
查看>>
Oracle 正确删除archivelog文件
查看>>
Tigase XMPP Server源码部署
查看>>
Intellij IDEA创建Maven Web项目
查看>>
java 7 入门书籍
查看>>
Android Pdf文档的生成、显示与打印
查看>>