Вы находитесь на странице: 1из 11

МІНІСТРЕСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ

ІНСТИТУТ КОМП’ЮТЕРНИХ СИСТЕМ

КАФЕДРА СИСТЕМНОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Лабораторна робота №1

з дисципліни:

«Безпека програм та даних»

Виконав:

студент групи АС-182

Одеса 2021
Вариант 3

 Простая перестановка

Запускаем программу, в строке ввода уже указана строка для шифрования,


нажимаем на кнопку «Шифровать», в textBox2 выводится результат.

Для дешифровки строки вводим строку в textBox1, после на кнопку


«Дешифратор», в textBox2 выводится вывод.
 Одиночная перестановка по ключу

Запускаем программу, выбираем в меню «1_2», появляется textBox3 для


ввода ключа. Строка для шифрования указана, вводим ключь, нажимаем на
кнопку шифровать. Вывод результатов в textBox2.

Копируем шифрованную строку, вводим, нажимаем на кнопку


«Дешифратор». Вывод выводится в textBox2.
 Двойная перестановка по ключу

Запускаем программу , выбираем в меню 1_3. Строка для шифрования уже


казана , вводим ключи , нажимаем кнопку «Шифровать». Выводиться вывод .

Копируем шифрованную строку , вводим , нажимаем на кнопку


«Дешифровать». Выводиться вывод.
using System;
using System.Windows.Forms;

namespace Shifr_1_1
{
public partial class Form1 : Form
{
int n = 0;
string[,] m = new string[8, 6];
string[,] m1 = new string[8, 6];
//------------------------------------------------------------------------------------------------
----------------------------------------------
public void oneSH(TextBox tx1, TextBox tx2, string s)
{
textBox2.Text += "Строка: " + textBox1.Text + Environment.NewLine;
textBox2.Text += "Шифрование строки: " + Environment.NewLine;
int num = 0;
for(int j = 0; j<6; j++)
for(int i = 0; i<8; i++)
{
try
{
m[i,j] = Convert.ToString(tx1.Text[num]);
}
catch { }
num++;
}

for (int i = 0; i < 8; i++)


for (int j = 0; j < 6; j++)
{
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += m[i, j] + " ";
s += m[i, j];
}
tx2.Text += Environment.NewLine + Environment.NewLine;
tx2.Text += "Зашифрованная строка: " + s+ Environment.NewLine;
tx2.Text += Environment.NewLine;
}

//------------------------------------------------------------------------------------------------
----------------------------------------------

public void oneD(TextBox tx1, TextBox tx2)


{
textBox2.Text += "Строка: " + textBox1.Text + Environment.NewLine;
textBox2.Text += "Дешифрование строки: " + Environment.NewLine;
int num = 0;

for (int i = 0; i < 8; i++)


for (int j = 0; j < 6; j++)
{
try
{
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
m1[i, j] = Convert.ToString(tx1.Text[num]);
tx2.Text += m1[i, j]+" ";
}
catch { }
num++;
}
tx2.Text += Environment.NewLine+ "Дешифрованная строка: ";
for (int j = 0; j < 6; j++)
for (int i = 0; i < 8; i++)
{
tx2.Text += m1[i, j];
}
tx2.Text += Environment.NewLine;
}

//------------------------------------------------------------------------------------------------
----------------------------------------------

public void oneSH1(TextBox tx1, TextBox tx2, TextBox tx3, string s)


{
tx2.Clear();
int number;
int b = 0;
string[,] massiv = new string[8, 6];
string[,] massiv1 = new string[8, 6];
string[] c = new string[6];
for (int j = 0; j < 6; j++)
for (int i = 0; i < 8; i++)
{
try
{
massiv[i, j] = Convert.ToString(tx1.Text[b]);
}
catch { }
b++;
}
tx2.Text += "Строка для шифрования: " + Environment.NewLine;
tx2.Text += "Шифрование: " + Environment.NewLine;

for (int i = 0; i < 8; i++)


for (int j = 0; j < 6; j++)
{
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += massiv[i, j]+ " " ;
}

tx2.Text += Environment.NewLine;
tx2.Text += "Ключь: "+tx3.Text;
for (int i = 0; i < 6; i++)
{
c[i] = Convert.ToString(tx3.Text[i]);
}

for (int j = 0; j < 6; j++)


{
try
{
number =Convert.ToInt32( c[j]);
for (int i = 0; i < 8; i++)
{
massiv1[i, number - 1] = massiv[i, j];
}
}
catch { }
}

tx2.Text += Environment.NewLine;
for (int i = 0; i < 8; i++)
for (int j = 0; j < 6; j++)
{
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += massiv1[i, j]+" ";
s += massiv1[i, j];
}
tx2.Text += Environment.NewLine;
tx2.Text +="Получаемая строка: |"+ s + Environment.NewLine+"|";
}
//------------------------------------------------------------------------------------------------
----------------------------------------------

public void oneD1(TextBox tx1, TextBox tx2, TextBox tx3, string s)


{
tx2.Clear();
int number;
int b = 0;
string[,] massiv = new string[8, 6];
string[,] massiv1 = new string[8, 6];
string[] c = new string[6];

tx2.Text += "Строка для дишифрования: " + Environment.NewLine;


tx2.Text += "Дишифрование: " + Environment.NewLine;
for (int i = 0; i < 8; i++)
for (int j = 0; j < 6; j++)
{
try
{
massiv[i, j] = Convert.ToString(tx1.Text[b]);
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += massiv[i, j] + " ";
}
catch { }
b++;
}

tx2.Text += Environment.NewLine;
tx2.Text += "Ключь: " + tx3.Text;
for (int i = 0; i < 6; i++)
{
c[i] = Convert.ToString(tx3.Text[i]);
}

for (int j = 0; j < 6; j++)


{
try
{
number = Convert.ToInt32(c[j]);
for (int i = 0; i < 8; i++)
{
massiv1[i, number - 1] = massiv[i, j];
}
}
catch { }
}

tx2.Text += Environment.NewLine;
for (int j = 0; j < 6; j++)
for (int i = 0; i < 8; i++)
{
s += massiv1[i, j];
}
tx2.Text += Environment.NewLine;
tx2.Text += "Получаемая строка: " + s + Environment.NewLine;
}

//------------------------------------------------------------------------------------------------
----------------------------------------------

public void oneSH2(TextBox tx1, TextBox tx2, TextBox tx3, TextBox tx4, string s)
{
tx2.Clear();
int number;
int b = 0;
string[,] massiv = new string[8, 6];
string[,] massiv1 = new string[8, 6];
string[] c = new string[6];
string[] v = new string[8];
for (int j = 0; j < 6; j++)
for (int i = 0; i < 8; i++)
{
try
{
massiv[i, j] = Convert.ToString(tx1.Text[b]);
}
catch { }
b++;
}
tx2.Text += "Строка для шифрования: " + Environment.NewLine;
tx2.Text += "Шифрование: " + Environment.NewLine;

for (int i = 0; i < 8; i++)


for (int j = 0; j < 6; j++)
{
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += massiv[i, j] + " ";
}

tx2.Text += Environment.NewLine;
tx2.Text += "Ключь: " +tx4.Text+"/"+ tx3.Text;
for (int i = 0; i < 6; i++)
{
c[i] = Convert.ToString(tx3.Text[i]);
}
for (int i = 0; i < 8; i++)
{
v[i] = Convert.ToString(tx4.Text[i]);
}

for (int j = 0; j < 6; j++)


{
try
{
number = Convert.ToInt32(c[j]);
for (int i = 0; i < 8; i++)
{
massiv1[i, number - 1] = massiv[i, j];
}
}
catch { }
}

for (int j = 0; j < 8; j++)


{
try
{
number = Convert.ToInt32(v[j]);
for (int i = 0; i < 6; i++)
{
massiv1[number - 1, i] = massiv[j,i];
}
}
catch { }
}

tx2.Text += Environment.NewLine;
for (int i = 0; i < 8; i++)
for (int j = 0; j < 6; j++)
{
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += massiv1[i, j] + " ";
s += massiv1[i, j];
}
tx2.Text += Environment.NewLine;
tx2.Text += "Получаемая строка: |" + s + "|"+ Environment.NewLine;
}

//------------------------------------------------------------------------------------------------
----------------------------------------------

public void oneD2(TextBox tx1, TextBox tx2, TextBox tx3, TextBox tx4, string s)
{
tx2.Clear();
int number;
int b = 0;
string[,] massiv = new string[8, 6];
string[,] massiv1 = new string[8, 6];
string[] c = new string[6];
string[] v = new string[8];

tx2.Text += "Строка для дишифрования: " + Environment.NewLine;


tx2.Text += "Дишифрование: " + Environment.NewLine;
for (int i = 0; i < 8; i++)
for (int j = 0; j < 6; j++)
{
try
{
massiv[i, j] = Convert.ToString(tx1.Text[b]);
if (j == 0)
{
tx2.Text += Environment.NewLine;
}
tx2.Text += massiv[i, j] + " ";
}
catch { }
b++;
}

tx2.Text += Environment.NewLine;
tx2.Text += "Ключь: " + tx4.Text + "/" + tx3.Text;
for (int i = 0; i < 6; i++)
{
c[i] = Convert.ToString(tx3.Text[i]);
}
for (int i = 0; i < 8; i++)
{
v[i] = Convert.ToString(tx4.Text[i]);
}

for (int j = 0; j < 8; j++)


{
try
{
number = Convert.ToInt32(v[j]);
for (int i = 0; i < 6; i++)
{
massiv1[number - 1, i] = massiv[j, i];
}
}
catch { }
}

for (int j = 0; j < 6; j++)


{
try
{
number = Convert.ToInt32(c[j]);
for (int i = 0; i < 8; i++)
{
massiv1[i, number - 1] = massiv[i, j];
}
}
catch { }
}
tx2.Text += Environment.NewLine;
for (int j = 0; j < 6; j++)
for (int i = 0; i < 8; i++)
{
s += massiv1[i, j];
}
tx2.Text += Environment.NewLine;
tx2.Text += "Получаемая строка: " + s + Environment.NewLine;
}

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
string s="";
if (n==0)
{
this.oneSH(textBox1, textBox2, textBox2.Text);
}

if(n==1)
{
this.oneSH1(textBox1, textBox2,textBox3,s);
}
if (n == 2)
{
this.oneD2(textBox1, textBox2, textBox3, textBox4, s);
}
}

private void toolStripMenuItem1_Click(object sender, EventArgs e)


{
n = 0;
textBox1.Text = "Привет, это сообщение состоит из 48 символов!!!!";
label2.Visible = false;
textBox3.Visible = false;
textBox4.Visible = false;
}

private void Form1_Load(object sender, EventArgs e)


{
textBox1.Text = "Привет, это сообщение состоит из 48 символов!!!!";
label2.Visible = false;
textBox3.Visible = false;
textBox4.Visible = false;
}

private void button2_Click(object sender, EventArgs e)


{
string s="";
if (n == 0)
{
this.oneD(textBox1, textBox2);
}
if (n == 1)
{
this.oneD1(textBox1, textBox2, textBox3, s);
}
if (n == 2)
{
this.oneD2(textBox1, textBox2, textBox3, textBox4, s);
}
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
textBox1.Text = "Привет, это сообщение состоит из 48 символов!!!!";
n = 1;
label2.Visible = true;
textBox3.Visible = true;
textBox4.Visible = false;
}

private void label2_Click(object sender, EventArgs e)


{

private void toolStripMenuItem3_Click(object sender, EventArgs e)


{
n = 2;
textBox1.Text = "Привет, это сообщение состоит из 48 символов!!!!";
label2.Visible = true;
textBox3.Visible = true;
textBox4.Visible = true;
}
}
}

Вам также может понравиться

  • ЗИ лаб№6 Чилетирова Мээрим ИВТ-1-19
    ЗИ лаб№6 Чилетирова Мээрим ИВТ-1-19
    Документ11 страниц
    ЗИ лаб№6 Чилетирова Мээрим ИВТ-1-19
    Сыргажан Тентимишова
    Оценок пока нет
  • OOP 2 Lab
    OOP 2 Lab
    Документ10 страниц
    OOP 2 Lab
    Victor
    Оценок пока нет
  • ЛАБ2 - ЗИ - Жусуев Акай - ИВТ-1-19
    ЛАБ2 - ЗИ - Жусуев Акай - ИВТ-1-19
    Документ3 страницы
    ЛАБ2 - ЗИ - Жусуев Акай - ИВТ-1-19
    Сыргажан Тентимишова
    Оценок пока нет
  • Lab MMCN2
    Lab MMCN2
    Документ7 страниц
    Lab MMCN2
    Vasilisssa
    Оценок пока нет
  • (@darsliklar) C++ 2-Qism
    (@darsliklar) C++ 2-Qism
    Документ56 страниц
    (@darsliklar) C++ 2-Qism
    Jahongir Hamidov
    Оценок пока нет
  • 02 Funktsii
    02 Funktsii
    Документ3 страницы
    02 Funktsii
    Daniel Egea Hernandez
    Оценок пока нет
  • ЗИ.лаб№5 Чилетирова Мээрим ИВТ-1-19
    ЗИ.лаб№5 Чилетирова Мээрим ИВТ-1-19
    Документ5 страниц
    ЗИ.лаб№5 Чилетирова Мээрим ИВТ-1-19
    Сыргажан Тентимишова
    Оценок пока нет
  • ФО 9кл 3чт - 2 вариант
    ФО 9кл 3чт - 2 вариант
    Документ3 страницы
    ФО 9кл 3чт - 2 вариант
    ulugbekosm16
    Оценок пока нет
  • Laba 1
    Laba 1
    Документ13 страниц
    Laba 1
    Мишка Лазарев
    100% (1)
  • Новый текстовый документ
    Новый текстовый документ
    Документ5 страниц
    Новый текстовый документ
    Иван Бабуров
    Оценок пока нет
  • Функции, передача массивов у функцию часть2 22.03
    Функции, передача массивов у функцию часть2 22.03
    Документ3 страницы
    Функции, передача массивов у функцию часть2 22.03
    Тетяна Грисюк
    0% (3)
  • Calculul Numeric Lab - Work2 (Rus)
    Calculul Numeric Lab - Work2 (Rus)
    Документ12 страниц
    Calculul Numeric Lab - Work2 (Rus)
    Андрей Циуляну
    Оценок пока нет
  • Untitled
    Untitled
    Документ26 страниц
    Untitled
    Cool Flame
    Оценок пока нет
  • Ppvis 7
    Ppvis 7
    Документ3 страницы
    Ppvis 7
    2sadboyssd
    Оценок пока нет
  • Отчет №1 лаба по САОД
    Отчет №1 лаба по САОД
    Документ11 страниц
    Отчет №1 лаба по САОД
    Earth Mix
    Оценок пока нет
  • Лабораторная работа по Си шарп создание 3D моделей WPF
    Лабораторная работа по Си шарп создание 3D моделей WPF
    Документ3 страницы
    Лабораторная работа по Си шарп создание 3D моделей WPF
    sartaieva
    Оценок пока нет
  • OOP 3 Lab
    OOP 3 Lab
    Документ9 страниц
    OOP 3 Lab
    Victor
    Оценок пока нет
  • MMC 1
    MMC 1
    Документ5 страниц
    MMC 1
    Ion Mardari
    Оценок пока нет
  • Отчет по введение в ПИ №2
    Отчет по введение в ПИ №2
    Документ12 страниц
    Отчет по введение в ПИ №2
    Earth Mix
    Оценок пока нет
  • 3 искаков лаб
    3 искаков лаб
    Документ16 страниц
    3 искаков лаб
    samagan nurd
    Оценок пока нет
  • №4 Отчет по ВПИ
    №4 Отчет по ВПИ
    Документ12 страниц
    №4 Отчет по ВПИ
    Earth Mix
    Оценок пока нет
  • 6 лаба
    6 лаба
    Документ10 страниц
    6 лаба
    Bekzhan
    Оценок пока нет
  • Лабороторная ВПИ
    Лабороторная ВПИ
    Документ19 страниц
    Лабороторная ВПИ
    Азиз Акпаралиев
    Оценок пока нет
  • Новый текстовый документ
    Новый текстовый документ
    Документ8 страниц
    Новый текстовый документ
    Иван Бабуров
    Оценок пока нет
  • Темирова Назгул №1 Отчет по ПИ
    Темирова Назгул №1 Отчет по ПИ
    Документ9 страниц
    Темирова Назгул №1 Отчет по ПИ
    Earth Mix
    Оценок пока нет
  • 10 L UTCP Algoritmul de Sortare MergeSort R
    10 L UTCP Algoritmul de Sortare MergeSort R
    Документ7 страниц
    10 L UTCP Algoritmul de Sortare MergeSort R
    Natik Halus
    Оценок пока нет
  • Массивы
    Массивы
    Документ13 страниц
    Массивы
    Sau Sau
    Оценок пока нет
  • MN-222 Turcanu Denis SDA Lab 5
    MN-222 Turcanu Denis SDA Lab 5
    Документ14 страниц
    MN-222 Turcanu Denis SDA Lab 5
    storusman999
    Оценок пока нет
  • Bài 10
    Bài 10
    Документ4 страницы
    Bài 10
    Mercy Munzenzi
    Оценок пока нет
  • вкладені цикли
    вкладені цикли
    Документ8 страниц
    вкладені цикли
    Даша Коберник
    Оценок пока нет
  • Prog Lab Serb 7 1
    Prog Lab Serb 7 1
    Документ3 страницы
    Prog Lab Serb 7 1
    Ziya
    Оценок пока нет
  • Лаборторная 3
    Лаборторная 3
    Документ12 страниц
    Лаборторная 3
    Азиз Акпаралиев
    Оценок пока нет
  • Laba Apa 4
    Laba Apa 4
    Документ10 страниц
    Laba Apa 4
    coo coo
    Оценок пока нет
  • Л4 У1
    Л4 У1
    Документ26 страниц
    Л4 У1
    kkaku847
    Оценок пока нет
  • Return: Z Arctg X y X V
    Return: Z Arctg X y X V
    Документ11 страниц
    Return: Z Arctg X y X V
    Aliaksei Hrom
    Оценок пока нет
  • массив SLSRLmo
    массив SLSRLmo
    Документ6 страниц
    массив SLSRLmo
    Glad Valakas
    Оценок пока нет
  • CSharp - Shpora
    CSharp - Shpora
    Документ1 страница
    CSharp - Shpora
    Zaur Qurbanov
    Оценок пока нет
  • ЯП3
    ЯП3
    Документ12 страниц
    ЯП3
    kanykei sa
    100% (4)
  • Include
    Include
    Документ3 страницы
    Include
    simvla9imir
    Оценок пока нет
  • Include
    Include
    Документ3 страницы
    Include
    simvla9imir
    Оценок пока нет
  • практика 6
    практика 6
    Документ3 страницы
    практика 6
    Алишер Мейрамов
    Оценок пока нет
  • Lab 5
    Lab 5
    Документ3 страницы
    Lab 5
    Нуриза Чойбекова
    Оценок пока нет
  • TC Lab 1
    TC Lab 1
    Документ9 страниц
    TC Lab 1
    FANATHD
    Оценок пока нет
  • ДЗ 2
    ДЗ 2
    Документ4 страницы
    ДЗ 2
    Want Pizza
    Оценок пока нет
  • Hisob: С++ code
    Hisob: С++ code
    Документ3 страницы
    Hisob: С++ code
    simvla9imir
    Оценок пока нет
  • залик
    залик
    Документ9 страниц
    залик
    Fedchik Am
    Оценок пока нет
  • MN-222 Turcanu Denis SDA Lab 4
    MN-222 Turcanu Denis SDA Lab 4
    Документ13 страниц
    MN-222 Turcanu Denis SDA Lab 4
    storusman999
    Оценок пока нет
  • Lab 6
    Lab 6
    Документ12 страниц
    Lab 6
    uzuna026
    Оценок пока нет
  • Practice
    Practice
    Документ9 страниц
    Practice
    gmegueptmdplmbyprp
    Оценок пока нет
  • 4 ЛР6
    4 ЛР6
    Документ7 страниц
    4 ЛР6
    nikita.malygin2019
    Оценок пока нет
  • Soln 6
    Soln 6
    Документ6 страниц
    Soln 6
    AHMED MIMOUDI
    Оценок пока нет
  • Пр. 3 АИСД
    Пр. 3 АИСД
    Документ7 страниц
    Пр. 3 АИСД
    Марина
    Оценок пока нет
  • 3 лаба
    3 лаба
    Документ15 страниц
    3 лаба
    Азиз Акпаралиев
    Оценок пока нет
  • ЯП1
    ЯП1
    Документ12 страниц
    ЯП1
    kanykei sa
    100% (1)
  • Lab3 Dermenji Aliona MN 202
    Lab3 Dermenji Aliona MN 202
    Документ14 страниц
    Lab3 Dermenji Aliona MN 202
    Алена Раевская
    Оценок пока нет
  • Пр. 6 АИСД
    Пр. 6 АИСД
    Документ16 страниц
    Пр. 6 АИСД
    Марина
    Оценок пока нет
  • Arrays Java
    Arrays Java
    Документ4 страницы
    Arrays Java
    alex
    Оценок пока нет
  • Лабораторная работа 2
    Лабораторная работа 2
    Документ19 страниц
    Лабораторная работа 2
    22rey.fd33
    Оценок пока нет
  • играть gaminator
    играть gaminator
    Документ21 страница
    играть gaminator
    aris santo
    Оценок пока нет
  • Инструкция по настройке YASKAWA L1000A
    Инструкция по настройке YASKAWA L1000A
    Документ54 страницы
    Инструкция по настройке YASKAWA L1000A
    Григорий Малышенков
    Оценок пока нет
  • Check List Motorcyle
    Check List Motorcyle
    Документ2 страницы
    Check List Motorcyle
    Лёша Бороздин
    Оценок пока нет
  • Реферат мультимедиа
    Реферат мультимедиа
    Документ19 страниц
    Реферат мультимедиа
    Tasya6383
    Оценок пока нет
  • Лекция 21
    Лекция 21
    Документ19 страниц
    Лекция 21
    JJd
    Оценок пока нет