Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 1

Создать программное средство криптографической защиты данных

01.05.2017, 02:18. Показов 1994. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В среде программирования Visual Basic создайте программное средство криптографической защиты данных.
Программное средство предназначено для использования в качестве компонента специального программного обеспечения на машинах конечных пользователей.
Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов.
Разработанный программный компонент должен выполнять функции шифрования и расшифровки текста комбинацией двух разных из нижеуказанных методов.

Метод 1
Шифр Атбаш

Шифр Атбаш -шифр простой замены, использованный для еврейского алфавита и получивший оттуда свое название. Шифрование происходит заменой первой буквы алфавита на последнюю, второй на предпоследнюю. Знание шифра Атбаш приходит на помощь героям фильма Код да Винчи (фильм) — Роберту Лэнгдону, Софи Невё и Ли Тибингу, когда они берутся разгадать смысл стихотворной строки — «…атбаш правду высветит, как луч». По сюжету выясняется, что с помощью шифра Атбаш было зашифровано слово «Бафомет», помогающее отгадать слово «София». Это не случайно, поскольку героиню романа Дэна Брауна зовут Софи Невё.
Шифр Атбаш для английского алфавита:

Исходный алфавит: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Алфавит замены: Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

Метод 2
Шифрование методом гаммирования

Суть метода состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, называемой гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название "гаммирование".
Наложение гаммы можно осуществить несколькими способами, например по формуле
tш = tо XOR tг , где tш, tо, tг - ASCII коды соответственно зашифрованного символа, исходного символа и гаммы, XOR - побитовая операция "исключающее или".
Расшифрование текста проводится по той же формуле: tо = tш XOR tг .
Последовательность гаммы формировать с помощью линейного конгруэнтного генератора псевдослучайных чисел псевдослучайных чисел (ПСЧ).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2017, 02:18
Ответы с готовыми решениями:

Программное средство обработки данных по ос ANDROID
Здравствуйте! Помогите пожалуйста придумать тему по осисп . Программное средство обработки данных по ос ANDROID (курсовая )

Создать программное средство формирования карты размещения автомобильных дорог
Доброго всем времени суток, ребят помогите пожалуйста с программой для курсового проекта, задание такое :"создать программное средство...

Имитация и реализация элементов метода криптографической защиты информации
Разработайте программу, имитирующую реализацию элементов метода криптографической защиты информации в соответствии с ГОСТ 28147–89....

2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.05.2017, 19:24
Гаммирование
Как защитить EXE от исследования?
0
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
02.05.2017, 21:27
Тестовый образец, для небольших файлов работает. Код, наверное, лучше писать на С или Ассемблере

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Option Explicit
Dim dPRNG#
Private Function PRNGFor7Bit(Optional ByVal seed As Double, Optional _
    da As Double = 1664525, Optional dc As Double = 1013904223 _
    , Optional dm As Double = 4294967296#) As Long
    Dim d#
    If seed = 0 Then seed = dPRNG
    d = da * seed + dc
    dPRNG = d - Fix(d / dm) * dm
    PRNGFor7Bit = Fix(dPRNG / (dm - 1) * 127)
End Function
Sub Encrypt(sSourcefile As String)
    On Error GoTo OnErr
    Dim sEncryptedFile$
    Dim iInputFile&, iOutputFile&, i&
    Dim bSource() As Byte
    dPRNG = 10000
    If Dir(sSourcefile) = "" Then MsgBox sSourcefile & " not exists": Exit Sub
    i = InStrRev(sSourcefile, ".")
    sEncryptedFile = Left(sSourcefile, i - 1) & "_encrypted" & Right(sSourcefile, Len(sSourcefile) - i + 1)
    If Dir(sEncryptedFile) <> "" Then Kill sEncryptedFile
    iOutputFile = FreeFile
    Open sEncryptedFile For Binary As #iOutputFile
        iInputFile = FreeFile
        Open sSourcefile For Binary As #iInputFile
            ReDim bSource(1 To LOF(iInputFile))
            Get #iInputFile, , bSource
            For i = 1 To UBound(bSource)
                Select Case bSource(i)
                Case 97 To 122
                    bSource(i) = Atbash(bSource(i), 219)
                Case 65 To 90
                    bSource(i) = Atbash(bSource(i), 155)
                End Select
                bSource(i) = GammaXOR(bSource(i), PRNGFor7Bit)
            Next i
            Put #iOutputFile, , bSource
        Close #iInputFile
    Close #iOutputFile
    Exit Sub
OnErr:
    Close
    MsgBox "Error"
End Sub
Private Function Atbash(Char As Byte, Number As Byte) As Byte
    Atbash = Number - Char
End Function
Private Function GammaXOR(Char As Byte, Gamma As Long) As Byte
    GammaXOR = Char Xor Gamma
End Function
Sub Decrypt(sSourcefile As String)
    On Error GoTo OnErr
    Dim sDecryptedFile$
    Dim iInputFile&, iOutputFile&, i&
    Dim bSource() As Byte
    dPRNG = 10000
    If Dir(sSourcefile) = "" Then MsgBox sSourcefile & " not exists": Exit Sub
    i = InStrRev(sSourcefile, ".")
    sDecryptedFile = Left(sSourcefile, i - 1) & "_decrypted" & Right(sSourcefile, Len(sSourcefile) - i + 1)
    If Dir(sDecryptedFile) <> "" Then Kill sDecryptedFile
    iOutputFile = FreeFile
    Open sDecryptedFile For Binary As #iOutputFile
        iInputFile = FreeFile
        Open sSourcefile For Binary As #iInputFile
            ReDim bSource(1 To LOF(iInputFile))
            Get #iInputFile, , bSource
            For i = 1 To UBound(bSource)
                bSource(i) = GammaXOR(bSource(i), PRNGFor7Bit)
                Select Case bSource(i)
                Case 97 To 122
                    bSource(i) = Atbash(bSource(i), 219)
                Case 65 To 90
                    bSource(i) = Atbash(bSource(i), 155)
                End Select
            Next i
            Put #iOutputFile, , bSource
        Close #iInputFile
    Close #iOutputFile
    Exit Sub
OnErr:
    Close
    MsgBox "Error"
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.05.2017, 21:27
Помогаю со студенческими работами здесь

Шифрование. Разработайте модель криптографической защиты XML-файла
Здравствуйте! Требуется создать небольшую программу на языке C# на платформе VisualStudio. Программа нужна для лабораторной работы по...

Средство защиты
Здравствуйте , товарищи программисты ! нужна помощь , дело в том что у меня есть готовая программа , полностью написанная , но необходимо...

Программное средство построения и отображения генеалогического дерева
Помогите написать программу построения генеалогического дерева с использованием бинарных деревьев. 1. Формирование генеалогического...

Программное средство для обеспечения генеалогического дерева
Необходимо создать программу - язык не важен, но предпочтительно на java - что заполняет генеалогическое дерево в базу данных MySQL.

Программное средство для редактирования текстовых файлов
СРОЧНО ПОМОГИТЕ HELP Разработать приложение для обработки текста программы: 1) определить общее кол-во строк и символов отличных от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru