Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
національний університет “Львівська політехніка”
Кафедра ЕОМ
/
Звіт
до лабораторної роботи №3
Криптоаналіз шифрів моноалфавітної заміни
Львів – 2017
Мета: ознайомитись з основними методами, що використовуються для криптоаналізу шифрів моноалфавітної заміни та , зокрема, з основами частотного аналізу зашифрованого тексту.
1. Завдання
1. Отримати у викладача згідно з варіантом приклад текстового файлу, зашифрованого шифром Цезаря.
2. Створити програму, що реалізує метод крипто аналізу на основі частотного аналізу шифрованого тексту.
3. Підготувати і захистити звіт.
2. Код програми
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Hashtable frequency = new Hashtable();
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
}
static int k = 0;
private void button2_Click(object sender, EventArgs e)
{
frequency.Clear();
int temp = 0;
for (int i = 0; i < textBox1.Text.Length; i++)
{
temp = 0;
try
{
if (textBox1.Text[i] != '?')
frequency.Add(textBox1.Text[i], 1);
}
catch {
temp = Convert.ToInt32(frequency[textBox1.Text[i]])+1;
frequency[textBox1.Text[i]] = temp;
}
}
int max = 0;
char symbol = '\a';
foreach (DictionaryEntry de in frequency)
{
int t = Convert.ToInt32(de.Value);
if (max < t)
{
max = t;
symbol = Convert.ToChar(de.Key);
}
}
k = Convert.ToInt32(symbol) - Convert.ToInt32(' ');
textBox2.Clear();
try
{
//MessageBox.Show(k.ToString());
for (int i = 0; i < textBox1.Text.Length; i++)
{
textBox2.Text += Convert.ToChar(Convert.ToInt32(textBox1.Text[i]) - k).ToString();
}
k++;
}
catch { }
}
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
StreamReader read = new StreamReader(openFileDialog1.FileName);
textBox1.Text = read.ReadToEnd();
}
}
3. Результат виконання
/
Рис1. Приклад виконання програми
4. Висновок
Я ознайомився з основними методами, що використовуються для криптоаналізу шифрів моноалфавітної заміни та , зокрема, з основами частотного аналізу зашифрованого тексту