Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Устойчивость к криптоанализу

Читайте также:
  1. Для микобактерий характерно: наличие капсулы наличие жгутиков кислотоустойчивость образование спор наличие миколовых кислот
  2. Исследование стационарных точек на устойчивость
  3. Основные показатели, характеризующие финансовую устойчивость предприятия.
  4. Основным недостатком этого метода является постоянное присутствие в выемке воды, которая усложняет производство работ и снижает устойчивость стенок выемки из-за разжижения грунта.
  5. Помехоустойчивость РТМС с ВРК
  6. Понятие финансовая устойчивость и факторы оказывающие влияние на неё.
  7. Потенциальная помехоустойчивость оптимального приемника двоичных частотно-модулированных сигналов с неизвестной начальной фазой

Одним из методов атак является частотный анализ. Распределение букв в криптотексте сравнивается с распределением букв в алфавите исходного сообщения. Буквы с наибольшей частотой в криптотексте заменяются на букву с наибольшей частотой из алфавита, если он известен. Вероятность успешного вскрытия повышается с увеличением длины криптотекста, поскольку распределения статистические. Существуют множество различных таблиц о распределении букв в том или ином языке, но ни одна из них не содержит окончательной информации — даже порядок букв может отличаться в различных таблицах. Распределение очень сильно зависит от типа текста: проза, разговорный язык, технический язык и т. п. Квадрат Полибия является примером шифра замены, поэтому неустойчив к частотной атаке.

 

Задание:

Листинг программы.

#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 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Латинский алфавит| Как сделать талию стройной, красивой, тонкой, быстро? Как похудеть в талии? Упражнения.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)