Читайте также:
|
|
Одним из методов атак является частотный анализ. Распределение букв в криптотексте сравнивается с распределением букв в алфавите исходного сообщения. Буквы с наибольшей частотой в криптотексте заменяются на букву с наибольшей частотой из алфавита, если он известен. Вероятность успешного вскрытия повышается с увеличением длины криптотекста, поскольку распределения статистические. Существуют множество различных таблиц о распределении букв в том или ином языке, но ни одна из них не содержит окончательной информации — даже порядок букв может отличаться в различных таблицах. Распределение очень сильно зависит от типа текста: проза, разговорный язык, технический язык и т. п. Квадрат Полибия является примером шифра замены, поэтому неустойчив к частотной атаке.
Задание:
Листинг программы.
#include<iostream.h>
#include<string.h>
#include<stdio.h>
void main()
{
char alpha[]="abcdefghijklmnopqrstuvwxyz";
int n=strlen(alpha);
char *alph_kl=new char[n];
int m;
cout«"Enter length of key word"«endl;
cin»m;
char *w=new char[m];
int z=n-m;
cout«"n="«n«"m="«m«"z="«z«endl;
char *alpha_bez=new char[z];
cout«"Enter key word"«endl;
gets(w);
int pr;
for (int i=0,k=0;i<n;i++)
{
pr=0;
for (int j=0;j<m;j++)
if (alpha[i]==w[j])
{
pr=1;
break;
}
if(pr==0)
{
alpha_bez[k]=alpha[i];
k++;
}
}
strcpy(alpha,w);
for (i=m;i<n;i++)
alpha[i]=alpha_bez[i-m];
puts(alpha);
}
Пример работы.
Пример выполнения.
Вывод: Нужно сделать программу, которая шифрует слово методом Квадрата Полибия. Сначала предлагается количество букв из которых будет состоять ключ для шифрования. Например 5. Далее вводим слово из пяти букв. Буквы из этого слова убираются с места где они стояли в алфавите и переносятся на перед. Это я сделал. Вводим слово для шифрования. Но нужно теперь зашифровать введенное слово. Делается это следующим образом. Буква из слова для шифрования сравнивается с положением той же буквы в алфавите и сдвигается на 5 букв назад, то есть вправо.
Дата добавления: 2015-08-18; просмотров: 39 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Латинский алфавит | | | Как сделать талию стройной, красивой, тонкой, быстро? Как похудеть в талии? Упражнения. |