ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.06.2019
Просмотров: 112
Скачиваний: 1
Лабораторная работа № 1
(№ 9 по списку и инд.вариант t= 9)
Студента ИТ-14-1
Красовского Абхая
Тема: Шифрование методом перестановок.
Цель: Научиться разрабатывать программы для шифрования методом перестановок.
Задание
№ вар. |
Описание шифра |
Ограничения |
Программа |
9 |
Шифр вертикальной перестановки |
Использовать таблицу 8х5 |
шифров. |
Номер столбца |
||||
1 |
2 |
3 |
4 |
5 |
я |
с |
е |
г |
о |
д |
н |
я |
д |
е |
л |
а |
ю |
л |
а |
б |
о |
р |
а |
т |
о |
р |
н |
у |
ю |
1 |
п |
о |
к |
р |
и |
п |
т |
о |
г |
р |
а |
ф |
и |
и |
Номер столбца |
1 |
2 |
3 |
4 |
5 |
Ключ |
5 |
1 |
4 |
2 |
3 |
ЯСЕГОДНЯДЕЛАЮЛАБОРАТОРНУЮ1ПОКРИПТОГРАФИИ
Читаем этот текст по столбцам соответственно ключу.
ОЕАТЮРГИЯДЛБО1ИРГДЛАУКОИСНАОРППАЕЯЮРНОТФ
Программа:
Код:
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char string[8][5];
int key[5];
cout << "Введите строку(из 40 букв и каждый символ через пробел, п р и м е р)" << endl;
for (int i = 0; i < 8;i++)
for (int j = 0; j < 5; j++)
cin >> string[i][j];
for (int i = 0; i < 8;i++)
{
for (int j = 0; j < 5; j++)
cout << string[i][j];
cout << endl;
}
cout << "Введите ключ из 5 цифр(неповторяющиеся цифры от 1 до 5)" << endl;
for (int i = 0; i < 5; i++)
while(!(cin >> key[i]) || key[i] < 1 || key[i] > 5)
cout << "Вы ввели не правильный ключ" << endl;
cout << "Ваш зашифрованный текст" << endl;
for (int j = 0; j < 5; j++)
for (int i = 0; i < 8; i++)
cout << string[i][key[j]-1];
_getch();
}
Блок-схема:
Результат:
Вывод: Научился шифровать текст методом перестановок.
1 В чем состоит метод шифрования перестановкой? Возможное число ключей.
2 Как получить шифротекст с использованием метода маршрутной перестановки? Возможный вид ключа в этом методе; возможные дополнительные меры для повышения секретности.
3 Как выглядит маршрут при использовании шифра сцитала? Оценить секретность этого шифра.
4 Как получить шифротекст с использованием поворотной решетки? Оценить возможное количество решеток заданного размера.
5 Шифрование методом вертикальной перестановки; возможные дополнительные меры для повышения секретности.
6 Использование магических квадратов для создания шифров