Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Звіт
до лабораторної роботи №1
З курсу: “Методи і засоби криптологічних перетворень”
на тему: „ Шифр з автоключем”
Мета роботи: навчитися за допомогою шифру з автоключем перетворювати відкритий текст в криптотекст і навпаки. Написати програму реалізацїї даного методу шифрування та розшифрування на мові програмування Сі.
Теоретичні відомості
Реалізація перетворення відкритого тексту в криптотекст на ЕОМ:
Текст програми
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
size_t length;
int i,j,a,b,c,g,l,p,s,d;
char vidtext[100];
char vidtextob[100];
char devidtext[100];
char klychob[3];
char klych[3];
char vidtextplusklych[100];
char chufrtext[100];
char dechufrtext[100];
char dechufrtextob[100];
puts("Vvedit vidkrutuy text:");
gets(vidtext);
puts("Vvedit klych:");
gets(klych);
length=strlen(vidtext);
d=length;
g=0;a=0;
for (i=0;i<d;i++)
{
j=vidtext[i];
if ((j>=65) && (j<=90))
{
vidtextob[g]=vidtext[i];
g++;
}}
length=strlen(klych);
d=length;
for (i=0;i<d;i++)
{
j=klych[i];
if ((j>=65) && (j<=90))
{
klychob[a]=klych[i];
a++;
}}
printf("klychob=");
for(i=0;i<a;i++)
printf("%c",klychob[i]);
printf("\n");
printf("vidtextob=");
for(i=0;i<g;i++)
printf("%c",vidtextob[i]);
printf("\n");
for(i=0; i<a; i++)
vidtextplusklych[i]=klychob[i];
b=a;
for(i=0;i<=(g-a);i++)
{
vidtextplusklych[b]=vidtextob[i];
b++;
}
printf("vidtextplusklych=");
for(i=0;i<g;i++)
printf("%c",vidtextplusklych[i]);
printf("\n");
for(i=0;i<g;i++)
{
l=vidtextob[i]-65;
p=vidtextplusklych[i]-65;
s=l+p+65;
if (s<=90)
{
chufrtext[i]=s;
}
else
{
s=s-90+64;
chufrtext[i]=s;
}
}
printf("chufrtext=");
for(i=0;i<g;i++)
printf("%c",chufrtext[i]);
printf("\n");
printf("Vvedit shufrtext:");
gets(dechufrtext);
length=strlen(dechufrtext);
d=length;
g=0;
for (i=0;i<d;i++)
{
j=dechufrtext[i];
if ((j>=65) && (j<=90))
{
dechufrtextob[g]=dechufrtext[i];
g++;
}}
for(i=0;i<a;i++)
{
l=klychob[i]-65;
p=dechufrtextob[i]-65;
s=p-l+65;
if (s<65)
{
devidtext[i]=90-(64-s);
}
else
{
devidtext[i]=s;
}
}
for (i=a;i<g;i++)
{
l=devidtext[i-a]-65;
p=dechufrtextob[i]-65;
s=p-l+65;
if (s<65)
{
devidtext[i]=90-(64-s);
}
else
{
devidtext[i]=s;
}
}
printf("devidtext=");
for(i=0;i<g;i++)
printf("%c",devidtext[i]);
printf("\n");
system ("PAUSE");
return 0 ;
}
Висновок: під час виконання даної лабораторної роботи, я вивчила шифрування шифром з автоключем. Реалізувавши цей метод програмним способом, я переконалася в правильності результатів виконання програми, звіривши їх з результатами, отриманими при шифруванні відкритого тексту шифром з автоключем без допомоги ПК.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!