Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python中未指定的加密密钥解码加密文本_Python_Algorithm_Encryption - Fatal编程技术网

用python中未指定的加密密钥解码加密文本

用python中未指定的加密密钥解码加密文本,python,algorithm,encryption,Python,Algorithm,Encryption,以下信息以代码形式给出: V C Z J C Z I Z J M Z J L X Y H M J Y H M C W S J M W Z​​N C X W J S Y Q X W Z C O X J H M C J D V S O J H Y​​H W Z O H@ 编写一个程序,在知道原始消息是拉丁语并且一个字符也被用作空格(J字符)的情况下,建议对相同消息进行可能的解密。其他信息: 这是一个使用公式y=f(x)mod p和p a素数的代码 知道我们在谈论什么是很重要的 该消息提供项目2的信

以下信息以代码形式给出:

V C Z J C Z I Z J M Z J L X Y H M J Y H M C W S J M W Z​​N C X W J S Y Q X W Z C O X J H M C J D V S O J H Y​​H W Z O H@

编写一个程序,在知道原始消息是拉丁语并且一个字符也被用作空格(J字符)的情况下,建议对相同消息进行可能的解密。其他信息:

  • 这是一个使用公式y=f(x)mod p和p a素数的代码
  • 知道我们在谈论什么是很重要的
  • 该消息提供项目2的信息

你们中的一些人知道如何在python中解决这个问题吗?

如果您使用几个连续的字母:

S (19) -> M (13)
T (20) -> C (3)
U (21) -> V (22)
V (22) -> L (12)
假设
p=29
,可以看到连续字母之间的增量(mod 29)为19

因此:
f(x)=19*x


请注意,
f(x)mod p
是加密方法。我把它作为一个练习留给读者来决定如何解密。

在不知道
f(x)
的类型的情况下,你只能使用单字母密码的标准方法(字母的分布与taget语言中的字母分布相比),因为你已经尝试了4周,你到底尝试了什么?向我们展示你的代码/方法。也许你可以从一本拉丁语词典开始,数一数词典中的所有字母,从中你可以计算出每个字母在词典中出现的百分比(即字母a占所有字母的X%)。然后你可以数一数这篇文章中的字母,并尝试相互关联。@Smith42先生,我是他的同学,我们试着不用写代码来接近它,只是想了解至少是哪个句子,我们发现部分加密的句子是:“UTI TIBI SI VOLES LE_STRA SCRIPTOR ALGORITMO EST QUAM Celerime.”所以“@”是一个简单的“.”。我们无法达到起始加密函数,没有它,我们无法生成算法。如果它可以帮助你,加密字母表有29个字母。显然p=29。我正在试图理解,现在我想知道如何解密它,我发现的唯一一件事是字母之间的增量是23,但我不知道如何继续,你能给我另一个提示吗?解密你可以建立一个查找表,例如数组或映射,使用加密方法。是的,问题是我不知道如何达到加密方法,我只是想了解如何做到这一点。请看上面答案的第一部分-看一些连续的字母及其加密值。好的,我现在已经了解了加密阶段,基本上,他在做的是:cryptedLetter*19%29,现在你能解释一下如何进行解密阶段吗?我真的很感激:D