首页 > 新手入门 > 正文

技术科普丨区块链实现去信任的关键技术:非对称加密

分类:教程永旗技术官永旗技术研发中心 2019-08-23 18:00

  

  

  

  概述:非对称加密术,也称为公钥密码术,是区块链技术的关键组成部分之一。这种形式的加密技术允许每个人验证交易的完整性,保护资金免受黑客攻击。那么,它是如何工作的呢?

  

  

  什么是非对称加密?

  要理解非对称加密,首先要了解密码学的定义——密码学是一种使用高级数学原理以特定形式存储和传输数据的方法,以便只有那些拟定的接收人士可以阅读和处理它。

  

  加密是密码学中的一个关键概念——一个信息以窃听者无法读取或理解的格式编码的过程。这项技术很老,早在公元前,罗马战争期间凯撒大帝便首次使用凯撒密码加密他传递给将军的消息。

  如今,来自用户的原始文本可以加密为密文,然后通过通信信道发送,没有窃听者可以干扰原始文本。当它到达接收方端时,密文将被解密为原始文本。非对称加密是这些方法之一,是对称加密的更高级版本,我们将首先解释对称加密。

  

  对称加密

  对称加密是一种“简单”的加密形式,它使用单个密钥来加密和解密数据。这个密钥几乎可以是任何东西,从数字到单词到随机字符串。然后,此密钥用于加密数据,之后数据可以安全地通过网络发送。要解密数据,接收方需要密钥(发送方用于加密数据的密钥)。

  

  为了更好地了解其工作原理,我们创建了以下流程的可视化。首先,发件人使用共享密钥加密邮件,然后发件人发送邮件,而不必担心没有共享密钥的任何人都能够阅读邮件。然后,接收者接收加密的消息并对其进行解密(使用相同的共享密钥)。

  这种加密方法的主要缺点是要与那些需要访问数据的每个人共享密钥。 

  

  非对称加密

  那么非对称加密又怎么理解呢?非对称密码术与对称密码术类似,它与对称加密的主要区别在于密钥对的使用。非对称加密使用密钥对而不是共享密钥来加密和解密数据。

  密钥对包括两部分,一个公钥和一个私钥。

  公钥可以看作是用户名,每个人都可以使用,可以与所有人共享,每个人都可以使用该用户名查看帐户的历史记录。用户名与密码(私钥)绑定,但绝对无法从用户名中获取密码(私钥),仅使用用户名也无法对帐户进行任何操作。

  私钥可以被视为特定用户名帐户的密码,它不公开,不与任何人共享。私钥用于授权帐户上的操作,与“普通帐户”不同,要访问帐户或授权对帐户执行任何操作,只需要私钥。

  

  在上图中,您可以在安全地向某人发送消息时看到这些密钥在实践中是如何工作。首先,发送者使用接收者的公钥对消息进行加密,然后发送者可以安全地发送(加密的)消息,因为查看消息的唯一方法是使用相应的私钥解密它,只有接收者才有。接收者然后接收消息并且能够使用私钥对其进行解密。

  

  数字签名

  数字签名本质上是使用非对称加密来提供信息真实性的签名,它们被广泛用于许多协议中以进行认证,它们已被证明非常有用和安全。

  由于使用了非对称密码术,数字签名是不易破坏且易于验证的。由于它们使用非对称加密(并且私钥仅链接到单个人),因此数字签名也具有不可否认性,这意味着它们可以像正常签名一样具有法律约束力。但是,如何验证某些邮件的真实性,或者如何确保其他人能够验证邮件的真实性呢?

  

  这些问题的答案相当简单,可以用上面的图片来解释。上图中的锁具有2个按键,公钥只能逆时针转动,而私钥只能顺时针转动。我们假设每个锁的公钥都可以广泛使用。

  假设Alice希望向Bob发送未加密的消息,但Bob希望确保Alice已发送消息。Alice将消息放入一个盒子中,然后给盒子挂上锁。然后,她使用自己的私钥(从B到C)锁定锁。锁完盒子后,她将其发送给Bob。然后Bob接收该盒子,并可以使用Alice的公钥验证消息的真实性(和发送者)。如果Alice的公钥未打开该盒子,则应视为违反了消息和盒子的真实性。

  如果Alice想要向Bob发送加密消息,并且只有Bob能够解密消息并验证发送者的身份,那么她将不得不采取一些额外的步骤。首先,Alice将消息放入一个盒子中并锁上盒子,然后她使用自己的私钥(从B到C)锁定盒子。然后,她将(锁定的)盒子放入一个新盒子中并在盒子上放置一个新锁。她使用Bob的公钥(从B到A)锁定新锁,Alice然后将盒子发送给Bob,一旦Bob收到盒子,他可以用他的私钥打开外盒,然后他可以用Alice的公钥打开内盒。如果无法使用Alice的公钥打开内部框,则应再次将违反消息和框的完整性视为违反。

  这些“锁”称为数字签名。当然,这需要签名生成算法(采用获取密钥和数据)和签名验证算法(采用消息和签名)来执行上述内容。

  

  在区块链中的应用

  虽然非对称加密技术和数字签名自发明以来一直很受欢迎,但它们可能最为人所知的是它们在区块链中的实现。由于区块链本质上是广泛分布的分类账本,因此所使用的密码学既可靠又实用。

  大多数加密货币使用密钥对(以及非对称密码术)来管理区块链上的“地址”。公钥是地址,在地址上“持有”通证,任何人都可以查看。私钥用于访问地址并授权“地址”的操作。下面是以太坊区块链上一个任意地址的示例。

  

  数字签名也广泛用于加密货币,它们可用于更安全地(离线)签署交易,也可用于多重签名合同和钱包。在执行任何操作之前,这些多重签名合同和钱包需要来自多个(不同)私钥的数字签名。 

  这些例子只是冰山一角,因为非对称密码术在区块链中有更多用途,从简单智能合约的实现到高级许可结构。此外,还有更多令人期待的研究正在进行。

  互动时刻:

对称加密和非对称加密的区别和优势是什么? 它们有哪些不同的应用场景呢?欢迎小伙伴在下方留言~

   本文仅代表作者观点,不代表永旗账本官方立场。

   添加微信Shmilylspwx,加入永旗用户交流群,让我们产生更有价值的互动和连接。

  

  

  

  

  

  

  

  

上一篇:趣说区块链

下一篇:《区块链百问百答》-区块链的主网真的有那么重要吗?

猜您喜欢
关于我们联系我们作者投稿APP下载