Главная страница
Навигация по странице:

  • Объекты CODEROUTR . FRM и значения их свойств

  • Исходный код CODEROUTR . FRM

  • Криптографическая защита информации. Ведение Криптографическая защита информации


    Скачать 0.84 Mb.
    НазваниеВедение Криптографическая защита информации
    АнкорКриптографическая защита информации
    Дата25.12.2021
    Размер0.84 Mb.
    Формат файлаdoc
    Имя файлаКриптографическая защита информации.doc
    ТипДокументы
    #317994
    страница1 из 6
      1   2   3   4   5   6

    Ведение

    1. Криптографическая защита информации


    Криптография – наука о защите информации от прочтения ее посторонними. Защита достигается шифрованием, т.е. преобразованием, делая труднораскрываемым по входным данным, без знания защищенных входных данных специальной ключевой информации – ключа. Под ключом понимается легко изменяемая часть криптосистемы, шифрованное преобразование, хранящаяся в тайне и определяющая возможные случаи. Криптографическими средствами защиты информации называются специальные методы и средства преобразования информации в результате, которых маскируется ее содержание. Желательно, чтобы методы шифрования обладали минимум двумя свойствами:

    • расшифровать законный получатель сможет, выполнив обратное преобразование сообщения;

    • восстановить по нему не сможет исходное сообщение криптоаналитик противника, перехвативший сообщение, которые сделают эту работу нецелесообразной.
    1. Примеры криптосистемы

      1. Шифрование методом маршрутной перестановкой

    Описание задачи


    Этот метод основан на некоторой геометрической фигуре. Отрезок открытого текста записывается в такую фигуру на некоторые траектории. Шифрованным текстом является полученной при выписывании текста другой траекторией.


    Пример. Зашифруем текст «Работать с датами и временем» методом «Маршрутная перестановка:


    Р

    А

    Б

    О

    Т

    А

    Т

    А

    Д

    С

    Ь

    Т

    А

    М

    И

    И

    В

    Р

    М

    Е

    Н

    Е

    М

    Е


    Получится следующий шифрованный текст:

    АТРЕ МВЬТ ОСИЕ НИДБ ААМЕ МАТР

    Описание логической структуры


    Для шифрования текста методом маршрутной перестановкой, выполним следующие действия:

    • Введем шифруемый текст;

    • Уберем пробелы в тексте и преобразуем строчные буквы в пропистные;

    • Вычисляем количество знаков в тексте;

    • Введем размер прямоугольника;

    • Разбиваем текст на двумерный массив;

    • Шифруем;

    • Выводим шифрованный текст.




    Объекты CODEROUTR.FRM и значения их свойств

    Тип и номер1

    Свойство

    Значение

    Form










    Name

    frmCodeRoutR




    BorderStyle

    4 – Fixed ToolWindows




    Caption

    Маршрутная перестановка




    MaxButton

    0 – False




    MDIChild

    -1 – True




    MinButton

    0 – False




    ShowInTaskbar

    0 – False

    Label







    1

    Name

    LabTitle




    Alignment

    2 – Center




    Caption

    МАРШРУТНАЯ ПЕРЕСТАНОВКА




    Font










    Underline

    -1 – True

    Label







    2

    Name

    Lab1




    Caption

    1. Введите шифруемый текс:




    Font










    Underline

    -1 – True

    TextBox







    3

    Name

    txtEntrance

    CommandButton







    4

    Name

    CmdNumОfMarks




    Caption

    Подсчет знаков

    Label







    5

    Name

    Lab2




    Caption

    2. Введите высоту и ширину прямоугольника:




    Font










    Underline

    -1 – True

    TextBox







    6

    Name

    txtHArray




    Alignment

    2 – Center

    Label







    7

    Name

    Lab3




    Alignment

    2 – Center




    Caption

    X

    TextBox







    8

    Name

    txtWArray




    Alignment

    2 – Center

    CommandButton







    9

    Name

    CmdCodeRoutR




    Caption

    Маршрутная перестановка

    TextBox







    10

    Name

    txtCodeRoutR

    1 Номер указанный в первой колонке, соответствует порядковому номеру объекта на форме (рис. )




    Исходный код CODEROUTR.FRM

    Option Explicit
    Private Sub CmdCodeRoutR_Click()

    'Описание переменных

    Dim TextWBlanks As String 'Текст без пробелов

    Dim MarksInText As Integer 'Число знаков в тексте

    Dim HArray As Integer 'Кол-во строк

    Dim WArray As Integer 'Кол-во столбцов

    Dim HWArray As Integer 'Произведение кол-ва строк на столбцы

    'Убираем пробелы в тексте

    преобразуем строчные буквы в прописные

    TextWBlanks = StrConv(Replace(txtEntrance.Text, " ", ""), vbUpperCase)

    'Вычисляем колличество знаков в тексте

    MarksInText = CInt(Len(TextWBlanks))

    HArray = CInt(txtHArray.Text)

    WArray = CInt(txtWArray.Text)

    'Прверка введенных размеров массива

    HWArray = HArray * WArray

    If HWArray <> MarksInText Then

    MsgBox "Не правильно ввели высоту и ширину прямоуголника"

    Exit Sub

    End If

    'Обращаемся к функции CodeRoutR

    txtCodeRoutR.Text = CodeRoutR(TextWBlanks, HArray, WArray)

    End Sub
    Private Sub CmdNumОfMarks_Click()

    'Описание переменных

    Dim TextWBlanks As String 'Текст без пробелов

    Dim MarksInText As String 'Чило знаков в тексте

    'Убираем пробелы в тексте

    TextWBlanks = Replace(txtEntrance.Text, " ", "")

    'Вычисляем колличество знаков в тексте

    MarksInText = Len(TextWBlanks)

    CmdNumОfMarks.Caption = "В тексте " & MarksInText & " знака(ов) без пробела"

    End Sub
    Function CodeRoutR(TextWBlanks As String, HArray As Integer, WArray As Integer)

    'Шифрование методом маршрутной перестановки

    Dim AuxArray() As String 'Вспомогательный ключ

    Dim TextInArray() As String 'Текст в массиве

    Dim Text As String 'Формирование шифрованного текста

    Dim x, e, w

    'Разбиваем текст на массив

    ReDim TextInArray(HArray, WArray)

    x = 1

    For e = 1 To HArray

    For w = 1 To WArray

    TextInArray(e, w) = Mid(TextWBlanks, x, 1)

    x = x + 1

    Next w

    Next e

    'Шифруем

    ReDim AuxArray(WArray)

    For e = 2 To HArray Step 2

    For w = 1 To WArray

    AuxArray(w) = TextInArray(e, w)

    Next w

    For w = 1 To WArray

    TextInArray(e, WArray + 1 - w) = AuxArray(w)

    Next w

    Next e

    ReDim AuxArray(HArray)

    For w = WArray - 1 To 1 Step -2

    For e = 1 To HArray

    AuxArray(e) = TextInArray(e, w)

    Next e

    For e = 1 To HArray

    TextInArray(HArray + 1 - e, w) = AuxArray(e)

    Next e

    Next w

    'Сосотавляем шифрованный текст

    Text = ""

    For w = WArray To 1 Step -1

    For e = 1 To HArray

    Text = Text & TextInArray(e, w)

    Next e

    Text = Text & " "

    Next w

    CodeRoutR = Text

    End Function

    В ходные и выходные данные


    Входными данными являются шифруемый текст и размер прямоугольника.

    Выходными данными являются количество знаков в тексте и шифрованный текст.


      1.   1   2   3   4   5   6


    написать администратору сайта