区块链中的密码学

mlw1814011067 mlw1814011067     2022-12-27     449

关键词:

区块链概念

技术分享图片 

区块:可以看做是一页一页的账单,上面记录若干条数据

区块链:可以看做是账本,里面按照时间顺序将若干个账单 每个区块中包含两个最重要的值,自己的hash值,和上一个区块的hash值

 详解

          区块链是一串使用密码学方法相关联产生的数据块,每一个区块中包含上一个区块的hash值,用于验证其信息的有效性(防伪)和生成下一个区块

 

 

 

Hash算法

 

Hash算法:可以将任意数据 生成 固定长度的16进制字符串

常见算法:md5 , sha1 , sha256 , sha512等,都是摘要算法

 

密码学

 

一.对称加密:

         使用 同一个密匙 进行加密和解密,这种加密方法称为 对称加密 也成为单密匙加密

         算法:DES , 3DES , AES , TDEA , Blowfish , RC2 , RC4 , RC5 , IDEA , SKIPJACK

 

1.特点:

         a.加解密使用相同的密匙

         b.高效,使用于大量数据的加密场景

         c.算法公开,安全性取决于密匙大小,但密匙越大效率越低,需要权衡在安全和效率中做权衡

2.缺点

         算法本身安全,但使用场景不够安全,因为解密和加密都是使用同一个密匙

 

二.非对称加密

使用 匹配的一对密匙来分别进行加密和解密,这两个密匙是公开密匙(公钥)和私有密匙(私钥)

算法:RSA、ECC、Elgamal、背包算法、Rabin、D-H 等

 

非对称加密使用方法

  1. 生成一对匹配的 私钥 和 公钥 (ps:公钥其实是根据私钥生成的)
  2. 将公钥公布给外界

用法1. 公钥加密 - 用来针对互联网上加密数据传递

将自己的公钥公布给外界,然后拿到公钥的人必须使用对应私钥来解密

注意:公钥加密的数据只能对应的私钥解密,同理,私钥加密的数据只能用对应的公钥解密

 

 

用法2. 私钥签名 - 目的是为了将明文公布给别人,同时证明是自己发的

 

用自己的私钥对明文进行hash值,对hash进行加密,连同明文一同发送给指定的人,

 

该人使用我的私钥进行解密,解密后的明文hash值和接受到的明文的hash值进行对比,如果是一样的,就能证明密文是 发的

 

特点:

       安全性高

       加解密复杂,效率低

 

 

小结

~对称加密 加密与解密 使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。

~ ~ 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。

~ ~ ~ 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密协商,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通

 

区块链中的密码学

...sp;        区块链是一串使用密码学方法相关联产生的数据块,每一个区块中包含上一个区块的ha 查看详情

1.3.1区块链中的加密算法——hash算法(更新)(代码片段)

...密码哈希函数和椭圆曲线公钥密码技术在内的大量的现代密码学技术,同时,这些密码学技术也被用于设计基于工作量证明的共识算法并识别用户。  在前边的文章中已经系统的讲述了密码学中的哈希算法,在本节,将会给大... 查看详情

区块链与密码学第5-6讲:哈希哈数在区块链中的应用

【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及... 查看详情

币图细说—区块链中的密码学

密码学是一门很深奥的学问,密码学促进了现代计算机的发展,在区块链领域所涉及到的密码学知识主要是哈希算法和数字签名,现在我们来看看哈希算法。 1.什么是哈希算法? 加密算法是指对数据进行一定的... 查看详情

1.3.2区块链中的密码学——merkle树

  在计算机领域,Merkle树大多用来进行完整性验证处理。在处理完整性验证的应用场景中,特别是在分布式环境下进行这样的验证时,Merkle树会大大减少数据的传输量以及计算的复杂度。  Merkle哈希树是一类基于哈希值的二... 查看详情

区块链中的密码学-椭圆曲线加密算法分析

在目前密码学的非对称加密算法中,RSA算法依然是一种主流,但是随着比特币中对于一种之前不太流行的算法:椭圆加密算法(ECC)的成功应用后,这种算法得到了很大的关注和普及。有一种说法是中本聪不信任RSA算法,认为美... 查看详情

java实现区块链中的区块,block的实现

1、区块是区块链的基础单元区块链由若干个区块组成,区块是区块链的基础单元2、区块链中区块的基本属性区块6个属性的说明-Index区块的索引值,区块链中的唯一键区块6个属性的说明-Timestamp区块的时间戳,用于区分区块的产... 查看详情

信息摘要算法之七:sha在区块链中的应用

最近几年比特币的火爆带动了人们对区块链技术的研究。当然我们在这里并不讨论区块链技术本身,而是讨论一下区块链中的SHA算法的应用。对于SHA系列算法我们已经在前面作了说明,在这里也不再重复。1、区块链中的SHA区块... 查看详情

区块链中的节点是什么?

随着区块链科技的进步,各种形态不同的链展现在大家面前,有些区块链中节点有很多(如以太坊),而有些区块链中的节点又很少(如EOS),今天我们拿第一代区块链比特币来讲。比特币被设计为一种去中心化的点对点(P2P)网络如中... 查看详情

区块链中的节点是什么

随着区块链科技的进步,各种形态不同的链展现在大家面前,有些区块链中节点有很多(如以太坊),而有些区块链中的节点又很少(如EOS),今天我们拿第一代区块链比特币来讲。比特币被设计为一种去中心化的点对点(P2P)网络如中... 查看详情

区块链共识协议指南

...止分叉。在工作量证明机制中,矿工通过解决极其困难的密码学难题互相竞争来将下一个区块(一系列交易)添加到区块链中。第一个解决难题的矿工将会获得奖励,该矿工会获得 查看详情

如何获取存储在区块链中的数据,然后显示在网页上?

】如何获取存储在区块链中的数据,然后显示在网页上?【英文标题】:HowcanIgetthedatastoredinblockchainandthendisplayonwebpage?【发布时间】:2020-03-2807:36:34【问题描述】:我正在使用metamask、ganache、truffle和web3js开发一个系统,该系统可... 查看详情

区块链中的密码学之数字证书体系(十四)

1.前言数字证书用来证明某个公钥是谁的,并且内容是正确的。对于非对称加密算法和数字签名来说,很重要的一点就是公钥的分发。一旦公钥被人替换(典型的如中间人攻击),则整个安全体系将被破坏掉。怎么确保一个公钥... 查看详情

text在万神殿区块链中的isethcall(代码片段)

查看详情

区块链中的epoch

Epoch用于定义区块链上特定事件发生的时间纪元(eraoftime),如:激励支付的时间新的验证者组负责验证交易的时间不同的区块链协议,epoch的定义不同。常用于表示在链上完成特定区块数的时间。如在以太坊... 查看详情

错误 3080006:EOSIO 区块链中的交易时间过长

】错误3080006:EOSIO区块链中的交易时间过长【英文标题】:Error3080006:TransactiontooktoolonginEOSIOblockchain【发布时间】:2020-03-0720:23:40【问题描述】:EOS使用以下方法。nodeos(node+eos=nodeos)-核心EOSIO节点守护进程,可以配置插件以运行节... 查看详情

关于今年以来区块链中的安全事件分析

区块链中的安全性相较于传统互联网安全高了很多,但高安全性也并不意味着绝对安全,再加上由于技术的缺陷和搭建时可能存在的漏洞,这让区块链中也时常会发生很多安全事件。区块链由于将数字内容转化为数字... 查看详情

[老k说区块链]区块链中的共识—免信任的共识机制

老k,柏链道捷CTO、清华阿尔山区块链研究中心高级工程师,超过17年的系统软件开发经验,在操作系统、编译器、虚拟机和符号执行方面都有实战经验。主持开发多个开眼项目,目前主要从事区块链底层系统开发工作。这个系列... 查看详情