Антивирусные программы

Автор: Пользователь скрыл имя, 13 Января 2012 в 01:55, лабораторная работа

Описание работы

Целью лабораторной работы является освоение программных продуктов AVP( «Антивирус Касперского »), Dr. Web, ADinf, а так же пополнение информации о существующих вирусах.

Работа содержит 1 файл

Методичка по ЗИ для ПИЭ.doc

— 259.50 Кб (Скачать)

•оператор умножения  вводится как звездочка, но представляется точкой в середине строки;

•оператор деления  вводится как косая черта, но заменяется горизонтальной чертой;

•оператор возведения в степень вводится знаком ", но число в степени представляется в обычном виде (степень как верхний индекс);

•по умолчанию  десятичные числа имеют представление с тремя знаками после разделительной точки;

•Mathcad понимает наиболее распространенные константы, например е — основание натурального логарифма (проверьте, что он поймет и pi или л). 

Задание для лабораторной  работы. 

Для нечетных номеров в списке преподавателя:

произвести расчет шаблона определенного интеграла  e^x при условии, что х изменяется от 0 до 1; найти решение уравнения ((x^3-4)/(x^2)=0) при помощи функций Given и Find.  

Для четных номеров  в списке преподавателя:

произвести символьное вычисление шаблона производной функции ((ln(x)+5*x)/(x^2)) ; произвести расчет корней полинома(3*х^3+2*X^2+6=0) при помощи функции polyroot.

Для открытия меню функций MathCad необходимо нажать на кнопку

или ввести название  функции вручную. 
 
 

Контрольные вопросы:

  1. Способ реализации диапазона дискретной величины в MathCad.
  2. Стандартные шаблоны для математического анализа MathCad.
  3. Способ получение ответа в виде числа с плавающей запятой, с требуемой точностью.
  4. Аппарат символьных вычислений в системе MathCad, упрощение и расширение математических выражений.
 
 

Содержание отчета.

1.Отчет должен  быть выполнен на бумаге формата  А4.

2.Отчет должен  содержать  краткую теорию  по теме работы.

3.Отчет должен  содержать текст программ MathCad с комментариями.

4.Отчет должен  содержать выводы о проделанной  лабораторной работе. 
 

Лабораторная  работа №3

Датчики случайных чисел. 

Цель  работы.

Изучение датчиков случайных чисел, математическая реализация простого датчика случайных чисел  в MathCad. 

Теоретическая часть.

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

В данной лабораторной работе необходимо ознакомиться с двумя датчиками случайных чисел, один из которых – встроенный датчик случайных чисел RND в системе MathCad, а второй датчик реализующий мультипликативный конгруэнтный датчик. 

Так называемый мультипликативный конгруэнтный датчик задается двумя параметрами: модулем m и множителем k. Обычно это достаточно большие целые числа.

При заданных m, k числа z1, z2, ..., вычиcляются по рекуррентной формуле:

Ai = (kAi -1) mod m, i = 1, 2,...,                     

zi = Ai / m,

где m - модуль, k - множитель, A0 - начальное значение, mod - операция вычисления остатка от деления kAi -1 на m.

Таким образом, A1 определяется как остаток от деления   kA0 на m; A2 - как остаток от деления kA1 на m и т.д. Поскольку все числа Ai - это остатки от деления на m, то 0 Ј  Ai < m. Разделив последнее неравенство на m, видим, что 0 Ј Ai / m< 1, т. е. 0 Ј zi <1.

Из неравенства 0 Ј Ai < m вытекает также, что датчик дает периодическую последовательность Ai. Действительно, число всех возможных остатков от 0 до m - 1 равно m и, рано или поздно, на каком-то шаге i обязательно появится значение Ai, уже встречавшееся ранее. С этого момента последовательность Ai “зациклится".

Длина периода T будет не больше m - 1. Например, если встретится остаток Ai= 0, то далее, согласно рекуррентной формуле , будет Ai+ 1 = 0, Ai+ 2 = 0, ... , т.е. длина периода T = 1. Ненулевых же остатков в интервале 0Ј Ai < m всего m - 1, и, если все они войдут в период, будет T = m - 1. Это имеет место, например, при m = 13, k = 7; в этом случае ряд Ai выглядит так:                         

1, 7, 10, 5, 9, 11, 12, 6, 3, 8, 4, 2,            1, 7,... . 
\_________________________/            

T = m - 1 = 12

Поскольку в  качестве случайной можно использовать лишь подпоследовательность Ai внутри одного периода, то параметры датчика  выбирают так, чтобы длина периода T была максимальной. С учетом ограничения TЈ m - 1 модуль m берут максимально возможным. Чтобы упростить вычисление остатков по (2.5), для двоичных ЭВМ часто берут m = 2n. Рекомендуется также брать достаточно большой множитель k, причем взаимно простой с m.

В [30] можно найти  подробные рекомендации по выбору параметров m, k и начального значения A0 . Заметим, однако, что в настоящее время  не известны правила, которые гарантировали  бы высокое качество датчика без  его специального статистического тестирования.

Датчик называют мультипликативно-конгруэнтным потому, что он использует две основные операции - умножение (англ. multiplication) и вычисление остатка (в теории чисел - получение  конгруэнтного числа). Можно было бы поэтому перевести его название и как "множительно-остатковый датчик".

Обратим внимание также и на то, что операция вычисления остатка воплощает здесь неймановский принцип вытаскивания цифр. Это становится очевидным, если записывать числа в  системе счисления с основанием m. Тогда операция X mod m означает выбор последней цифры из числа X. Для m = 2n операция X mod m означает также выделение последних n цифр из двоичной записи числа X. 

Функцию выполняющую  роль датчика случайных чисел  в системе MathCad, является функция rnd(x), где х максимальное значение случайного числа. Для получения характеристик гаммы так же понадобятся функции: mean(x), max(x), stdev(x), var(x), min(x).

 Для наглядной иллюстрации равномерности распределения, а так же гистограммы распределения необходимо применить графический аппарат MathCad.

В математической системе MathCad есть возможность построение 2х и 3х мерных графиков. 

 

Рис.1 Общий  вид графика функции

 

Рис.2 меню форматирования графика 

 

Рис.3 меню управления графиками функций

Задание для лабораторной  работы.

1)Используя датчик  случайных чисел системы MathCad, получить последовательность из 1000 чисел, в диапазоне от 0 до 10, и построить гистограмму распределения случайных чисел, при помощи встроенной функции hist(int,x).

2)Реализовать мультипликативный конгруэнтный датчик, выдающий последовательность случайных чисел, по заданному числу А, и фиксированных m=2^36, k=5^15, при условии, что случайные числа должны находится в диапазоне от 0 до 1. 
 

Контрольные вопросы. 

  1. назначение  функций: mean(x), max(x), stdev(x), var(x), min(x).
  2. способ получения псевдослучайных  чисел методом середины квадрата.
  3. Построение декартова графика в системе MathCad, форматирование графика, реализация нескольких графиков функций от одного аргумента на одном графике .
  4. Функции приближения и трассировки в графиках реализованных в системе MathCad.
 
 

Содержание  отчета.

1.Отчет должен  быть выполнен на бумаге формата  А4.

2.Отчет должен  содержать  краткую теорию  по теме работы.

3.Отчет должен  содержать текст программ MathCad с комментариями.

4.Отчет должен  содержать выводы о проделанной  лабораторной работе. 
 
 

Лабораторная  работа №4

Алгоритм  шифрования XOR. 
 

Цель  работы.

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

Теоретическая часть.

     XOR – это функция  булевой алгебры, носящей название «исключающее или», данная функция используется для работы с данными представленными в двоичной системе исчисления. Основным достоинством, позволяющим использовать эту функцию в шифровальных алгоритмах является ее обратимость, при отсутствии потери информации. 

     Эта функция как правило доступна в любом математической или программной  среде, позволяющей использовать данные в двоичной системе исчисления. В системе MathCad функция xor реализуется встроенной функцией xor(a,b), а в среде Delphi

операцией -  a xor b.

     Для работы с массивами в системе  MathCad необходимо использовать палитру векторов и матриц.

Рис. 1 Панель векторов и матриц

     Диапазон  чисел для задания циклов и диапазонов можно получить при помощи функции m..n в палитре вычислений.

Рис2. Палитра  вычислений.

 Матрицы задаются  через палитру векторов и матриц  функцией вектор и матрица,  а для ее создания необходимо  указать количество строк(rows) и столбцов(columns). Для извлечения чисел из массива необходимо воспользоваться функцией индекс(subscript) в палитре матриц и векторов.

 Для реализации  алгоритма XOR в среде Delphi необходимо использовать или массивы или строки. Массивы задаются в разделе объявления переменных(var)

в виде A: array[1...10] of char; но в данной работе можно воспользоваться свойствами строковых типов данных и вместо массивов использовать данные стокового

типа(s: string;). Для реализации данного алгоритма могут потребоваться функции преобразования типов данных chr(a:integer) и ord(с:char). При работе со строковыми типами данных может пригодится функция Length(s:string);.

 Поскольку  длина ключа, как правило меньше  длины сообщения, то для шифрования  всего сообщения длину ключа доводят до длины сообщения при помощи создания ключа  длиной равной длине текста путем составления строки или массива равной длине исходного текста и состоящей из повторяющейся строки ключа. Для реализации алгоритма такого растяжения ключа могут потребоваться функции div,For, If и while.

В случае использования  вместо ключа гаммы псевдослучайных  чисел, этой проблемы

не возникает  если использовать ограничивать количество получаемых элементов гаммы размерностью массива или длиной строки, но возникает  проблема согласования данных, которую можно решить путем изменения типа данных. 

Задание для лабораторной  работы. 

1) Реализовать алгоритм XOR шифрования в математической системе MathCad, исходным сообщением является одномерный массив с общим числом элементов 20, элементами массива являются  числа 0 и 1, ключ представляет собой одномерный массив из 5 элементов 0 и 1. Шифротекста представить виде  одномерного массива из 20 элементов результата каждый элемент которого является результатом операции XOR между элементом сообщения и элементом шифротекста.

2) Реализовать  алгоритм XOR шифрования в среде Delphi, при условии что: 
 

Для нечетных номеров  в списке преподавателя:

исходным сообщением является строка текста длиной 15-20 символов, а ключом строка текста из 7-10 символов, вводимых через компонент Edit, вывод шифротекста должен осуществляться в компонент Memo.  

Для четных номеров  в списке преподавателя:

исходным сообщением является строка текста длиной 15-20 символов, вводимая через компонент Edit а ключом гамма псевдослучайных чисел полученных при помощи мультипликативного конгруэнтного датчика при условии, что k=22 m=19, А0 – число в диапазоне от 1 до 5 вводимое через поле Edit,  вывод шифротекста должен осуществляться в компонент Memo. 

Контрольные вопросы.

  1. Булевы операции, их типы, условные обозначения и таблицы истинности.
  2. Особенности операции XOR. Алгоритмы использующие XOR.
  3. Назначение функций chr, ord, length, div.
  4. Способы задачи циклов и условий в среде Delphi(или Pascal).

Информация о работе Антивирусные программы