平文と鍵を知らなくても暗号文を解読できるプログラムを作ろうとしています。
最も近い統計値と可能性のある候補キーのセットを提供する出力で可能性のあるプレーンテキストが必要です
周波数分析を開始し、完了しました。各アルファベットの発生を知るのに役立ちましたが、そこからキーを生成する方法がわかりません。
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]);
}
}
}
}