【发布时间】:2021-04-20 07:02:57
【问题描述】:
代码中给出了以下消息:
V C Z J C Z I Z J M Z J L X Y H M J Y H E 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 W Z O H @
编写一个程序,在知道原始消息是 LATIN 并且一个字符也已用于空格(J 字符)的情况下,建议对同一消息进行可能的解密。附加信息:
- 这是一个使用公式 y = f (x) mod p 和 p 为素数的代码
- 了解我们在说什么很重要
- 消息提供了项目 2 的信息
你们中的一些人知道如何在 python 中解决这个问题吗?
【问题讨论】:
-
在不知道
f (x)的类型的情况下,您只能采用单字母密码的标准方法(字母分布与标记语言中的字母分布相比) -
你已经尝试了4周,你到底尝试了什么?向我们展示您的代码/方法。
-
也许你可以从一本拉丁字典开始计算其中的所有字母,然后你可以计算出每个字母出现在字典中的百分比(即字母 A 占所有字母的 X%)。然后你可以数数这段文字中的字母并尝试关联。
-
@MrSmith42 我是他的同学,我们试图在不写代码的情况下接近它,只是为了至少了解哪个是句子,我们发现部分加密的句子是:“UTI TIBI SI VOLES LE_STRA SCRIPTOR ALGORITMO EST QUAM CELERRIME。”所以“@”是一个简单的“.”。我们无法达到起始加密功能,没有它我们就无法制定算法。如果它可以帮助你,加密字母表有 29 个字母。
-
显然 p = 29。
标签: python algorithm encryption