通常攻击密码都有什么方法 (密码破译的统计分析法)

2023-03-20 19:05:13 密码用途 思思

攻击密码系统的方法大概可以分为三种

对密码进行分析的尝试称为攻击。Kerckhoffs最早在19世纪阐明密码分析的一个基本假设,这个假设就是秘密必须完全寓于密钥中。Kerckhoffs假设密码分析者已有密码算法及其实现的全部详细资料。

密码分析者攻击密码系统的方法主要有以下三种。

穷举攻击

所谓穷举攻击是指密码分析者采用依次试遍所有可能的密钥,对所获密文进行解密,直至得到正确的明文;或者用一个确定的密钥对所有可能的明文进行加密,直至得到所获得的密文。显然,理论上对于任何实用密码,只要有足够的资源都可以用穷举攻击将其攻破。

穷举攻击所花费的时间等于尝试次数乘以一次解密(加密)所需的时间。显然可以通过增大密钥量或者加大解密(加密)算法的复杂性来对抗穷举攻击。当密钥量增大时,尝试的次数必然增大。当解密(加密)算法的复杂性增大时,完成一次解密(加密)所需的时间增大,从而使穷举攻击在实际上不能实现。穷举攻击是对密码的一种最基本的攻击方法。

统计分析攻击

所谓统计分析攻击就是指密码分析者通过分析密文和明文的统计规律来破译密码。统计分析攻击在历史上为破译密码做出过极大的贡献。许多古典密码都可以通过分析密文字母和字母组的频率和其他统计参数而破译。对抗统计分析攻击的方法是设法使明文的统计特性不带入密文。这样密文不带有明文的痕迹,从而使统计分析攻击成为不可能。能够抵抗统计分析攻击已成为近代密码的基本要求。

数学分析攻击

所谓数学分析攻击是指密码分析者针对加解密算法的数学基础和某些密码学特性,通过数学求解的方法来破译密码。数学分析攻击是对基于数学难题的各种密码的主要威胁。为了对抗这种数学分析攻击,应当选用具有坚实数学基础和足够复杂的加解密算法。

如何使用基于统计的密码分析方法对移位密码进行破解

密码分析之所以能够成功破译密码,最根本的原因是明文中有冗余度。攻击或破译怒那的方法主要有三种:穷举法、统计分析攻击、数学分析攻击。

所谓穷举攻击是指,密码分析者采用依次试遍所有可能的的秘钥对所获密文进行破解,直至得到正确的明文;或者用一个确定的秘钥对所有可能的明文进行加密,直至得到所得的密文。只要有足够的时间和存储空间,穷举攻击原则上是可行的,但是集中面积算时间和存储空间都受到限制,只要秘钥足够长。这种方法往往不行。

统计分析攻击是指密码分析者涌过分析密文和明文的统计规律来破译密码。密码分析者对截获的密文进行统计分析,总结出其间的统计规律,并与明文的统计规律进行比较,从中提取明文和密文之间的对应或变换信息。

数学分析攻击是密码分析者针对加解密算法的数学基础和某些密码学特性,通过数学求解的方法来破译密码。

密码系统安全性的定义有几种?它们的含义是什么?

密码系统安全性的定义有2种,包括:明文(Plaintext)和密文(Ciphertext)。

定义:

1、明文(Plaintext)

一般可以简单的认为明文是有意义的字符或比特集,或通过某种公开的编码标准就能获得的消息。明文常用m或p表示。

2、密文(Ciphertext)

对明文施加某种伪装或变换后的输出,也可认为是不可直接理解的字符或比特集,密文常用c表示。

密码破译的密码破译方法

通常,密码破译方法可以分为以下四类。 在不知其钥匙的情况下,利用数学方法破译密文或找到钥匙的方法,称为密码分析(Cryptanalysis)。密码分析有两个基本的目标:利用密文发现明文;利用密文发现钥匙。根据密码分析者破译(或攻击)时已具备的前提条件,通常将密码分析攻击法分为4种类型。

(1)惟密文破解(Ciphertext-only attack)。在这种方法中,密码分析员已知加密算法,掌握了一段或几段要解密的密文,通过对这些截获的密文进行分析得出明文或密钥。惟密文破解是最容易防范的,因为攻击者拥有的信息量最少。但是在很多情况下,分析者可以得到更多的信息。如捕获到一段或更多的明文信息及相应的密文,也是可能知道某段明文信息的格式。

(2)已知明文的破译(Known-plaintext attack)。在这种方法中,密码分析员已知加密算法,掌握了一段明文和对应的密文。目的是发现加密的钥匙。在实际使用中,获得与某些密文所对应的明文是可能的。

(3)选定明文的破译(Chosen-plaintext attack)。在这种方法中,密码分析员已知加密算法,设法让对手加密一段分析员选定的明文,并获得加密后的密文。目的是确定加密的钥匙。差别比较分析法也是选定明文破译法的一种,密码分析员设法让对手加密一组相似却差别细微的明文,然后比较他们加密后的结果,从而获得加密的钥匙。

(4)选择密文攻击(Chosen-ciphertext attack)。密码分析者可得到所需要的任何密文所对应的明文(这些明文可能是不明了的),解密这些密文所使用的密钥与解密待解的密文的密钥是一样的。它在密码分析技术中很少用到。

上述四种攻击类型的强度按序递增,如果一个密码系统能抵抗选择明文攻击,那么它当然能够抵抗惟密文攻击和已知明文攻击。 除密钥的穷尽搜索和密码分析外,实际生活中,破密者更可能真对人机系统的弱点进行攻击,而不是攻击加密算法本身。

利用加密系统实现中的缺陷或漏洞等都是破译密码的方法,虽然这些方法不是密码学所研究的内容,但对于每一个使用加密技术的用户来说是不可忽视的问题,甚至比加密算法本身更为重要。常见的方法有:

(1)欺骗用户口令密码

(2)在用户输入口令时,应用各种技术手段,“窥视”或“偷窃”密钥内容。

(3)利用加密系统实现中的缺陷。

(4)对用户使用的密码系统偷梁换柱。

(5)从用户工作生活环境获得未加密的保密信息。如进行的“垃圾分析”。

(6)让口令的另一方透露密钥或相关信息。

(7)威胁用户交出密码。 防止密码破译,除去我们要从思想上加以重视外,采取的具体措施如下:

(1)强壮加密算法。通过增加加密算法的破译复杂程度和破译的时间,进行密码保护。如加长加密系统的密钥长度,一般在其他条件相同的情况下,密钥越长破译越困难,而且加密系统也就越可靠。

(2)动态会话密钥。每次会话所使用的密钥不相同。

(3)定期更换加密会话的密钥。