当前位置: 首页 > 知识库问答 >
问题:

Vigenère密码破译的复杂性

宫坚
2023-03-14

所以我想知道破译一个由n个单词组成的文本的时间复杂度是多少。

维格纳只是对每个字母应用不同的凯撒移位。我知道,对于凯撒密码,它只是O(n),因为我们只是尝试所有不同的25个移位。但是维格纳呢?

共有1个答案

傅朝
2023-03-14

打破凯撒的移位是O(1),而不是O(n)。字母表的大小是恒定的。您只需要在给定的密钥下解码密文的一小段就可以知道您是否在正轨上。

对于维格纳密码,有重复移位的序列。在没有统计分析的情况下,破解它的强力方式取决于密钥空间,对于长度为k的密钥,它是O(26^k)。因为统计分析对维格纳密码非常有效,所以它的实际强度比这个时间范围所建议的要低得多。

 类似资料:
  • 本网站(https://www.guballa.de/substitution-solver)他做到了。 我必须通过频率分析来做到这一点(https://en.wikipedia.org/wiki/Frequency_analysis) 我面临的主要问题是,当我替换时,检查单词是否看起来像英语单词。 请指导我如何处理这个问题 谢谢哈基德

  • 我试过这个表达- 此正则表达式将强制执行以下规则: 至少一个大写英文字母, 至少一个小写英文字母, 至少一个数字, 至少一个特殊字符, (带锚点) 正则表达式将如何满足以下要求。 13个字符或更长的密码只需要小写字母 密码必须至少包含8个字符 8到13个字符之间的密码需要以下4类字符中的至少3个: 大写字母 小写字母 数字 符号

  • 8.3 破解LM Hashes密码 LM(LAN Manager)Hash是Windows操作系统最早使用的密码哈希算法之一。在Windows 2000、XP、Vista和Windows 7中使用了更先进的NTLMv2之前,这是唯一可用的版本。这些新的操作系统虽然可以支持使用LM哈希,但主要是为了提供向后兼容性。不过在Windows Vista和Windows 7中,该算法默认是被禁用的。本节将介

  • 8.1 密码在线破解 为了使用户能成功登录到目标系统,所以需要获取一个正确的密码。在Kali中,在线破解密码的工具很多,其中最常用的两款分别是Hydra和Medusa。本节将介绍使用Hydra和Medusa工具实现密码在线破解。 8.1.1 Hydra工具 Hydra是一个相当强大的暴力密码破解工具。该工具支持几乎所有协议的在线密码破解,如FTP、HTTP、HTTPS、MySQL、MS SQL、O

  • 我被赋予以下任务: 给出了-2个列表。第一个列表的大小为N1,第二个列表的尺寸为N2。每个列表的元素不相同。编写一段代码,用第一个和第二个列表中的元素创建一个新列表。此列表也不应有相同的元素。还要估计代码的复杂性。 我编写了以下代码: 并假设 getNewList 方法的执行时间与 N1*N2 成正比。在回复中,我收到以下内容,没有任何解释 - “你错了,这段代码的复杂性不是 N1*N2”。 那么

  • 本文向大家介绍Javascript校验密码复杂度的正则表达式,包括了Javascript校验密码复杂度的正则表达式的使用技巧和注意事项,需要的朋友参考一下 目前使用的正则表达式如下: 对应的验证规则是:密码中必须包含字母、数字、特称字符,至少8个字符,最多30个字符。 这个正则表达式在C#可以正常使用,但是在Javascript中却有问题。 请问是在js中如何写这样的正则表达式? 测试字符串:a1