区块链加密最近什么情况区块链加密中使用的散列函数是简介

频道:百科知识 日期: 浏览:0

Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

最近有一位之前找过的用户问了我们小编的一个问题,我相信这也是很多币圈朋友经常会疑惑的问题:区块链加密相关问题,区块链加密中使用的散列函数是相关问题,带着这一个问题,让专业的小编告诉您原因。

区块链加密算法(EncryptionAlgorithm)

非对称加密算法是一个函数,通过使用一个加密钥匙,将原来的明文文件或数据转化成一串不可读的密文代码。加密流程是不可逆的,只有持有对应的解密钥匙才能将该加密信息解密成可阅读的明文。加密使得私密数据可以在低风险的情况下,通过公共网络进行传输,并保护数据不被第三方窃取、阅读。

区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。

区块链的应用领域有数字货币、通证、金融、防伪溯源、隐私保护、供应链、娱乐等等,区块链、比特币的火爆,不少相关的top域名都被注册,对域名行业产生了比较大的影响。

前言:区块链目前面临的隐私问题

看过比特币白皮书的人应该知道,区块链并不具有匿名性,太多于公开透明导致个人没有隐私性,每笔交易都有哈希值,通过浏览器哈希值可追溯到地址的交易记录、金额、时间和最初买入途径甚至资金流向,最终追踪到地址持有人,资产信息全部公开透明化了,这就导致大家没有隐私。

1丶匿名币是什么?

简单来说就是让资产踪,解决了区块链转账过于透明的问题,普通转账可以通过哈希值追溯记录,通过 DCS匿踪系统每笔转账都匿踪了,保护资产隐私!

2丶匿名币技术原理?

如果你想转账给谁,可先把这笔资金转给匿踪系统这时匿踪系统会给你一串取款凭证码,拥有这个码才可以取走这笔钱,取款凭证可以给任何人去取,但是取款凭证丢失这笔资金将会永久存放写死的合约地址,你取走的资金并不是你的,只是有资格在系统取这样一笔资金,每天来来回回无数的人存取款,谁的资金谁取走了并不知道,从而达到了匿踪作用!

3丶DCS优越于其他匿名币地方?

市面上出现过很多匿名币,有大零币、门罗币、达世币等这几个做的比较好,不过他们只支持自己的币种进行匿踪,用户想要匿踪的话必须购买他们的币来匿踪,DCS匿踪系统则支持多币种匿踪,例如DCS、USDT、BTC、ETH等等很多,比以前的匿名币发展潜力更大,其他匿名币目前基本都是200美金以上, DCS目前才1.6美金!

4丶DCS经济模型如何?

DCS总量发型6000万,最终销毁至2100万枚,前期流通300万枚,产量半年减半一次,其余币都是靠矿工挖矿产出,每个区块固定产多少,具体产出分配三个方面:流动性质押挖矿、节点挖矿、开立凭证挖矿,以上三个产出方式都是加权均分,参与人越多分的越少!

5丶DCS如何赚取收益?

1丶开立凭证挖矿:每次使用DCS匿踪系统,系统扣取千2手续费,同时给你一定权益数,权益数能够分配这个区块产的币。

2、流动性质押挖矿:购买质押DCS挖出DCS,每个区块固定产出多少,全网加权均分,全网质押的越多分的越少,产出币固定分的人多了!

3节点挖矿:当你网体质押DCS量达到一定数量成为不同的节点,每个节点也是按区块固定产币,节点越多,产的币会越少,分的自然越少!

4、手续费分红:用户使用DCS来进行匿踪,收取的千2手续费其中40%加权均分给全网质押DCS的用户!

5、币价升值:以往的匿名币价格基本都是200美金左右,DCS才1.6美金,而且有庞大的需求市场,完美的经济模型,通缩+销毁机制,再加上DCS即将上线一款射击类链游,必将刺激币价达到200美金以上!

比特币词汇表:你需要知道的每一个区块链和加密货币短语

尽管困难重重,区块链技术已成为主流。比特币已成为家喻户晓的词,世界各地的金融机构都投资于加密货币或允许其客户这样做。与此同时,NFT 吸引了各路名人的加入和赞赏。

但尽管如此,区块链技术仍然非常神秘。只有才华横溢的工程师才能真正理解这些——其中许多人是比特币和以太币等加密货币的早期采用者,而对于外行来说可能仍是很困难的。

以下是您可能会觉得有用的区块链术语的词汇表。(所有短语按英文字母顺序排列)

空投(Airdrop)

空投是指公司将加密货币或 NFT 直接放入您的钱包中。 区块链 服务将推出代 币 并空投给曾使用过该服务的用户,而不是首次公开募股。这样做有几个原因:它可以是纯粹的营销,因为空投提高了人们可以投资的代币的意识,或者可以为 DAO 提供治理代币。

最近的一个例子:以太坊名称服务允许用户将他们的钱包号码更改为钱包名称(如 CNET.eth)。去年 12 月,它推出了自己的 ENS 代币,向所有使用该服务的人空投了一定金额。使用以太坊名称服务的人越多,他们被空投的代币就越多——在某些情况下价值数万美元。

山寨币(Altcoin)

任何不是 比特币 或 以太币的加密货币都被称为山寨币(Altcoin) 。有时候也被称为“ shitcoins。 ”

币安(Binance)

世界上最大的 加密货币 交易所,人们在这里购买和交易加密货币。它正在接受美国司法部和美国国税局的逃税和洗钱调查。

区块链(Blockchain)

区块链是“分布式数据库”。简单来说,它是一个去中心化的账本,将信息记录在数字“块”中。一旦一个块被挖掘并添加到链中,它就不能被更改,因此区块链提供了不可更改数据的公共记录。

有许多不同的区块链具有不同程度的去中心化、效率和安全性。许多人拥有自己的加密货币——例如,以太币是一种建立在 以太坊区块 链上的加密货币。

比特币(Bitcoin)

比特币是第一个 加密货币 ,建立在比特币区块链之上。它是由一个人或一群人以中 本聪 的笔名于 2009 年创建的。只能铸造2100 万枚,其中大约1890 万枚已经在流通。

销毁(Burning)

加密货币 通过发送到只能接收而不能发出的钱包而被“烧毁”。销毁机制通常被用来造成通缩影响:流通中的 代币 越少,投资者持有的 代币 就越稀缺。

买跌(Buy the dip)

这是指在价格下跌后购买更多资产。例如,如果价格下跌 10,000 美元,比特币持有者可能会“逢低买入”。

冷钱包(Cold Wallet)

未连接到互联网的加密货币钱包。这些钱包更安全,更不容易受骗。

跨链(Cross-chain)

将数据、代币或资产从一个区块链发送到另一个区块链的能力。这不同于为在多个区块链上工作而构建的“ 多链 ”服务。

密码学(Cryptography)

一种信息加密形式,其中数据只能使用密钥进行解密。使用 工作量证明 协议的 区块链 依赖于解决极其复杂的密码学难题,以便挖掘和验证新区块。

加密货币(Cryptocurrency)

加密货币是 区块链 原生的代 币 。加密货币通常随着每个新区块的开采而铸造。例如,每 挖出 一个新的 以太坊 区块, 都会 获得两个以太币作为对矿工的补偿。

加密货币是一种代 币 。它们的诞生是它们的决定性因素:其他代币是使用构建在区块链之上的平台和应用程序创建的,而加密货币则内置于区块链的协议中。

去中心化应用(Dapps)

去中心化应用程序的缩写。

道(DAO)

一个去中心化的自治组织。DAO 是一个通过共识做出决策的组织:所有 治理代币的 持有者都在组织决策中获得投票权,投票最多的解决方案是 DAO 的行动方案。想象一个去中心化的投资银行,但不是由基金经理做出投资决定,而是由其 治理代币 的持有者投票决定如何投资其国库中的资金。

去中心化交易所(Decentralized exchange)

去中心化交易所用于购买和交易 加密货币 。与典型的交易所不同,这些交易所使用绕过任何中心化权威的点对点交易。其中包括 Uniswap 和 Sushiswap。

去中心化金融(DeFi)

“decentralized finance”的缩写。DeFi 是使用 区块链 技术绕过中心化机构任何金融工具,例如 智能合约 或 DAO 。

钻石手(Diamond Hands)

钻石手是长期或在价格动荡期间持有金融资产的人。

DYOR

“Do Your Own Research”的缩写。

以太币(ETH)

在以太坊区块链上开采的 加密货币 。以太 币 的市值仅次于 比特币 ,但却是一种更常用的加密货币。大多数 山寨币 也是 基于以太坊构建的 ,因此与以太 币挂钩 。大多数 NFT 也建立在以太坊上,这就是为什么以太是 NFT 交易中使用的主要代币。

以太坊(Ethereum)

与 比特币 竞争的区块链。它旨在采用 比特币 开发人员开创的区块链技术,并将其用于更复杂的金融工具,如 智能合约 。

闪贷(Flash loan)

闪电贷是一种 DeFi 工具,允许在没有抵押品的情况下进行贷款。闪电贷允许您借钱购买资产,但前提是可以购买资产并在同一区块内偿还利息。想象一下,使用贷款购买一栋 100 万美元的房子,但只有当您已经排好另一个愿意支付足够费用让您偿还贷款和利息的买家时,贷款才会被批准。

这些贷款使用 智能合约 技术。

FUD

“fear, uncertainty and doubt”的缩写。这可能是合法的,例如人们对代币或 NFT 项目的安全性或合法性或安全性表示担忧,例如鼓励人们出售、降低资产价格的有组织的举动。

Gas

Gas 是您使用 以太坊 网络所要支付的价格。每笔交易都需要支付gas 费 ,这取决于 区块链的 过载程度。每笔交易的价格通常在 50 美元到 500 美元之间,但在网络负载过重时价格可能会飙升。

治理代币(Governance token)

治理代币是赋予所有者对给定项目投票权的加密货币。另请参阅: DAO 。

GWEI

gas 的成本以 GWEI 表示。作为粗略的指导,当 gwei 低于 50 时,gas 会很便宜,而当 gwei 高于 100 时,gas 会很贵。

HODL

“hold”的故意拼写错误,用于鼓励人们在价格下跌期间持有他们的代币。

Layer 1和Layer 2

如果您涉足 加密货币, 您会听说Layer 1和Layer 2解决方案。Layer 1是 区块链 架构本身,而Layer 2是指建立在区块链之上的架构。

例如,以以太坊的高gas成本问题为例。Layer 1解决方案是让 以太坊区块 链更高效,例如通过采用 权益证明 协议。Layer 2解决方案的一个例子是 Immutible X,这是一个建立在以太坊之上的交易所,它使用 智能合约 技术允许无气体、碳中和的交易。

流动性市场(Liquid Market)

流动性市场是一个拥有大量买家和卖家的市场,它允许几乎立即完成买卖订单。 加密货币 市场具有流动性,而 NFT 市场则不然。大多数合法的加密货币可以随时买卖,因为 NFT 交易者需要列出待售物品,希望买家手动购买。

主网(Mainnet)

一个供公众使用的区块链协议将被放入主网。这将它与测试网区分开来,后者更像是区块链协议的测试版发布。

模因币(Memecoins)

许多加密货币旨在提供实用程序或服务为目的。Memecoins 不提供实用前景,纯粹作为投机资产存在。狗狗币是最知名的 ,但还有很多很多。

元掩码(MetaMask)

一种基于浏览器的在线数字钱包,主要用于 以太坊区块链 上的交易。

矿业(Mining)

挖矿是验证交易并将区块添加到区块 链的过程 。这通常涉及解决复杂 密码 问题的强大计算机。至关重要的是,这也是将新的 加密货币 添加到流通中的方式。

矿机(Mining Rig)

为挖掘 加密货币 的特定目的而设置的功能强大的计算机。

矿场(Mining Farm)

全天运行的采矿设备仓库(或房间),用于挖掘 加密货币 。

铸币(Mint)

在区块链上,铸币意味着验证信息并将其作为区块链上的一个块。

“铸造” NFT 意味着在公开发售期间从其创建者那里购买它。“铸币价格”是指它的创造者出售它的价格——例如无聊猿游艇俱乐部的“铸币价格”是 0.08 以太币。在一个集合中的所有 NFT 都被铸造之后,想要接触该集合的交易者需要从 OpenSea 等二级市场购买它们。

多链(Multi-chain)

设计用于多个 区块链 的应用程序或服务。这与 跨链 应用程序和服务不同, 跨链 应用程序和服务旨在将数据或资产从一个区块链发送到另一个区块链。

月球(MOON)

价格的急剧飙升被称为“mooning”或“a moon”。“To the moon(去月球)”是一个常见的短语。

NFT

不可替代的代币(Non-fungible token)。这些是证明数字资产所有权的数字契约。目前,它们与艺术相关,但 NFT 可以证明任何数字的所有权。

链下/链上(Off-Chain/On-chain)

链上是指存在于 区块链 上的东西,链下是指存在于 区块 链之外的东西。 加密货币 是链上货币,法定货币是链下货币。

OpenSea

它是最大的 NFT 市场,专门研究基于 以太坊 的 NFT。(建立在不同区块链上的 NFT 通常在专门的市场上出售。例如,Solana NFT 在 Solanat 上出售。)

Play to Earn(P2E)

Play to Earn (P2E) 游戏 集成了区块链,并以 游戏 内 加密货币 奖励玩家。这些 游戏 中的加密货币可以兑换成比特币或以太币。最突出的例子是 Axie Infinity,玩家可以获得 Smooth Love Potion ($SLP)。

工作量证明(Proof of Work)

工作量证明(POW)是一种共识机制,通过该机制将块添加到区块链中。工作量证明要求矿工解决复杂的 密码学 难题,这需要强大的采矿设备提供大量能源,以验证新的区块链交易。

工作量证明是一种安全且去中心化的共识机制,但效率低下是出了名的。这就是比特币和以太坊区块链的运作方式,尽管以太坊很快就会转向更高效 的权益证明(Proof of Stake) 。

权益证明(Proof of Stake)

面对工作量 证明 的巨大能源需求, 权益 证明(POS)是一种更新的共识机制,可以更有效地挖掘区块。权益证明允许 加密货币 持有者在相关区块 链 上验证新区块。

他们通过抵押他们的 加密货币来 做到这一点。网络用户质押他们的加密货币,如果他们的股份是通过随机算法选择的,他们就有机会验证一个新区块——为此他们将获得更多加密货币形式的奖励。质押的加密货币越多,选择用户验证新区块的机会就越大。

工作证明奖励那些花费最多计算能力来解决密码难题的人,而权益证明奖励那些长期投资加密货币的人。

抽水和倾销(Pump and dump)

抽水和倾销计划涉及对产品的人为刺激,从而导致人们购买并提高其价格。然后,抽水和倾销协调者以高价出售其资产,从而导致价格急剧下跌。

这些存在于传统市场中,但在 加密货币 交易中更为常见,因为微市值加密货币的低流动性使其价格更容易操纵。

地毯拉动(Rug pull)

地毯拉动是指 加密货币 的创造者消失,并带走资金。最近的一个例子是伪造的Squid Game 硬币,尽管这些硬币远非罕见。“地毯”本质上是“骗局”的简写。

中本聪(Satoshi Nakamoto)

比特币 创造者的化名。解释去中心化金融的必要性和解释比特币如何运作的白皮书由中本聪签署,但没有人知道真实的人是谁。据推测,中本聪实际上是几个人。

助记词(Seed Phrase)

当你创建一个 加密货币 钱包时,你会得到一个 12 字的种子短语。每次在新设备上登录钱包时,都需要使用助记词。 永远不要把你的助记词给任何人 。

分片(Sharding)

分片在 区块链上 分配网络负载,允许每秒处理更多事务。这听起来很枯燥,但它非常重要。 以太坊 将在明年整合分片,这将使使用它更便宜,对环境的破坏也更小。

垃圾币(Shitcoin)

Shitcoin 是一种不提供任何效用的 山寨币 ,无论是 memecoin 还是无效的 山寨币 。

丝绸之路(Silk Road)

Silk Road 是一个在线黑市,于 2013 年被 FBI 关闭。这是许多人第一次接触 加密货币的地方 ,因为 比特币 是该网站非法商品的流行支付方式。

智能合约(Smart contract)

智能合约是在满足所需条件时自行执行的数字合约。例如,如果 Wallet X 向 Wallet Y 发送 0.08 ether,Wallet Y 向 Wallet X 发送 NFT Z。它们最常用于自动交易,但也可用于更复杂的用途,例如 快速贷款 。

稳定币(Stable coin)

稳定币是与美元挂钩的加密货币。其中包括 Tether 和 USDC。他们的目的是让 加密货币 交易者将他们的代币保存在加密生态系统中,而不会经历 比特币 和 以太币 价格波动的波动。

质押(Staking)

权益质押是在加密货币钱包中锁定持有资金,从而支持区块链网络运营。从本质上讲,它包括锁定加密货币以获得奖励。在大多数情况下,该流程需要用户使用个人加密钱包参与到区块链活动中。

权益质押的概念与权益证明(PoS)机制密切相关。它被用于许多基于PoS或相类似的其他区块链系统中。

TLT

“think long term”的缩写。

代币(Token)

代币是多种形式的区块链资产。像 比特币 这样的 加密货币 是一种代币。其他类型包括 治理代币 ,它授予持有者在 DAO 或服务中的投票权,或 实用代币 ,其中根据持有的代币数量授予对服务的访问权限。

TXN

交易(transaction)的缩写。

实用代币(Utility Token)

旨在提供某种功能的代币。这些可以是对应用程序、服务或 游戏 的访问。示例包括 Filecoin,它授予对基于区块链的数字存储的访问权限,以及 Link,它连接 了链下 类型数据的智能合约。

虚荣地址(Vanity Address)

由 Ethereum Name Service 等公司提供的个性化钱包地址。它允许您将钱包地址更改为您选择的单词或短语,例如 CNET.eth。

Vaporware

承诺但从未真正进入市场的产品。该术语在 90 年代后期随着最初的互联网繁荣而流行起来,并且由于阴暗的 加密货币 创造者而得到了复兴。

维塔利克·布特林(Vitalik Buterin)

以太坊区块链 背后的创造者。

钱包(Wallet)

加密货币钱包是您可以存储加密货币和 NFT 的地方。这些钱包可以是热钱包或冷钱包——即连接到互联网的浏览器钱包或未连接到互联网的物理硬件。钱包可以读写,这意味着它们可以接收信息,也可以作为签名或在线 ID。

Web 3

Web3 是区块链爱好者想象的互联网的下一次迭代。从互联网发明到 2005 年左右,Web1 是只读互联网。Web2 指的是用户能够制作内容并将其上传到互联网上的出现。Web3 将是一个集成了区块链的互联网。想象一下,将您的社交媒体帖子作为 NFT 拥有,使用像以太币这样的 加密货币 作为通用货币,并将您的钱包作为一种 ID 形式而不是电子邮件/密码组合。

鲸(Whale)

持有大量加密货币的人。

白名单 ( Whitelist)

加密货币 和 NFT 的 预售清单。列入白名单的投资者可以在公开发行前购买资产,有时以折扣价购买。

WAGMI

“we’re all going to make it”的缩写。

密码学技术是区块链技术的核心。区块链的密码技术有数字签名算法和哈希算法。

数字签名算法

数字签名算法是数字签名标准的一个子集,表示了只用作数字签名的一个特定的公钥算法。密钥运行在由SHA-1产生的消息哈希:为了验证一个签名,要重新计算消息的哈希,使用公钥解密签名然后比较结果。缩写为DSA。

?

数字签名是电子签名的特殊形式。到目前为止,至少已经有 20 多个国家通过法律 认可电子签名,其中包括欧盟和美国,我国的电子签名法于 2004 年 8 月 28 日第十届全 国人民代表大会常务委员会第十一次会议通过。数字签名在 ISO 7498-2 标准中定义为: “附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题,利用数据加密技术、数据变换技术,使收发数据双方能够满足两个条件:接收方能够鉴别发送方所宣称的身份;发送方以后不能否认其发送过该数据这一 事实。

数字签名是密码学理论中的一个重要分支。它的提出是为了对电子文档进行签名,以 替代传统纸质文档上的手写签名,因此它必须具备 5 个特性。

(1)签名是可信的。

(2)签名是不可伪造的。

(3)签名是不可重用的。

(4)签名的文件是不可改变的。

(5)签名是不可抵赖的。

哈希(hash)算法

Hash,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,其中散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,但是不可逆向推导出输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

哈希(Hash)算法,它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。

以比特币区块链为代表,其中工作量证明和密钥编码过程中多次使用了二次哈希,如SHA(SHA256(k))或者RIPEMD160(SHA256(K)),这种方式带来的好处是增加了工作量或者在不清楚协议的情况下增加破解难度。

以比特币区块链为代表,主要使用的两个哈希函数分别是:

1.SHA-256,主要用于完成PoW(工作量证明)计算;

2.RIPEMD160,主要用于生成比特币地址。如下图1所示,为比特币从公钥生成地址的流程。

隐私保护手段可以分为三类:

一是对交易信息的隐私保护,对交易的发送者、交易接受者以及交易金额的隐私保护,有混币、环签名和机密交易等。

二是对智能合约的隐私保护,针对合约数据的保护方案,包含零知识证明、多方安全计算、同态加密等。

三是对链上数据的隐私保护,主要有账本隔离、私有数据和数据加密授权访问等解决方案。

拓展资料:

一、区块链加密算法隔离身份信息与交易数据

1、区块链上的交易数据,包括交易地址、金额、交易时间等,都公开透明可查询。但是,交易地址对应的所用户身份,是匿名的。通过区块链加密算法,实现用户身份和用户交易数据的分离。在数据保存到区块链上之前,可以将用户的身份信息进行哈希计算,得到的哈希值作为该用户的唯一标识,链上保存用户的哈希值而非真实身份数据信息,用户的交易数据和哈希值进行捆绑,而不是和用户身份信息进行捆绑。

2、由此,用户产生的数据是真实的,而使用这些数据做研究、分析时,由于区块链的不可逆性,所有人不能通过哈希值还原注册用户的姓名、电话、邮箱等隐私数据,起到了保护隐私的作用。

二、区块链“加密存储+分布式存储”

加密存储,意味着访问数据必须提供私钥,相比于普通密码,私钥的安全性更高,几乎无法被暴力破解。分布式存储,去中心化的特性在一定程度上降低了数据全部被泄漏的风险,而中心化的数据库存储,一旦数据库被黑客攻击入侵,数据很容易被全部盗走。通过“加密存储+分布式存储”能够更好地保护用户的数据隐私。

三、区块链共识机制预防个体风险

共识机制是区块链节点就区块信息达成全网一致共识的机制,可以保障最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉,可以抵御恶意攻击。区块链的价值之一在于对数据的共识治理,即所有用户对于上链的数据拥有平等的管理权限,因此首先从操作上杜绝了个体犯错的风险。通过区块链的全网共识解决数据去中心化,并且可以利用零知识证明解决验证的问题,实现在公开的去中心化系统中使用用户隐私数据的场景,在满足互联网平台需求的同时,也使部分数据仍然只掌握在用户手中。

四、区块链零知识证明

零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,即证明者既能充分证明自己是某种权益的合法拥有者,又不把上述文章内容就是的信息泄漏出去,即给外界的“知识”为“零”。应用零知识证明技术,可以在密文情况下实现数据的关联关系验证,在保障数据隐私的同时实现数据共享。

????先放一张以太坊的架构图:

? ??在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:

? ??????????????秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。

????????如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。

????????2、无法解决消息篡改。

????如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。

????????1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。

????????2、同样存在无法确定消息来源的问题,和消息篡改的问题。

????????如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。

????????1、当网络上拦截到数据密文2时, 由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。

????????2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。

????????如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。

????????1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。

????????2、当B节点解密得到密文1后, 只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。

????????经两次非对称加密,性能问题比较严重。

????????基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:

????????当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要, 之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1, 比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。

????????在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。

????????无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。

????????在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢? 有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。

????????为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。

? ? ? ?在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后 对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。

????????为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:

????????在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。

????????以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?

????????那么如何生成随机的共享秘钥进行加密呢?

????????对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥 和 临时的非对称私钥 可以计算出一个对称秘钥(KA算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:

????????对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。

????????对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。

????????那么究竟应该采用何种加密呢?

????????主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。

????????密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。

????????在整个网络的传输过程中,根据密码套件主要分如下几大类算法:

????????秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。

????????消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。

????????批量加密算法:比如AES, 主要用于加密信息流。

????????伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。

????????在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。

????????握手/网络协商阶段:

????????在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等

? ????? 身份认证阶段:

????????身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。

????????消息加密阶段:

????????消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。

????????消息身份认证阶段/防篡改阶段:

????????主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。

? ?????? ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。

? ?????? ECDSA :用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。 主要用于身份认证阶段 。

? ?????? ECDH :也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。 主要用于握手磋商阶段。

? ?????? ECIES: 是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH), H-MAC函数(MAC)。

? ?????? ECC 是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。 ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。

????????ECC 是?Elliptic Curve Cryptography的简称。那么什么是椭圆加密曲线呢?Wolfram MathWorld 给出了很标准的定义: 一条椭圆曲线就是一组被? ?定义的且满足? 的点集。 ?

这个先订条件是为了保证曲线不包含奇点。

所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:

????????所有的非对称加密的基本原理基本都是基于一个公式 K = k*G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式? 不可进行逆运算( 也就是说G/K是无法计算的 )。

????????ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。

? ?????? 我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k*G计算出我们的公钥K。并且保证公钥K也要在曲线上。

????????那么k*G怎么计算呢?如何计算k*G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。

????????首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:

????????在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2*2 = 2+2,3*5 = 5+5+5。 那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。

????????曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。

????????现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。

? ?????? ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。

? ?????? 那么P+Q+R = 0。其中0 不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。

????????同样,我们就能得出 P+Q = -R。 由于R 与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。

????????P+R+Q = 0, 故P+R = -Q , 如上图。

以上就描述了ECC曲线的世界里是如何进行加法运算的。

????????从上图可看出,直线与曲线只有两个交点,也就是说 直线是曲线的切线。此时P,R 重合了。

????????也就是P = R, 根据上述ECC的加法体系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0

????????于是乎得到 2*P = -Q (是不是与我们非对称算法的公式 K = k*G 越来越近了)。

????????于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。

????????假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。

????????那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。

????????选一个随机数 k, 那么k * P等于多少呢?

????????我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111

????????由于2*P = -Q 所以 这样就计算出了k*P。 这就是点倍积算法 。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。

????????至于为什么这样计算 是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:

????????我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了 整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?

????????ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:

????????在曲线上选取一个无穷远点为基点?G = (x,y)。随机在曲线上取一点k 作为私钥, K = k*G 计算出公钥。

? ?????? 签名过程:

????????生成随机数R, 计算出RG.

????????根据随机数R,消息M的HASH值H,以及私钥k, 计算出签名S = (H+kx)/R.

????????将消息M,RG,S发送给接收方。

? ?????? 签名验证过程:

????????接收到消息M, RG,S

????????根据消息计算出HASH值H

????????根据发送方的公钥K,计算 HG/S + xK/S, 将计算的结果与 RG比较。如果相等则验证成功。

? ?????? 公式推论:

????????HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG

????????在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C = A+C+B = (A+C)+B。

????????这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考 ?Alice And Bob ?的例子。

????????Alice 与Bob 要进行通信,双方前提都是基于 同一参数体系的ECC生成的 公钥和私钥。所以有ECC有共同的基点G。

? ?????? 生成秘钥阶段:

????????Alice 采用公钥算法 KA = ka * G ,生成了公钥KA和私钥ka, 并公开公钥KA。

????????Bob 采用公钥算法 KB = kb * G ,生成了公钥KB和私钥 kb, 并公开公钥KB。

? ?????? 计算ECDH阶段:

????????Alice 利用计算公式 Q = ka * KB ?计算出一个秘钥Q。

????????Bob 利用计算公式 Q’ = kb * KA 计算出一个秘钥Q’。

? ?????? 共享秘钥验证:

????????Q = ka? KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q’

????????故 双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。

????????在以太坊中,采用的ECIEC的加密套件中的其他内容:

????????1、其中HASH算法采用的是最安全的SHA3算法 Keccak 。

????????2、签名算法采用的是 ECDSA

????????3、认证方式采用的是? H-MAC

????????4、ECC的参数体系采用了secp256k1,? 其他参数体系 参考这里

????????H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:

在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。

首先,以太坊的UDP通信的结构如下:

????????其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。

????????其UDP的整个的加密,认证,签名模型如下:

只要你仔细阅读了上述,那么你就已经了解了区块链加密中使用的散列函数是的相关知识,如果屏幕面前的你还有什么对区块链加密好的建议和想法,欢迎各位再下面评论区评论出来,我们将及时回复。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。

本文地址: http://www.lyw520.com/baikezhishi/39804.html
文章来源: 小美
区块链加密最近什么情况区块链加密中使用的散列函数是简介文档下载: PDF DOC TXT
关键词: 加密 数据 区块