文章摘要:了解区块链的相关知识
区块链开发必须要学习密码学技术,包括密码理论、对称加密、分组密码、非对称加密等部分,及掌握通用的密码学接口和程 […]
区块链开发必须要学习密码学技术,包括密码理论、对称加密、分组密码、非对称加密等部分,及掌握通用的密码学接口和程序设计。以下是关于区块链要学什么知识的具体介绍。
1. 密码
发送者、接收者和窃听者;加密和解密;密钥;密码和信息安全常识。
2. 对称加密
编码;DES;三重DES;AES;应该选择哪种对称加密。
3. 分组密码模式
分组密码;ECB模式;CBC模式。
4. 非对称加密
非对称加密通信过程;RSA;非对称加密解决方案。
5. 单向散列函数
了解什么是单向哈希函数;单向散列函数的性质;关于术语;散列函数的实际应用;常用的单向散列函数。
6. 消息认证码
什么是消息验证码;消息认证码的使用步骤;HMAC;消息认证码的密钥分发问题;消息身份验证代码无法解决的问题。
7. 数字签名
从消息认证到数字签名;签名生成和验证;数字签名方法;通过RSA进行数字签名;数字签名无法解决的问题。
8. 证书
X.509;公钥基础设施(PKI);Go中的证书认证。
9. SSL / TLS
客户端和服务器; 使用SSL / TLS承载HTTP。
要掌握密码学理论与信息安全常识;对称加密、非对称加密以及相关API调用与业务逻辑;散列算法与相关开发接口;消息认证机制以及Go中的应用;数字签名、证书等常用证书流程以及Go中的程序调用。
同时还有对称加密、非对称加密、证书应用场景;对称加密中分组密码模式原理;对称加密、非对称加密实现;单项散列函数应用场景。