Академический Документы
Профессиональный Документы
Культура Документы
Лабораторная работа № 3
Акользина И. С. Басалова Г. В.
Кузнецова А. В.
Тула 2013
1. Цель работы
Реализовать программно некоторые простейшие алгоритмы
шифрования заменой.
2. Ход работы
Вариант 2.
Шифрование.
Алгоритм программы.
1. Открыть входной файл для чтения.
2. Открыть выходной файл для записи.
3. Ввести ключ с клавиатуры.
4. Для каждых n байтов входного файла (n – длина ключа):
5. Цикл i = 0 до i = n.
6. Зашифровать i – й байт из входного файла со сдвигом на keyi
вправо.
7. Вывести результат в выходной файл.
Текст программы.
// kript_lab_3.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "string"
using namespace std;
string str;
int x, y, n, a;
int* key;
long size;
fseek(file, 0, SEEK_END);
size=ftell(file);
fseek(file, 0, SEEK_SET);
a=0;
for (long i=0; i<size; i++)
{
if (a==n) a=0;
fread(&x1, sizeof(char),1,file);
x=int(x1);
y=(x+key[a])%256;
char y1=char(y);
fwrite(&y1, sizeof(char),1,shifr);
a++;
}
fclose(file);
fclose(shifr);
return 0;
}
Файл pr1.txt
абвгде
Файл shifr.txt
бгеджи
Расшифрование.
Алгоритм программы.
1. Открыть входной файл для чтения.
2. Открыть выходной файл для записи.
3. Ввести ключ с клавиатуры.
4. Для каждых n байтов входного файла (n – длина ключа):
5. Цикл i = 0 до i = n.
6. Расшифровать i – й байт из входного файла с помощью сдвига на
keyi влево.
7. Вывести результат в выходной файл.
Текст программы.
// kript_lab3_1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "string"
using namespace std;
string str;
int x, y, n, a;
int* key;
long size;
fseek(file, 0, SEEK_END);
size=ftell(file);
fseek(file, 0, SEEK_SET);
a=0;
for (long i=0; i<size; i++)
{
if (a==n) a=0;
fread(&x1, sizeof(char),1,file);
x=int(x1);
y=(x-key[a])%256;
char y1=char(y);
fwrite(&y1, sizeof(char),1,shifr);
a++;
}
fclose(file);
fclose(shifr);
return 0;
}
Файл shifr.txt
бгеджи
Файл pr1_1.txt
абвгде
3. Вывод
В ходе лабораторной работы мы реализовали программно
простейший алгоритм шифрования заменой.