当前位置:网站首页 > 区块链与加密技术 > 正文

区块链中的加密算法总结分享

1.对称加密算法:

(1)定义:对称加密算法即加密和解密使用相同密钥的算法。

在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密时用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。

图片来自百度

(2)特点:算法公开、计算量小、加密速度快、加密效率高 安全性不高 缺乏了签名功能

(3)常用算法:AES加密算法

采用对称分组密码体制,密钥长度的最少支持为128、192、256,即 AES算法在对明文加密的时候,并不是把整个明文一股脑加密成一整段密文,而是把明文拆分成一个个独立的明文块,每一个明文块长度128bit。

这些明文块经过AES加密器的复杂处理,生成一个个独立的密文块,这些密文块拼接在一起,就是最终的AES加密结果。

问:什么是秘钥?

答:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。

2.非对称加密算法

1. 定义:该算法需要一对密钥,公钥和私钥,公钥对数据加密,私钥进行解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法

2. 工作原理:

1. A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。

2. A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。

3. A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。

4. A将这个消息发给B(已经用B的公钥加密消息)。

5. B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有 B才有B的私钥。

3. 对称加密和非对称加密的区别

4:非对称加密的常用算法

RSA算法:该算法是现今使用最广泛的公钥密码算法。

原理:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将

乘积公开作为加密密钥,也就是正向推导较为容易,反向推导不现实

工作步骤:

第一步,随机选择两个不相等的质数p和q并计算p和q的乘积n

第二步,计算n的欧拉函数φ(n) 即φ(n) = (p-1)(q-1)

第三步 ,求公钥e 1<e<φ(n) 要求是整数且e和φ(n) 互质(公约数只有1)

第四步,找私钥d 即要保证e*d和φ(n) 相除的余数为1,得到d (d为私钥)

加密:

此时c就为密文。(其中m为明文的二进制表示形式)

解密:

此时m就为明文

3.哈希算法

定义:哈希算法是一类数学函数算法,又称散列算法,它是一种数据映射关系。

举例:输入一个不定的字符串,然后输出一个固定长度的值。这个值就是该字符串的hash值。

常见的Hash算法有:md5、sha1、sha256、sha512等,都是摘要算法

特点:

1. 原像不可逆。原像不可逆是指对于任意给定的加密后的密文,都无法依据h自身的信息推导出。

2. 难题友好性。难题友好性通俗的理解就是如果要得到难题答案,你只能暴力枚举,没有比这更好的方法。(POW算法会应用到)

3. 发散性。发散性是指对于任意的明文,即使我们只改动非常少的信息量,生成的结果会完全不同。

4. 抗碰撞性。抗碰撞性是指对于任意两个不相同的z,那么他们对应的h值也不同。如果对于任意的 y不等于 z,则 HASH(y) 不等于 HASH(z);就是只要输入不一样,输出一定会不一样。

哈希算法使用在构造和验证区块、交易的完整性上,由于哈希算法的四个特性,使得我们可以把任意的交易数据做成数据摘要,然后再一个一个链接起来,形成数据块的链式结构。这样我们可以通过验证每个区块间接地验证交易,然后每个交易原数据也可以做成哈希数据摘要,用于验证交易数据的完整性。

图为区块链的基本数据结构

默克尔树:里面存放的数据都是哈希

4.数字签名

定义:它是一种类似写在纸上的普通的物理签名。

用途:用于鉴别数字信息的真实性。

(1)可鉴别身份。由于传统的手工签名一般是双方直接见面的,身份自可一清二楚。在网络环境中,接收方必须能够鉴别发送方所宣称的身份。--->通过数字证书!

(2)防篡改(防破坏信息的完整性)。对于数字签名,签名与原有文件已经形成了一个混合的整体数据,不可能被篡改,从而保证了数据的完整性。

(3)防重放。如在日常生活中,A向B借了钱,同时写了一张借条给B,当A还钱的候,肯定要向B索回他写的借条撕毁,不然,恐怕他会再次用借条要求A还钱。在数字签名中,可采用了对签名报文添加流水号、时间戳等技术,可以防止重放攻击。

数字签名流程如下:

以上供学习分享交流,由指导学生丁启文整理。

到此这篇区块链中的加密算法总结分享的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 如何释放城市潜力?港媒:区块链技术与加密货币都是答案_释放城市未来生命力2024-10-30 21:49:25
  • 区块链技术与加密数字货币的关联2024-10-30 21:49:25
  • 【区块链】区块链最全解释,带你深刻了解什么是区块链!2024-10-30 21:49:25
  • 元宇宙的火种——区块链与加密资产2024-10-30 21:49:25
  • 「白话区块链」一文看懂其中的密码学原理2024-10-30 21:49:25
  • 区块链基础知识(上):区块链基本原理、加密哈希、公钥加密2024-10-30 21:49:25
  • 密码学与块链技术:区块链的加密基础_区块链密码学算法包含哪些算法2024-10-30 21:49:25
  • 区块链与数字货币2024-10-30 21:49:25
  • 区块链的加密算法2024-10-30 21:49:25
  • 区块链学习笔记二之区块链的加密技术2024-10-30 21:49:25
  • 全屏图片