欢迎光临爽报娱乐新闻 YesDaily.com
更多关注
收藏本站
在线留言
导航
爽报娱乐新闻 YesDaily.com
首页
娱乐
国际
综合
财经
区块链
穿搭
化妆
爽报
>
区块链
>
比特币的密码学技术
发布时间:2026-02-21
爽报 YesDaily.COM
206
摘要:
在正式进入比特币开发之前,我们需要知道密码学的基础原理和种类,如果没有这些基础知识的垫底,后面学习起来是非常困难的。希望各位伙伴能够耐心把密码学这部分给了解透切。 密码学技术 工程领域从来没有黑科技;密码学不是工程。
密码学在信息技术领域的重要地位无需多言。如果没有现代密码学的研究成果,人类社会根本无法进入信息时代。 密码学领域十分繁杂,本章将介绍密码学领域中跟
区块链
相关的一些基础知识,包括 hash 算法与摘要、加密算法、数字签名和证书、PKI 体系、Merkle 树、同态加密等,以及如何使用这些技术实现信息的机密性、完整性、认证性和不可抵赖性。 Hash算法 Hash (哈希或散列)算法是信息技术领域非常基础也非常重要的技术。它能任意长度的二进制值(明文)映射为较短的固定长度的二进制值(Hash 值),并且不同的明文很难映射为相同的 Hash 值。
例如计算一段话“hello blockchain world”的 MD5 hash 值为 89242549883a2ef85dc81b90fb606046 $ echo "hello blockchain world"|md589242549883a2ef85dc81b90fb606046 这意味着我们只要对某文件进行 MD5 Hash 计算,得到结果为 89242549883a2ef85dc81b90fb606046,这就说明文件内容极大概率上就是 “hello blockchain world”。
可见,Hash 的核心思想十分类似于基于内容的编址或命名。 注:hash 值在应用中又被称为指纹(fingerprint)、摘要(digest)。 注:MD5 是一个经典的 hash 算法,其和 SHA-1 算法都已被 证明 安全性不足应用于商业场景。 一个优秀的 hash 算法,将能实现: 正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。 逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能)逆推出明文。 输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。 冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。 冲突避免有时候又被称为“抗碰撞性”。如果给定一个明文前提下,难以找到碰撞的另一个明文,称为“弱抗碰撞性”;如果难以找到任意两个明文,发生碰撞,则称算法具有“强抗碰撞性”。
很多场景下,也要求对于任意长的输入内容,输出定长的 hash 结果。 流行的算法 目前流行的 Hash 算法包括 MD5、SHA-1 和 SHA-2。 MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年设计的,MD 是 Message Digest 的缩写。其输出为 128 位。MD4 已证明不够安全。 MD5(RFC 1321)是 Rivest 于1991年对 MD4 的改进版本。它对输入仍以 512 位分组,其输出是 128 位。MD5 比 MD4 复杂,并且计算速度要慢一点,更安全一些。MD5 已被证明不具备“强抗碰撞性”。 SHA (Secure Hash Algorithm)是一个 Hash 函数族,由 NIST(National Institute of Standards and Technology)于 1993 年发布第一个算法。目前知名的 SHA-1 在 1995 年面世,它的输出为长度 160 位的 hash 值,因此抗穷举性更好。SHA-1 设计时基于和 MD4 相同原理,并且模仿了该算法。SHA-1 已被证明不具备“强抗碰撞性”。 为了提高安全性,NIST 还设计出了 SHA-224、SHA-256、SHA-384,和 SHA-512 算法(统称为 SHA-2),跟 SHA-1 算法原理类似。SHA-3 相关算法也已被提出。
目前,一般认为 MD5 和 SHA1 已经不够安全,推荐至少使用 SHA2-256 算法。 性能 一般的,Hash 算法都是算力敏感型,意味着计算资源是瓶颈,主频越高的 CPU 进行 Hash 的速度也越快。 也有一些 Hash 算法不是算力敏感的,例如 scrypt,需要大量的内存资源,节点不能通过简单的增加更多 CPU 来获得 hash 性能的提升。 数字摘要 顾名思义,数字摘要是对数字内容进行 Hash 运算,获取唯一的摘要值来指代原始数字内容。 数字摘要是解决确保内容没被篡改过的问题(利用 Hash 函数的抗碰撞性特点)。 数字摘要是 Hash 算法最重要的一个用途。在网络上下载软件或文件时,往往同时会提供一个数字摘要值,用户下载下来原始文件可以自行进行计算,并同提供的摘要值进行比对,以确保内容没有被修改过。
加解密算法 算法体系 现代加密算法的典型组件包括:加解密算法、加密密钥、解密密钥。其中,加解密算法自身是固定不变的,一般是公开可见的;密钥则往往每次不同,并且需要保护起来,一般来说,对同一种算法,密钥长度越长,则加密强度越大。 加密过程中,通过加密算法和加密密钥,对明文进行加密,获得密文。 解密过程中,通过解密算法和解密密钥,对密文进行解密,获得明文。 根据加解密的密钥是否相同,算法可以分为对称加密(symmetric cryptography,又称公共密钥加密,common-key cryptography)和非对称加密(asymmetric cryptography,又称公钥加密,public-key cryptography)。两种模式适用于不同的需求,恰好形成互补,很多时候也可以组合使用,形成混合加密机制。 并非所有加密算法的强度都可以从数学上进行证明。公认的高强度加密算法是在经过长时间各方面实践论证后,被大家所认可,不代表其不存在漏洞。但任何时候,自行发明加密算法都是一种不太明智的行为。
对称加密 顾名思义,加解密的密钥是相同的。 优点是加解密效率高(速度快,空间占用小),加密强度高。 缺点是参与多方都需要持有密钥,一旦有人泄露则安全性被破坏;另外如何在不安全通道下分发密钥也是个问题。 对称密码从实现原理上可以分为两种:分组密码和序列密码。前者将明文切分为定长数据块作为加密单位,应用最为广泛。后者则只对一个字节进行加密,且密码不断变化,只用在一些特定领域,如数字媒介的加密等。 代表算法包括 DES、3DES、AES、IDEA 等。 DES(Data Encryption Standard):经典的分组加密算法,1977 年由美国联邦信息处理标准(FIPS)所采用 FIPS-46-3,将 64 位明文加密为 64 位的密文,其密钥长度为 56 位 + 8 位校验。
现在已经很容易被暴力破解。
3DES:三重 DES 操作:加密 --> 解密 --> 加密,处理过程和加密强度优于 DES,但现在也被认为不够安全。 AES(Advanced Encryption Standard):美国国家标准研究所(NIST)采用取代 DES 成为对称加密实现的标准,1997~2000 年 NIST 从 15 个候选算法中评选 Rijndael 算法(由比利时密码学家 Joan Daemon 和 Vincent Rijmen 发明)作为 AES,标准为 FIPS-197。AES 也是分组算法,分组长度为 128、192、256 位三种。
AES 的优势在于处理速度快,整个过程可以数学化描述,目前尚未有有效的破解手段。 适用于大量数据的加解密;不能用于签名场景;需要提前分发密钥。 注:分组加密每次只能处理固定长度的明文,因此过长的内容需要采用一定模式进行加密,《实用密码学》中推荐使用 密文分组链接(Cipher Block Chain,CBC)、计数器(Counter,CTR)模式。
非对称加密 非对称加密是现代密码学历史上最为伟大的发明,可以很好的解决对称加密需要的提前分发密钥问题。 顾名思义,加密密钥和解密密钥是不同的,分别称为公钥和私钥。 公钥一般是公开的,人人可获取的,私钥一般是个人自己持有,不能被他人获取。 优点是公私钥分开,不安全通道也可使用。 缺点是加解密速度慢,一般比对称加解密算法慢两到三个数量级;同时加密强度相比对称加密要差。
非对称加密算法的安全性往往需要基于数学问题来保障,目前主要有基于大数质因子分解、离散对数、椭圆曲线等几种思路。 代表算法包括:RSA、ElGamal、椭圆曲线(Elliptic Curve Crytosystems,ECC)系列算法。 RSA:经典的公钥算法,1978 年由 Ron Rivest、Adi Shamir、Leonard Adleman 共同提出,三人于 2002 年获得图灵奖。算法利用了对大数进行质因子分解困难的特性,但目前还没有数学证明两者难度等价,或许存在未知算法在不进行大数分解的前提下解密。 Diffie-Hellman 密钥交换:基于离散对数无法快速求解,可以在不安全的通道上,双方协商一个公共密钥。 ElGamal:由 Taher ElGamal 设计,利用了模运算下求离散对数困难的特性。被应用在 PGP 等安全工具中。
椭圆曲线算法(Elliptic curve cryptography,ECC):现代备受关注的算法系列,基于对椭圆曲线上特定点进行特殊乘法逆运算难以计算的特性。最早在 1985 年由 Neal Koblitz 和 Victor Miller 分别独立提出。ECC 系列算法一般被认为具备较高的安全性,但加解密计算过程往往比较费时。 一般适用于签名场景或密钥协商,不适于大量数据的加解密。
RSA 算法等已被认为不够安全,一般推荐采用椭圆曲线系列算法。 混合加密机制 即先用计算复杂度高的非对称加密协商一个临时的对称加密密钥(会话密钥,一般相对内容来说要短的多),然后双方再通过对称加密对传递的大量数据进行加解密处理。 典型的场景是现在大家常用的 HTTPS 机制。HTTPS 实际上是利用了 Transport Layer Security/Secure Socket Layer(TLS/SSL)来实现可靠的传输。TLS 为 SSL 的升级版本,目前广泛应用的为 TLS 1.0,对应到 SSL 3.1 版本。 建立安全连接的具体步骤如下: 客户端浏览器发送信息到服务器,包括随机数 R1,支持的加密算法类型、协议版本、压缩算法等。注意该过程为明文。
服务端返回信息,包括随机数 R2、选定加密算法类型、协议版本,以及服务器证书。注意该过程为明文。 浏览器检查带有该网站公钥的证书。该证书需要由第三方 CA 来签发,浏览器和操作系统会预置权威 CA 的根证书。如果证书被篡改作假(中间人攻击),很容易通过 CA 的证书验证出来。 如果证书没问题,则用证书中公钥加密随机数 R3,发送给服务器。此时,只有客户端和服务器都拥有 R1、R2 和 R3 信息,基于 R1、R2 和 R3,生成对称的会话密钥(如 AES 算法)。后续通信都通过对称加密进行保护。(链向财经)
标签:  
算法
加密
密钥
对称
密码
安全
明文
密码学
信息
内容
摘要
数字
证书
碰撞
过程
明星
明星新闻
八卦新闻
最新资讯
网络新闻
新闻在线
新闻资讯
娱乐新闻
最新新闻
Yesdaily.Com
网络新闻
八卦新闻
新闻资讯
最新资讯
新闻在线
Yesdaily.Com
最新新闻
明星
明星新闻
娱乐新闻
八卦新闻
新闻资讯
最新资讯
爽报新闻
新闻在线
Yesdaily.Com
最新新闻
明星
明星新闻
娱乐新闻
热门推荐
网红家家「上衣绷开」全看光 4秒片遭备份急关13万帐号
华晨宇认了当爸 没与张碧晨结婚
韩女星Rain 26岁师妹宋柔静过世 身亡3天出殡
出道八年,韩国女星蔡秀彬古装综艺节目小品逆贼泼酒一句“好凉”大杀四方
最新内容
印度民众签署请愿书 希望国家允许加密货币发展
decentralizehk货币
COMP 资金规模破 10 亿美元 上线不到一个月称霸 DeFi 市场
比特币响起牛市号角?分析师 :30 天内进入指数级上涨行情
有一种信心叫做:惯性思维。6 月 29 日行情分析
澳洲邮局也能买比特币 3,500 家门市现金、刷卡都可支付
Wirecard 破产爆发后遗症 加密币签账卡遭冻结消费者雾煞煞
Telegram ICO 诉讼案和解落幕 创办人:已偿还投资者 12 亿美元
币圈是否联动欧美资本市场 将决定未来一段时间的走向。6 月 28 日行情分析
高手间的博弈 难分胜负。6 月 27 日行情分析
关于我们
新闻资讯
意见反馈
网站地图
扫码关注我们
0