RSA密码学

密码术已经以多种格式用于文明中,已有数千年的历史了。从古埃及人到现代互联网,使用加密技术对消息进行加密和解密是通信的重要工具.

RSA密码术(准确地说是RSA算法)是世界上最普遍的非对称加密算法。由于许多密码学和数学上的突破而成为可能,使用Internet的任何人都在以某种形式使用RSA密码学.

RSA密码学

大多数加密货币采用与RSA类似的非对称加密类型,称为椭圆曲线密码术。尽管两者有所不同,但它们都基于相似的概念,并且了解RSA对于加深对加密货币网络中采用的加密技术的理解至关重要.

加密背景和对称vs不对称密码

直到1970年代,加密技术一直主要基于对称密钥的使用。在对称密钥算法中,希望彼此通信消息的两个用户将相同的加密密钥用于明文的加密和密文的解密。密钥代表了两方之间的共享机密,可以用作通信的私有形式。但是,这种设计存在一些固有的问题,导致其使用中的一些严重缺陷。.

例如,双方都需要知道密钥才能对消息进行加密和解密。除了亲自开会交换信息外,还需要大量的通信开销来通过不安全的媒体私下完成此操作。观看这些频道的第三方可能能够获取密钥,因此,加密方法受到损害。此外,对称密钥加密的概念是不可扩展的。如果您想将加密的消息发送给多个人,则需要为这些通信线路中的每条存储一个秘密密钥。显然,这迅速变得不便,并且显然不是交换价值的加密货币网络采用的最佳模型.

解决这个问题的方式是所谓的非对称加密,或更普遍地称为 公钥密码学. 非对称加密使用两个密钥,即公共密钥和私有密钥。在此模型的最基本形式中,用户可以发布公钥,其他任何人都可以使用该公钥向该人发送加密消息,只有发布了公钥并具有相应私钥的人才能解密和查看此消息。一个键的使用取消了另一个键的使用,并且不需要在希望进行通信的各方之间交换键.

1970年英国数学家詹姆斯·埃利斯(James Ellis)取得了突破,它通过2个出色的原理使非对称加密模型成为可能。埃利斯(Ellis)描述了一种思想,其中加密和解密是基于2个不同密钥的彼此逆运算.

詹姆斯·埃利斯

詹姆斯·埃利斯(James Ellis),图片来自 电报.

该概念通常由挂锁和钥匙代表,其中挂锁代表公钥,钥匙代表私钥。为了实际使用该理论,形成了两个原理.

活板门功能

陷门功能在密码学中是一个非常重要的概念,在密码学中,从一个状态转到另一状态是微不足道的,但是如果没有特殊信息,则无法通过返回原始状态以相反的方向进行计算,这被称为“陷门”.

当今最著名的陷门功能是RSA加密的基础,称为 素因数分解. 本质上,素数分解(也称为整数分解)是数论中的概念,可以将复合整数分解为较小的整数。分解为最基本的所有复合数字(非质数)均由质数组成。此过程称为素因数分解,在应用于加密时会产生严重影响.

素分解

素因数分解,使用的图像来自 维基百科

从本质上讲,由于要成功地将数字分解为最基本的成分所需的大量试验和错误,因此无法计算非常大的素数的素数分解。当前,不存在有效的分解算法来执行此操作.

RSA及其使用素因数分解的方法将在后面的部分中介绍,但首先我们需要了解Diffie-Hellman密钥交换.

Diffie-Hellman密钥交换

Diffie-Hellman密钥交换是最早的公共密钥加密协议之一,从根本上允许在公共介质上安全地交换加密密钥。为了简单起见,尝试概念化Diffie-Hellman密钥交换以及以下有关RSA算法如何工作的部分,与纯数学相比,抽象概念的琐碎性要小得多,因此我们仅在必要时应用数学.

用于概念化Diffie-Hellman密钥交换的最常见示例称为Secret Color Exchange。.

Diffie-Helman密钥交换

Diffie-Helman密钥交换,图片来自 维基百科

上图显示了爱丽丝与鲍勃之间通过公共频道进行的交流,夏娃可以收听爱丽丝与鲍勃之间公开交流的一切。因此,爱丽丝和鲍勃如何使用非对称加密来传递私人消息,而又无需在公共媒体上显式地交换该信息。?

他们彼此之间交换秘密信息,而没有实际共享它们。该过程如下:

步骤1

  • 爱丽丝和鲍勃同意黄色是常用的油漆。这些信息是通过公共频道广播的,因此夏娃也知道这一点。.
  • 黄色代表公钥.
  • 爱丽丝(Alice)秘密决定自己也将蓝色和黄色一起使用,鲍勃(Bob)秘密决定自己将红色与黄色一起使用.
  • 爱丽丝(Alice)使用的蓝色和鲍勃(Bob)使用的红色表示它们的密钥.

第2步

  • 接下来,爱丽丝(Alice)和鲍勃(Bob)都将他们的秘密颜色与黄色混合以创建复合颜色.
  • 爱丽丝的混搭创造出绿色,鲍勃的混搭创造出橙色.
  • 现在,爱丽丝和鲍勃都互相发送了合成色.
  • 夏娃也收到这些颜色,但面临一个问题,这些复合颜色代表活板门功能.
  • 将两种颜色组合成第三种颜色很容易,但是将其反转是不可行的。从仅具有第三种颜色和原始黄色的情况下,很难确定用于创建第三种颜色的颜色.

第三步

  • 然后,爱丽丝(Alice)和鲍勃(Bob)将他们的秘密颜色与收到的复合颜色混合,从而得到.
  • 爱丽丝将蓝色与鲍勃的复合橙混合在一起.
  • 鲍勃将红色与爱丽丝的合成绿色混合.
  • 两种混合物均导致褐色.

这是Diffie-Hellman密钥交换的秘密。即使爱丽丝(Alice)和鲍勃(Bob)都以布朗(Brown)结尾,但他们实际上从未交换过该颜色,而夏娃(Eve)却没有必要的秘密颜色信息以能够计算秘密消息(布朗).

上面的示例非常简单地显示了交换的工作方式。通过应用数学,可以通过使用素因数分解作为陷阱门的RSA加密来确保消息的安全性和完整性。.

RSA算法如何工作?

RSA算法通过利用素数分解陷阱门和Diffie-Hellman密钥交换来实现非对称加密。根本上,RSA加密技术依靠素数分解的困难作为其安全性方法。使用一个非常简化的示例并描述了有限的数学,RSA算法包含4个步骤.

  1. 密钥生成–在此步骤中,用户可以使用随机数生成器或简单地选择2个非常大的质数(称为p和q)。这些数字必须保密。计算n = pq,其中“ n”是公共密钥和私有密钥的模数,其长度称为密钥长度。公开“ n”。对于等于或大于1024位的密钥大小,没有有效的方法来有效解决此算法(分解非常大的数字“ n”)。即使是世界上最大的超级计算机,也要花费数千年的时间才能解决。这被称为RSA问题,如果得到解决,将会损害所有基于RSA的密码系统.
  2. 密钥分发– Bob希望发送Alice机密信息,以便进行以下步骤.
  1. 鲍勃必须知道爱丽丝的公钥才能加密邮件.
  2. 爱丽丝必须知道她的私钥才能解密消息.
  3. 为了使Bob能够发送其加密消息,Alice将她的公钥发送给Bob.
  4. 爱丽丝从不分发她的私钥.
  • 加密-Bob获得Alice的公钥后,可以向Alice发送消息(M)。首先,他通过使用约定的填充方案将(M)(此时为纯文本消息)转换为整数(m)。然后,他使用爱丽丝的公钥计算密文,并将(c)传输给爱丽丝.
  • 解密-爱丽丝可以使用她的私钥从密文(c)中恢复消息(m)。然后,她可以通过反转(m)的填充方案来恢复原始消息(M).
  • 可以找到对RSA中使用的数学运算的更深入的解释 这里, 但是超出了本文的范围.

    此外,RSA加密允许对消息进行数字签名,这对于加密货币至关重要,并且是比特币UTXO交易模型的关键组成部分。爱丽丝可以通过生成消息的哈希值并将其附加到消息上来对消息进行数字签名,以验证鲍勃是否已发送消息(通过验证她的私钥已被使用)。鲍勃(Bob)可以验证此值,鲍勃将相同的哈希算法与爱丽丝(Alice)的公钥结合使用,并将生成的哈希值与邮件的实际哈希值进行比较.

    结论

    RSA加密是世界上使用最广泛的非对称加密方法,因为它能够提供高级加密,而尚无已知算法可以解决该问题。基于包括Diffie-Hellman密钥交换和陷门功能在内的密码学和数学上的一些杰出突破,RSA加密已成为确保全球通信安全的首要条件.

    Mike Owergreen Administrator
    Sorry! The Author has not filled his profile.
    follow me