网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

破解密码技术

更新时间:2026年03月27日   作者:spoto   标签(Tag):

在本文中,我们将对以下内容进行概述:对称加密协议以及为何需要这些协议非对称加密现在,让我们来了解一下相关的内容。在这里,我们将讨论一些概述、密码学的例子,以及破解密码的规则。我们逐一来探讨这些内容吧。

概述

有一个密钥负责加密消息,而正是这个密钥可以用来解密消息。这样,Alice和Bob就可以在达成一致后交换消息了。但是,他们如何能在被窃听者监视的网络中达成对秘密密钥的共识呢?假设那个窃听者是Eaves!为了解决这个问题,我们可以使用非对称密钥来达成共识。

示例/例子

Alice使用Bob的公钥来加密她的消息,因为只有Bob能够用自己的私钥来解密这些消息。 同样,Bob使用Alice的公钥来加密他的消息。只有Alice的私钥才能解密这些被加密的消息。 现在,Alice也可以使用这种方法来验证自己与Bob之间的身份关系。 她可以使用自己的私钥来加密消息,然后再用Bob的公钥来加密这个加密后的结果。 当鲍勃用他的私钥对消息进行解密时,他发现已经存在一个加密层了。 现在,如果可以用Alice的公钥来加密这个数据的话,那么就可以确保,真正进行加密操作的人就是Alice了。

生成私钥

现在,让我们来了解一下这些密钥最初是如何被生成的。具体情况如下:

接近方式/方法

  1. 生成私钥的过程在计算上非常困难。显然,无法通过逆向工程的方式来获取由RSA算法生成的公钥来生成私钥。
  2. RSA算法的协议是什么?
  3. 我们生成的数字 N,实际上是由两个质数相乘得到的。假设这两个质数分别表示为 p 和 q。
  4. 现在,所生成的数字数量相当大(接近一百到一千位)。
p * q = N

示例/例子
让我们通过一个简单的例子来理解它吧。

步骤1:
通过采用上述协议,我们可以用两个素数的相乘来表示n的值。(直接取一个素数来进行计算的话,会导致计算过程变得复杂。)

p=61,q=53。
计算N的值。
N = p * q
N = 3233
应用欧拉的亏数函数,
∅(n) = ∅(p*q)
= ∅(p) * ∅(q)
= (p-1)*(q-1)
= 60 * 52
= 3120

步骤2:
我们没有直接取 N 的值,因为要计算出与 N 互质的数数量的话,计算起来会非常复杂。

请选择 ‘e’;1 <= e <= ∅(n),并且 e 与 ∅(n) 互质。
按照这个逻辑,如果我们取 e = 17 的话……
那么,Gcd(17,3120)的结果应该是1。
这意味着,这些数字之间应该互质。
我们的公钥为:(e, N) = (17, 3233)

步骤3:
现在,让我们来确定私钥:(d, N)。

e_d = 1 mod ∅(n)
这里,e和∅(n)是互质的数。
根据“乘法逆元”的概念,我们有:
d = e-1mod ∅(n)
寻找 d:
d是通过以下公式计算得出的:
= [(∅(n)) * i + 1] / e

步骤4:
我们不断通过改变 i 的值来进行计算。在这里,我们将 I 取为 1、2、3……等数值,直到得到一个不是小数的结果为止。

当 i = 15 时,我们得到 d 的值为 2753。
因此,我们的私钥就变成了:
(d, N) = (2753, 3233)

步骤5:
在生成了公钥和私钥之后,接下来就可以进行加密和解密操作了。

(m e)d≡ m mod N
在何处
m——这就是消息本身。这种计算方式实际上是一种单向函数。

RSA算法的强大之处在于其使用的随机数N。N的数值越大,算法提取其质因数所需的时间就越长。

什么是密码破解?

在讨论了这个问题之后,接下来我们来探讨一下,究竟如何能够破解密码技术吧!

  1. 如果我们能够找到一种方法来处理那些庞大的数字,那么破解安全系统就变得容易了。
  2. RSA算法利用这些质因数作为密钥来解密这些信息。为此,我们需要找到某个非常大的数的质因数!
  3. 现在,这个过程可能会变得相当乏味且耗时。
  4. 我们需要制定一个战略计划,以将这些因素考虑进去。著名的数学家欧拉挺身而出,为我们提供了帮助。他仔细研究了素数问题。
  5. 它提出了各种假设,比如模运算之类的概念。基本上,他为RSA密码学中的所有数学问题都提供了相应的解决方案。
  6. 模运算:
  7. 在这里,我们考虑两个数字相除后的余数。
a ≡ x mod N
当我们进行 a/N的除法运算时,其余数为 --> x。
2 × 3 = 6
6/5 = 1
所以,
2 × 3 除以 5 的余数是 1
其文字表述为:
2*3 ≡ 1 (mod 5)

指数运算与模运算之间的关系

让我们来看看指数运算与模运算之间的关系。

让我们通过一些例子来理解这个问题。

  1. 如果我们取3的幂次(3的…次方)的话……k那么,这些数字就是 3、9.27、81、243。
  2. 现在,如果我们用10来作为这些数字的模数,那么得到的序列就是:9, 7, 1, 3, 9, 7, 1, 3……这样的序列一直持续下去。
  3. 我们观察到,功率呈上升趋势,但模块循环过程却会不断重复。
  4. 我们还注意到,该模式的最后一位数字始终为1。
  5. 现在,只要x和N是互质的数,那么x除以N的结果就是0。2 mod N, x3mod N……所有这些数值都具备这一特性。
  6. 我们把这种重复图案的持续时间称为“周期”。
  7. 在这里,3除以10的余数是4(因为每四位数字之后,这个模式就会重复)。
  8. 这个周期就是最小的数值“r”,即:
x r≡ 1 mod N

计算一个数的因子
现在,让我们看看模运算、幂运算以及周期与计算该数的因数之间有什么关系吧。

假设你得到了一个数字N,同时你还知道它的因数p和q。关于p和q的情况,我们一无所知。

N = p × q

步骤1:
选择任意一个小于 N 的数字,设它为 ‘a’。然后判断 a 和 N 是否互质。我们可以通过计算两者的最大公约数来判断这一点。如果 GCD(a, N) = 1,那么 a 和 N 就是互质的。

步骤2:
第二步是计算模N的周期。在这个例子中,我们取N=32,同时假设a=8(因为a和32互质)。假设这个周期为‘r’。

8的幂分别为:8、64、512、4096……
mod 35 = 8, 29, 22, …… 1
我们计算得出,r的值为4。

为了进行这些算术运算,我们需要将 r 除以 2。因此,我们必须确保 r 是一个偶数。之后,我们还需要确保 a 满足某些条件。r/2+1 ≇ 0 mod N。如果其中任何一个条件无法满足,那么我们就需要在初始步骤中选择另一个不同的‘a’值。

步骤3:
在第三步中,我们需要进行一些代数运算。让我们从已知的条件开始着手吧。

ar≡ 1 mod N
减去1之后,结果就是
ar1 ≡ 0 (mod N)

说上述内容相当于说,该数其实是 N 的倍数(因为这里得到的余数为零)。因此,必然存在某个整数 ‘k’,使得:

ar1 = k × N
由于我们在这里将 ‘r’ 视为一个偶数,因此我们可以将其表示为:
(a r/21) (a)r/2+1 )= k. N
因为 N = p × q,所以我们将 N 替换为 p × q。
(a r/21) (a)r/2+1) = k × p × q
因为,我们有8除以35的商为4,所以我们可以将其表示为:
84≡ 1 mod 35
所以,84 1 ≡ 0 (mod 35)。这意味着1是N的倍数。
那么,我们可以将其重新写成:84 1 = k × 35
将其重写为(因为r在这里是偶数):
(8r/21) (8)r/2+1) = k × p × q(其中,p × q是N的质因数)

步骤4:
现在,第四步就是计算 p 和 q 的值。在这里,我们假设 GCD((ar/21), N) 是其中一个质因数。我们将其称为 p。另外,GCD((ar/2+1), N) 是另一个质因数。我们将其称为 q。在方程 (a) 中…r/21)(a)r/2+1) = k.p.q。我们假设p必须能够整除左边的一个因子,而q也必须能够整除左边的一个因子。但是,它们不能同时整除左边的同一个因子,因为那样的话,这个因子就可以被N整除了。

肖尔算法:
我们做出如下假设:

p  divides (a)r/21) 并且 q 能整除 ar/2+1)
因此,p = 最大公约数(63, 35) = 7
而 q 是 65 和 35 的最大公约数,即 5。

让我们快速回顾一下我们所做的事情吧。

  1. 取小于N的“a”值。
  2. 求一个模运算周期为N的周期
  3. 用代数方法重新排列这些元素
  4. 设 p = 最大公约数((ar/21), N),且 q = 最大公约数((ar/2+1), N)

好了,任务完成了!你已经破坏了那个安全系统。不过我们知道,RSA算法仍然有效,而要计算出那个周期所需的时间则相当漫长。不过,量子计算机在这里发挥了作用。它们非常擅长计算周期。以上就是Shor算法的概述。

结论

传统的加密方式采用对称加密技术,但由于在密钥共享方面存在诸多问题,因此非对称加密技术应运而生。其中最著名的非对称加密算法就是RSA算法。虽然该算法在安全性方面表现相当出色,但借助量子计算机的帮助,这种算法的加密数据可以被轻易地解密。随着技术的不断发展,密码学领域需要不断进步,才能应对这些挑战。

类似的阅读内容/类似的内容

  • 经典密码学与量子密码学
  • 密码学中的图像隐写技术
  • DNA密码学
  • 密码学领域的生日攻击
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料