Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 1
З КУРСУ “ Методи та засоби криптологічних перетворень”
ШИФР ЗСУВУ
Мета роботи: Написати программу для шифрування методом pcede забезпечення введеня стрічки і ключа з клавіатури і виведення шифрованої і дешифрованої стрічки на екран
Змінні і функції використані в программі :
Zsuv – зсув
і – лічильник циклу
Shifruvannya (char *str) - функція що шифрує стрічку
Deshifruvannya (char *str) – функція для дешифрування
Блок схема:
Текст программи
#include <iostream>
#include <stdio.h>
using namespace std;
void Shifruvannya(char *str, int zsuv );
void Deshifruvannya(char *str, int zsuv );
void main()
{
char cryptString[100];
cout << "Vvesit strichku"<< endl;
cin.get(cryptString, 100);
cout << "VVedit velychynu zsuvu"<< endl;
int zsuv;
cin >> zsuv;
Shifruvannya(cryptString, zsuv);
cout << cryptString << endl;
cout << "Rozshifruvaty ? " << endl;
cout << "Rozshifruvaty strichka" << endl;
Deshifruvannya(cryptString, zsuv);
cout << cryptString << endl;
}
void Shifruvannya(char *str, int zsuv )
{
for(int i = 0; str[i] != '\0'; i++)
{
str[i] = tolower(str[i]);
}
for(int i = 0; str[i] != '\0'; i++)
{
int charPosWithMove = (int)str[i] + zsuv;
if(122 < charPosWithMove)
{
charPosWithMove = charPosWithMove - 26;
}
str[i] = (char)charPosWithMove;
}
}
void Deshifruvannya(char *str, int zsuv )
{
for(int i = 0; str[i] != '\0'; i++)
{
int charPosWithMove = (int)str[i] - zsuv;
if(charPosWithMove < 97)
{
charPosWithMove = charPosWithMove + 26;
}
str[i] = (char)charPosWithMove;
}
}
Результат :
Висновок: в данній роботі я створила программу на мові С для шифрування і дешифрування тексту методом зсуву.