BTC密码学基础

    我们用一个例子把区块链中用到一些基础密码串联一下,比如说小张和女神求婚,结果消息被情敌在网络上截获了,改成分手吧。这个时候怎么办,加密算法了解一下。
加密算法
公钥私钥体系
    现代加密算法的典型组件包括:加解密算法、公钥、私钥。
    加密过程中,通过加密算法和公钥,对明文进行加密,获得密文。
    解密过程中,通过解密算法和私钥,对密文进行解密,获得明文。
    根据公钥和私钥是否相同,算法可以分为对称加密和非对称加密。两种模式适用于不同的需求,恰好形成互补,很多时候也可以组合使用,形成组合机制。
对称加密
    公钥和私钥是相同的。优点是加解密速度快,空间占用小,保密强度高。缺点是参与多方都需要持有密钥,一旦有人泄露则安全性被破坏;另外如何其它分发密钥也是个问题。适用于大量数据的加解密,不能用于签名场
非对称加密
    公钥和私钥是不同的。公钥一般是公开的,人人可获取的,私钥一般是个人自己持有,不能被他人获取。优点是公私钥分开,容易管理,并且容易完成密钥分发。缺点是加解密速度慢。一般适用于签名场景或密钥协商,不适于大量数据的加解密。
组合机制
    即先用计算复杂度高的非对称加密协商一个临时的对称加密密钥(会话密钥),然后双方再通过对称加密对传递的大量数据进行加解密处理。

    于是乎,小张用来加密算法对消息进行加密,但是新的问题又来了,情敌还是截住了他的消息,同时使用了小王的公钥,把消息改成了分手吧,有了上次的教训,小王也怀疑这个消息到底是不是小张发过来的,那么如何证明这个消息到底是不是小张发过来的呢,要是有个签名证明一下就好了。这个时候数字签名了解一下。


hash算法
    hash算法能任意长度的二进制值(明文)映射为较短的固定长度的二进制值(hash值),并且不同的明文很难映射为相同的 hash 值。
    一个优秀的 hash 算法,将能实现:
    正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。
    逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能)逆推出明文。
    输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。
    冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。

    数字摘要(也称为数字指纹)是对数字内容进行hash运算,获取唯一的摘要值来指代原始数字内容。数字摘要是解决确保内容没被篡改过的问题(利用 hash 函数的抗碰撞性特点)。如果消息在传输的过程改变,接收者通过对接收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改,因此消息摘要能够验证消息的完整性。

数字签名
数字签名能够保证信息在传输过程中不被篡改,也能保证数据不能被伪造。使用时,发送方使用摘要算法获得发布内容的摘要,然后使用私钥对摘要进行加密(加密后的数据就是数字签名),然后将发布内容、数字签名和公钥一起发送给接收方即可。接收方接收到内容后,首选取出公钥解密数字签名,获得正文的摘要数据,然后使用相同的摘要算法计算摘要数据,将计算的摘要与解密的摘要进行比较,若一致,则说明发布内容没有被篡改。 

小张发消息
    
情敌改消息

小王收消息
经过上次教训,小张决定使用数字签名来躲开情敌的攻击,不曾想又被情敌摆了一道,原来情敌又把小张的消息截获了,然后使用情敌自己的私钥做了新的签名,那为什么小王分不清谁的消息里的公钥是谁的呢,原因很简单啊,小红本来就分不清啊,除非面对面给对方,但是能面对面还发什么消息(希望不要太过于纠结啊,主要是为了理解),所以这个时候,如果有一种方法对公钥进行保护一下就好了,那么数字证书了解一下。


数字证书
    数字证书是由权威的CA机构颁发的无法被伪造的证书,用于校验发送方实体身份的认证。解决上述问题,只需要发送方小张找一家权威的CA机构申请颁发数字证书,证书内包含小张的相关资料信息以及小张的公钥,然后将正文、数字证书以及小张生成的数字签名发送给小王,此时情敌是无法篡改正文内容而转发给小王的,因为情敌不可能拥有这家CA的私钥,无法随机制作数字证书。当然,如果情敌也申请了同一家CA的数字证书并替换发送修改后的正文、情敌的数字证书和情敌的数字签名,此时小王接收到数据时,会校验数字证书情敌中的信息与当前通信方是否一致,发现数字证书中的个人信息为情敌并非小王,说明证书存在替换风险,可以选择中断通信。
  为什么CA制作的证书是无法被伪造的?其实CA制作的数字证书内还包含CA对证书的数字签名,接收方可以使用CA公开的公钥解密数字签名,并使用相同的摘要算法验证当前数字证书是否合法。制作证书需要使用对应CA机构的私钥,因此CA颁发的证书是无法被非法伪造的(CA的私钥泄露不在考虑讨论与考虑范围内)。
小张加密过程

小王解密过程


猜你喜欢

转载自blog.csdn.net/xq723310/article/details/80146069
今日推荐