一、哈希算法
哈希函数是将任意长度的二进制明文通过算法处理映射为较短且固定长度的
二进制值,映射后的值也被称为哈希值。哈希值的数据唯一,且形式紧凑。即使只是变更明文中的一个字母,最终得到的哈希值也会发生变更。由于哈希算法本身的特点,任何人都不可能找到拥有相同哈希值的两段明文。因此,可以将哈希值作为判断数据完整性的关键依据。
哈希函数是将任意长度的消息M映射成个固定长度散列值h(设长度为m)的函数H
h=H(M)
散列函数要具有单向性,则必须满足如下特性:
- 给定M,很容易计算h。
- 给定h,根据H(M)=h反推M很难。
- 给定M,要找到另一消息M’,并满足H(M)=H(M)很难。
Hash函数是一个数学函数,具有以下三个特性:
- ① Hash函数的输入可以为任意长度字符串;
- ② Hash函数产生固定大小的输出(比如256位的输出);
- ③ Hash函数能进行有效的计算,且计算时间合理,对n位的字符串,其Hash计算的复杂度为O(n);
- 此外,要使得Hash函数达到密码安全,又需要Hash函数具有以下附加特性:碰撞阻力大,隐秘性强,解题友好,雪崩性。
二、区块链地址生成
区块链地址生成需要经过五个步骤:
- 通过随机数发生器获得一个私钥。一般而言,私钥是一串数据,可以用于操 作相应的区块链账户。由于私钥可以直接打开账户,需要严格保管,以防丢 失。
- 将私钥经过算法处理生成一把公钥。技术上,可以从私钥计算得到“公钥”, 但是“公钥”无法倒退获得私钥。
- 利用“公钥”进行哈希计算得到公钥哈希。
- 在“公钥哈希”头部连接一个字节的地址版本,对其进行两次哈希运算,结 果的前 4 个字节可以作为公钥哈希校验值,连接至尾部。
- 对上一步的运算结果进行编码,即可得到一个区块链账户地址。
三、非对称加密
1、RSA
RSA 算法的加密思想在于将两个大质数相乘容易,但是将相乘结果再进行因式分解却面临较大难度,该结果恰恰可以作为密钥。
在技术上,由公钥逆推得到私钥是无法实 现的。另外,为了加强密钥安全,RSA 密钥长度至少达到 500 位以上。随着信息加 密要求级别的提高,密钥长度还会相应再增加。
RSA是能够抵抗绝大多数密码攻击,实现对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。
特点:数学原理简单、在工程应用中比较易于实现,但它的单位安全强度相对较低。
四、对称加密【121页】
2、椭圆曲线算法(ECC)
椭圆加密算法(ECC)是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。
与 RSA 相比,椭圆曲线算法具有四个优点:
- 安全性能更好,拥有多项国际标准能够确保较高的安全强度;
- 对私钥的处理速度要优于 RSA;
- 所需存储空间小,不占用过多的网络资源;
- 硬件要求低,有利于在节点之间推广,从发展趋势来看,椭圆曲线算法在 未来有可能替代 RSA,成为新的全球公钥数据加密标准。
特点:数学理论深奥,过程复杂,但单位安全强度相对较高,处理速度快,存储空间占用小,带宽要求低.
1、DES
随着计算机硬件的指数级发展,处理能力不断提高,DES 加密算法已经不再安全, 早在 1999 年,就有组织宣称使用 64 位数据块在 23 小时之内成功破解了该算法。 这主要是由于 DES 算法的秘钥太短,只有56 位,很容易通过暴力方式破解。目前DES 算法已经被 AES 算法所取代。
2、AES
Advanced Encryption Standard ,即高级加密标准,高级加密标准由美国国家 标准与技术研究院(NIST)在 2001 年提出,AES 算法是目前相对较新,也是目前最流行的对称加密算法,速度更快,安全性更好,被认为是 DES 的替代者。
五、数字签名
发送方使用接受方的公钥对消息加密,用自己的私钥对消息生成的摘要进行签名,将密文及签名发送给接收方。
接收方使用自己的私钥对消息进行解密,对消息进行哈希处理得到摘要,使用发送方的公钥对签名进行验证对比是否与摘要内容吻合,从而判断消息是否被篡改。
六、公钥基础设施【122页】
1、PKI
在公钥的设计流程中,除了加密机制外,还包括证书的生成、分发、撤销三个环节。在此,需要遵循 PKI(Public Key
Infrastructure)体系的要求,对证书进行全 生命周期的认证与管理。文章来源:https://www.toymoban.com/news/detail-424679.html
完整的 PKI 系统包括数字证书、证书认证、身份认证、证书管理系统、证书吊销、密钥管理、接口管理七个部分。文章来源地址https://www.toymoban.com/news/detail-424679.html
- 数字证书:网络中代表身份信息的数据凭证,其中包含数字签名和加密信息 的公钥。
- 证书认证:根据身份认证的结果,负责数字证书发放。
- 身份认证:对用户身份、数据合法性进行验证,将相关信息录入证书管理系统。
- 证书管理系统:记录用户、数字证书、公钥、数据等各类信息。
- 证书吊销:对超出有效期的数字证书进行吊销处理。
- 密钥管理:由可信机构负责记录用户的公钥,提供公钥恢复的机制,不管理私钥。
- 接口管理:促进节点之间交互,提高安全强度,降低管理成本。
到了这里,关于区块链密码学学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!