Академический Документы
Профессиональный Документы
Культура Документы
Лабораторная работа № 2
Акользина И. С. Басалова Г. В.
Кузнецова А. В.
Тула 2013
1. Цель работы
Реализовать программно алгоритм шифрования перестановкой по
таблице.
2. Ход работы
Вариант 2.
Шифрование.
Алгоритм программы.
1. Открыть входной файл для чтения.
2. Открыть выходной файл для записи.
3. Ввести ключ с клавиатуры.
4. Для каждых 20 байтов входного файла:
5. Создать таблицу 4 столбца × 5 строк.
6. Заполнить таблицу по строкам в соответствии с ключом.
7. Считать данные из таблицы по столбцам.
8. Вывести результат в выходной файл.
Текст программы.
// kript_lab_2.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
int key;
long size;
fseek(file, 0, SEEK_END);
size=ftell(file);
fseek(file, 0, SEEK_SET);
setlocale(LC_ALL, "RUS");
cout << "Введите ключ" << endl;
cin >> key;
int s1[5];
s1[0]=key/10000-1;
key=key%10000;
s1[1]=key/1000-1;
key=key%1000;
s1[2]=key/100-1;
key=key%100;
s1[3]=key/10-1;
key=key%10;
s1[4]=key-1;
int** m;
m=new int*[5];
for (int i=0; i<5; i++)
m[i]=new int[4];
long k2;
if ((size%20)==0) k2=size/20;
else k2=size/20+1;
long x=0;
fclose(file);
fclose(f);
return 0;
}
Файл pr1.txt
1234567890qwertyuiopas
Файл shifr.txt
u195ei206ro3q7tp4w8yas
Расшифрование.
Алгоритм программы.
1. Открыть входной файл для чтения.
2. Открыть выходной файл для записи.
3. Ввести ключ с клавиатуры.
4. Для каждых 20 байтов входного файла:
5. Создать таблицу 4 столбца × 5 строк.
6. Заполнить таблицу по столбцам.
7. Считать данные из таблицы по строкам в соответствии с ключом.
8. Вывести результат в выходной файл.
Текст программы.
// kript_lab_2_2.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
int key;
long size;
fseek(file, 0, SEEK_END);
size=ftell(file);
fseek(file, 0, SEEK_SET);
setlocale(LC_ALL, "RUS");
cout << "Введите ключ" << endl;
cin >> key;
int s1[5];
s1[0]=key/10000-1;
key=key%10000;
s1[1]=key/1000-1;
key=key%1000;
s1[2]=key/100-1;
key=key%100;
s1[3]=key/10-1;
key=key%10;
s1[4]=key-1;
int** m;
m=new int*[5];
for (int i=0; i<5; i++)
m[i]=new int[4];
long x=0;
if (k3!=0)
{
int k4=k3/4;
int k5=k3-k4*4;
fclose(file);
fclose(f);
return 0;
}
Результат работы программы.
Ключ: 24351
Файл shifr.txt
u195ei206ro3q7tp4w8yas
Файл pr1_1.txt
1234567890qwertyuiopas
3. Вывод
В ходе лабораторной работы мы реализовали программно алгоритм
шифрования перестановкой по таблице.