我需要知道我的密码算法有多强

时间:2018-05-05 17:01:32

标签: encryption encoding decoding text-decoding


我已经创建了一个密码算法(在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个字符的字符串 - 包含数字和字母。

1 个答案:

答案 0 :(得分:1)

Caesar cipher是关于转变的,你的是一般的substitution cipher。用6个字符组表示字母表不会增加任何安全性,将会有256个这样的组,而密码分析将从收集它们开始,并用0到255之间的数字替换它们(实际上更少,因为分析师必须只使用实际出现在密文中的符号。

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