- •Лабораторная работа № 1. Симметричное шифрование данных.
- •Лабораторная работа № 2. Дополнительные возможности симметричного шифрование данных.
- •InitializeComponent();
- •Лабораторная работа № 3. Асимметричное шифрование данных.
- •Создать в блокноте файл с некоторым текстом и сохранить его на диске в кодировке Юникод.
- •InitializeComponent();
- •Лабораторная работа № 4. Цифровая подпись.
- •Создать в блокноте файл с некоторым текстом и сохранить его на диске в кодировке Юникод.
- •InitializeComponent();
- •Лабораторная работа № 5. Шифрование в sql Server.
- •Лабораторная работа № 6. Работа с зашифрованными базами в Visual Studio.
- •InitializeComponent();
- •Лабораторная работа № 7. Реализация различных алгоритмов симметричного шифрования данных.
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •Лабораторная работа № 8. Реализация различных алгоритмов симметричного шифрования данных в комбинации с асимметричным шифрованием.
- •InitializeComponent();
- •Лабораторная работа № 9. Реализация различных алгоритмов хеширования.
- •InitializeComponent();
Лабораторная работа № 4. Цифровая подпись.
Создать в блокноте файл с некоторым текстом и сохранить его на диске в кодировке Юникод.
Создать в Visual Studio .Net программу, осуществляющую цифровую подпись текста, содержащегося в данном файле по алгоритму шифрования RSA и алгоритму хеширования MD5 и верификацию созданной подписи.
Создать на форме меню из трёх пунктов: Ключи RSA, Подпись и Верификация.
В меню Ключи RSA реализовать следующие функции: создание новой пары ключей RSA, сохранение обоих ключей в файле секретного ключа, сохранение отктытого ключа в файле открытого ключа. Имена файлов выбираются пользователем с помощью элемента управления SaveFileDialog.
Нанести на форму элемент управления RichTextBox и Label.
В меню Подпись создать следующие подменю: Открыть файл и Подписать.
В меню Открыть файл реализовать следующие функции: выбор текстового файла и отображение данных из него в элементе управления RichTextBox. Выбор файла осуществляется с помощью элемента управления OpenFileDialog.
В меню Подписать реализовать следующие функции: выбор файла секретного ключа (имя файла выбирается с помощью элемента управления OpenFileDialog), подпись текста по заданному алгоритму и сохранение подписи в бинарном файле (имя файла выбирается с помощью элемента управления SaveFeleDialog).
В меню Верификация создать следующие подменю: Открыть файл, Открытый ключ и Верификация подписи.
В меню Открыть файл реализовать следующие функции: выбор текстового файла и отображение данных из него в элементе управления RichTextBox. Выбор файла осуществляется с помощью элемента управления OpenFileDialog.
В меню Открытый ключ реализовать следующие функции: выбор файла открытого ключа и чтение информации из него. Имя файла выбирается с помощью элемента управления OpenFileDialog. В случае успешного чтения ключа выдать соответствующее сообщение на элемент Label.
В меню Верификация подписи реализовать следующие функции: чтение файла подписи (имя файла выбирается с помощью элемента управления OpenFileDialog) и верификацию полученной подписи на основе информации об открытом ключе, полученной в предыдущем пункте. В случае успешной или неуспешной верификации выдать соответствующее сообщение на элементе Label.
Проверить работу программы, верификация подписи должна быть успешной.
Создать подпись, после чего внести в текстовый файл какие-нибудь изменения и произвести верификацию. Верификация должна быть неуспешной.
Создать подпись, но при выборе файла секретного ключа указать имя не секретного, а открытого ключа. При этом должна выдаваться ошибка, т.к. создавать подпись можно только с помощью секретного ключа.
Текст программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.IO;
namespace Информационная_безопасноть__4
{
public partial class Form1 : Form
{
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(512);
public Form1()
{