好吧,我一直在研究一个分配,它说:
必须开发一个程序,并用C语言编码,以解密用意大利语编写的文档,该文档使用密钥编码.获得密钥作为所有大写字母,小写字母,数字和空格的随机排列.作为示例,让我们考虑以下两个字符串:
Plain: “ABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvwxyz0123456789 ” Code: “BZJ9y0KePWopxYkQlRjhzsaNTFAtM7H6S24fC5mcIgXbnLOq8Uid 3EDv1ruVGw”
密钥仅修改原始文档的字母,数字和空格,而其余字符保持不变.文档存储在长度未知的文本文件中.
程序必须使用合适的解码算法读取文档,找到密钥(根据定义未知;上表只是一个示例,它不是用于准备Web课程中可用的示例文件的密钥),并将解码后的文档写入新的文本文件.
而且我知道我必须将一个英文字典上传到该程序中,但我不知道它为什么会被问到(可能不是在那个声明中,但我必须这样做).我的问题是,虽然我可以使用简单的加密/解密算法来完成该程序,那么在我们的程序中上传英语词典的用途是什么?那么有没有使用字典来解密加密算法的解密算法?或者有人可以告诉我应该用什么方法或算法来解决这个问题?
我们将非常感谢您的早期回复(以及真实回复).
感谢你们.
这是一个简单的替换密码.它可以使用频率分析来打破.维基百科文章彻底解释了这两个概念.你需要做的是:
查找意大利文本中字符的统计频率.如果你无法在任何地方找到这个,你可以通过分析大量的意大利文本来自己构建它.
分析密文中字符的频率,并将其与统计数据进行匹配.
第一篇维基百科文章链接到一组实现上述所有功能的工具.您只需使用并可能使其适应您的用例.