Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Лабораторна робота № 1
з дисципліни “Криптографічні системи та протоколи”
на тему:
“ Прості методи шифрування тексту ”
Мета роботи: вивчитити постих методів шифрування тексту.
1. Завдання.
Реалізувати програму, що дозволяє шифрувати текстову інформацію за допомогою наступних методів:
метод підстановки з періодами
метод Віженера з блоками
метод Кардано
2. Фрагменти тексту програми.
кодування даних
…
if(ComboBox1->ItemIndex==1)
{ int key_i=1;
for(int i=1;i<=m2.Length();i++)
{ int j=(l_b.Pos(key[key_i])+l_b.Pos(m2[i]))%33;
if(j==0) j=33; m2[i]=l_b[j]; key_i++;
if(key_i > CSpinEdit1->Value) key_i=1; }
Memo1->Text=m2; }
if(ComboBox1->ItemIndex==2)
{ key+=" "; int key_l=0,key_i[10], mkey1[10][10], mkey2[10][10];
for (int j=0;j<10;j++) key_i[j]=0;
int z=1;
while (key.Length()>0)
{ if(key.SubString(z,1)!=" ")
{ key_i[key_l]=StrToInt(key.SubString(1,key.Pos(" ")-1));
key_l++;
z=key.Pos(" ");
key=key.SubString(z+1,key.Length()-z); }
else key=key.SubString(2,key.Length()-1);
z=1; }
for (int i=0;i<key_l;i++)
for (int j=0;j<key_l;j++) mkey1[i][j]=0;
for (int i=0;i<key_l;i++)
mkey1[(key_i[i]-1)%key_l][(key_i[i]-1)/key_l]=1;
for (int r=0;r<4;r++)
{ for (int i=0;i<key_l;i++)
{
AnsiString s="";
for (int j=0;j<key_l;j++)
{ mkey2[i][j]=mkey1[key_l-1-j][i];
s+=IntToStr(mkey1[i][j]); }
Memo2->Lines->Add(s); }
Memo2->Lines->Add("");
for (int i=0;i<key_l;i++)
for (int j=0;j<key_l;j++) mkey1[i][j]=mkey2[i][j]; } }
…
декодування даних
…
if (keytrue())
{ AnsiString m=Memo1->Text, key=Edit1->Text;
if (ComboBox1->ItemIndex==0)
for(int i=1;i<=m.Length();i++) m[i]=l_b[key.Pos(m[i])];
if (ComboBox1->ItemIndex==1)
{ int key_i=1;
for(int i=1;i<=m.Length();i++)
{ int j=(l_b.Pos(key[key_i])-l_b.Pos(m[i]))%33;
if(j==0) j=33; if (j<0) j*=-1;
m[i]=l_b[j]; key_i++;
if(key_i > CSpinEdit1->Value) key_i=1; } }
Memo1->Text=m; }
…
5. Результати роботи
Рисунок 1 – Шифрування даних методом Віженера з блоками
Висновок: На даній лабораторній роботі було засвоєно та реалізовано прості алгоритми для шифрування текстової інформації.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!