我想制作一个程序,可以帮助您在不知道纯文本和密钥的情况下破解密文。通过频率分析打破凯撒密码密文不知道明文或密钥
我想在这给最近的统计值和一组可能的候选键
我开始做频率分析的输出可能的纯文本,办理完毕。它帮助我告诉每个字母的出现,但我不知道如何从中生成密钥。
class Program
{
static void Main()
{
// Array to store frequencies.
int[] c = new int[(int)char.MaxValue];
// Read entire text file.
string s = File.ReadAllText("text.txt");
// Iterate over each character.
foreach (char t in s)
{
// Increment table.
c[(int)t]++;
}
// Write all letters found.
for (int i = 0; i < (int)char.MaxValue; i++)
{
if (c[i] > 0 &&
char.IsLetterOrDigit((char)i))
{
Console.WriteLine("Letter: {0} Frequency: {1}",
(char)i,
c[i]);
}
}
}
}
在程序破解第一个加密字符串之前,你可能会死于老年。 – x13
@artjomB。我已经添加了代码,请审查。 –
如果没有密钥就很容易解密,那么首先应该知道一个人会使用这种加密技术。你在寻找什么样的暴力程序,可能需要几年才能得到任何结果。为什么你想这样做?你为什么在做这样的程序?你的程序会解决什么问题? – Viru