-3


我创建了一个密码算法(在 Python 中),它将生成一个 255 个字符的随机字符串 - 这是我的加密密钥。
示例加密:

originalString = ‘A Quick Brown fox Jumps over a Lazy Dog!’
enCrypted_String = rrG1dcvuPvs2ada7kC6Ht6AlwwX1s8GcC7lG1wX1s8vuPvs2GrG1dc21RFL2R1RFL2lHt6Al11RFL2vuPvs2cyecQOR1RFL2yyN8OFvuPvs2xWvPBx6Ht6Al8wX1s8F1RFL2HHt6AlvuPvs2R1RFL2AHt6AleyecQO21RFL2vuPvs27cC7lGvuPvs2LwLMpP7cC7lG8yN8OFNyN8OFvuPvs2drG1dcR1RFL2QyecQOsuPvs2

如果您可以解密字符串,那就太好了,这样我就可以测试我的代码的耐久性并找出我的算法中的缺陷。

附加信息:

字符串长度 = 40
加密字符串长度 = 240 (40 + 40*5)

私钥信息

私钥 = 255 个字符长 - 代表 ASCII 表的 255 个字符

该算法是对凯撒密码的修改。在我的算法中,每个字符都被私钥中的字符替换为私钥中的另外五个字符,即

A = rrG1dc = r-rG1dc, where r = 65th Character of Private Key
a = 7cC7lG = 7-cC7lG, where 7 = 97th Character of Private Key

如果您能够破解它,请告诉我您是如何做到的,否则是否需要任何其他信息。
[注意:我没有提供私钥 - 因为它应该保持私密!]

示例加密(用于解码):

BaObwBRJ0kRd7cC7lG

信息:3 个字符的字符串 - 包含数字和字母。

4

1 回答 1

1

凯撒密码是关于转移的,你的是通用替换密码。用 6 个字符组表示字母表不会增加任何安全性,将有 256 个这样的组,密码分析将从收集这些组并用 0...255 的数字替换它们开始(实际上要少得多,因为分析师只能使用实际出现在密文中的符号)。

当然,您的 3 字符文本是安全的,只是不是因为密码强度高,而是因为数据量少,无法使用统计方法。然而,人们已经可以告诉你已经编码了 3 个不同的字符,这是你无法通过强加密来分辨的。

于 2018-05-05T17:33:18.870 回答