Разработка программного обеспечения для сокрытия информации в формат FictionBook2

Современные методы стеганографии и криптографии. Исследование тег гипертекствой разметки в файлах формата FictionBook2. Разработка метода и программы сокрытия данных в мультимедиа файл с использованием ключа пространственного распыление информации.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Поволжский государственный университет телекоммуникаций и информатики»

Факультет Информационных систем и технологий

Направление Информатика и вычислительная техника

Кафедра Информатики и вычислительной техники

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Разработка программного обеспечения для сокрытия информации в формат FictionBook2

Разработал В.Р. Чиндин

Самара 2017

Введение

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

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

Объектом исследования выпускной работы является защита информации.

Предметом исследования выпускной работы является скрытая передача при помощи внедрения в мультимедиа формат FB2.

Цель работы - разработка программного обеспечения по сокрытию информации в мультимедиа файл формата FictionBook2.

Задачами выпускной квалификационной работы являются:

1) Проанализировать современные способы сокрытия информации.

2) Исследовать современные методы помехоустойчивого кодирования на предмет применения стеганографических методов.

3) Разработать метод сокрытия информации использующий ключ и пространственное распыление информации.

4) Разработка программного обеспечения для скрытого внедрения информации.

Работа состоит из введения, трех разделов, заключения и списка использованных источников.

Представленная выпускная квалификационная работа посвящена решению задач разработки и исследованию новых методов скрытой передачи информации.

1. Общие сведения

Защита информации -- это деятельность по предотвращению хищения защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию.

Объект защиты -- информация, в любых её формах представления, которым необходимо обеспечивать защиту и сохранить целостность в соответствии с целью защиты информации. Цель защиты информации -- это желаемый результат защиты информации. Целью защиты информации может быть предотвращение любого ущерба собственнику, владельцу, пользователю информации в результате возможных посягательств на информацию и/или несанкционированного воздействия на неё.

Эффективность защиты информации -- степень соответствия результатов защиты информации поставленной цели. Защита информации от утечки -- деятельность по предотвращению неконтролируемого разглашения или несанкционированного доступа к защищаемой информации и получения защищаемой информации злоумышленниками.

Защита информации от разглашения -- деятельность по предотвращению несанкционированного доступа к информации до неконтролируемого количества получателей.

Стеганография.

Цифровая стеганография как наука родилась буквально в последние годы. И, по общему мнению, она включает в себя следующие направления:

1) встраивание информации с целью ее скрытой передачи;

2) встраивание цифровых водяных знаков;

3) встраивание идентификационных номеров;

4) встраивание заголовков.

В связи с бурным развитием технологий мультимедиа остро встал вопрос защиты авторских прав и интеллектуальной собственности, представленной в цифровом виде. Примерами могут являться фотографии, аудио и видеозаписи и т.д. Преимущества, которые дают представление и передача сообщений в цифровом виде, могут оказаться перечеркнутыми легкостью, с которой возможно их воровство или модификация. Поэтому разрабатываются различные меры защиты информации, организационного и технического характера. Один из наиболее эффективных технических средств защиты мультимедийной информации и заключается во встраивании в защищаемый объект невидимых меток -- цифровых водяных знаков.

Наиболее подходящими объектами защиты при помощи ЦВЗ являются неподвижные изображения, файлы аудио и видеоданных.

Технология встраивания идентификационных номеров производителей имеет много общего с технологией ЦВЗ. Отличие заключается в том, что в первом случае каждая защищенная копия имеет свой уникальный встраиваемый номер. Этот идентификационный номер позволяет производителю отслеживать дальнейшую судьбу своего детища: не занялся ли кто-нибудь из покупателей незаконным тиражированием. Если да, то номер быстро укажет на виновного.

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

На рис. 1.1 представлена схема различных подходов и методом реализации сокрытия информации с использование стеганографии.

Области применения стеганографии:

1) Защита от копирования. Электронная коммерция, контроль за копированием (DVD), распространение мультимедийной информации;

2) Скрытая аннотация документов. Медицинские снимки, картография, мультимедийные базы данных;

3) Аутентификация. Системы видеонаблюдения, электронной коммерции, голосовой почты, электронное конфиденциальное делопроизводство;

4) Скрытая связь. Военные и разведывательные приложения, а также применение в случаях, когда криптографию использовать нельзя.

Рис. 1.1 - Сокрытие информации с использование стеганографии

Криптография изучает методы преобразования информации, обеспечивающие ее конфиденциальность и аутентичность.

Под конфиденциальностью понимают невозможность получения информации из преобразованного массива без знания дополнительной информации (ключа). Аутентичность информации состоит в подлинности авторства и целостности.

Криптоанализ объединяет математические методы нарушения конфиденциальности и аутентичности информации без знания ключей.

Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была своеобразной криптографической системой, так как в древних обществах ею владели только избранные. Священные книги древнего Египта, древней Индии тому примеры.

Историю криптографии условно можно разделить на четыре этапа.

1) Наивная криптография.

2) Формальная криптография.

3) Научная криптография.

4) Компьютерная криптография.

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

Этап формальной криптографии связан с появлением формализованных и относительно стойких к ручному криптоанализу шифров. В европейских странах это произошло в эпоху Возрождения, когда развитие науки и торговли вызвало спрос на надежные способы защиты информации. Важная роль на этом этапе принадлежит Леону Батисте Альберти, итальянскому архитектору, который одним из первых предложил многоалфавитную подстановку. Данный шифр, получивший имя дипломата XVI века Блеза Вижинера, состоял в последовательном "сложении" букв исходного текста с ключом (процедуру можно облегчить с помощью специальной таблицы). Его работа "Трактат о шифре" (1466) считается первой научной работой по криптологии.

Главная отличительная черта научной криптографии - появление криптосистем со строгим математическим обоснованием криптостойкости. К началу 30-х годов окончательно сформировались разделы математики, являющиеся научной основой криптологии: теория вероятностей и математическая статистика, общая алгебра, теория чисел, начали активно развиваться теория алгоритмов, теория информации, кибернетика. Своеобразным водоразделом стала работа Клода Шеннона "Теория связи в секретных системах" (1949), где сформулированы теоретические принципы криптографической защиты информации. Шеннон ввел понятия "рассеивание" и "перемешивание", обосновал возможность создания сколь угодно стойких криптосистем.

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

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

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

В 80-90-е годы появились совершенно новые направления криптографии: вероятностное шифрование, квантовая криптография и другие. Осознание их практической ценности еще впереди. Актуальной остается и задача совершенствования симметричных криптосистем. В 80-90-х годах были разработаны нефейстеловские шифры (SAFER, RC6 и др.), а в 2000 году после открытого международного конкурса был принят новый национальный стандарт шифрования США - AES. [ 10 ]

Авторское право

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

Нормы и принципы авторского права

Как и всякий другой правовой институт, авторское право имеет принципы.

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

Принцип сочетания личных интересов с интересами всего общества.

Принцип моральной и материальной заинтересованности в использовании произведений. Материальное поощрение: государственные и именные премии.

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

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

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

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

Субъектами авторского права являются лица, которым принадлежит субъективное авторское право в отношении произведения. Обладателями субъективного авторского права могут быть российские граждане, иностранцы, лица без гражданства, их наследники и иные правопреемники. Право на произведение для каждой категории субъектов возникает в связи с различными юридическими фактами -- созданием произведения, переходом авторских прав по наследству, авторскому договору и т.д.

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

Авторские права настолько взаимосвязаны, что выделить среди них права чисто имущественного или неимущественного характера довольно трудно.

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

Одним из главных личных неимущественных прав, возникающих в связи с созданием произведения, является право авторства. Этим обозначениям отмечаются правомочия автора, связанные с возможностью именовать себя автором произведения, а все другие лица при использовании произведения (например, цитировании, включении отрывков из него в сборники или хрестоматии) обязаны ссылаться на автора. Опираясь на это право, автор требует защиты своих интересов в случае присвоения авторства другим лицом (плагиат).

Защита авторских и смежных прав

Защита авторских прав, как и защита смежных, патентных и других правинтеллектуальной собственностиобеспечивается предусмотренными законодательством способамис учетом существа нарушенного права и последствий нарушения этого права» (пункт 1 статьи 150 ГК РФ).

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

Для доказывания наличия нарушения исключительного права на произведение необходимо и достаточно одновременное наличие двух обстоятельств:

1) факта использования произведения каким-либо способом;

2) отсутствия у лица, осуществляющего использование произведения, договора с правообладателем.

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

За различные случаи нарушений авторских прав законодательством установлена ответственность:

· гражданско-правовая

· административная

· уголовная

Защита прав в Интернете

Если говорить кратко, она проходит в восемь шагов.

Шаг первый. Поставь знак Копирайт ©

Знак Копирайт, это первая защита прав в Интернете и своего рода предупреждение всем: у произведения есть хозяин, коммерческое использование без разрешения собственника - автора или правообладателя запрещено.

Шаг второй. Защита торговой марки на название сайта

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

Шаг третий. Регистрация авторских прав на контент, тексты и изображения

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

Шаг четвертый. Регистрация оригинальной программы или базы данных

Если создатель компьютерной программы или базы данных желает, помимо морального удовлетворения от своего авторства, получать материальную выгоду, ему без государственной регистрации его прав в Роспатенте не обойтись. Такая регистрация и есть первая защита авторских прав в Интернете программиста или фирмы-правообладателя на компьютерную программу или оригинальную базу данных.

Шаг пятый. Регистрация имени, названия сайта или домена в качестве СМИ

Дополнительная зашита авторских прав тоже «выдается» вам вместе со Свидетельством о регистрации СМИ и никто не имеет права использовать вашу информацию без ссылок на источник.

Шаг шестой. Заключить лицензионный договор с автором контента сайта

Лицензионный договор с автором или несколькими авторами контента это хорошая защита прав и вас самих от недобросовестных исполнителей. Вы становитесь правообладателем.

Шаг седьмой. Сообщение о правилах использования контента сайта

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

Шаг восьмой. Лицензионное соглашение с пользователем

В таких соглашениях оговаривается порядок пользования лицензиатом контента демо-версий скачиваемых файлов и все, что касается защиты прав интеллектуальной собственности. [ 11 ]

Электронная подпись

Электронная подпись (ЭП) - это особый реквизит документа, который позволяет установить отсутствие искажения информации в электронном документе с момента формирования ЭП и подтвердить принадлежность ЭП владельцу. Значение реквизита получается в результате криптографического преобразования информации.

Сертификат электронной подписи - документ, который подтверждает принадлежность открытого ключа (ключа проверки) ЭП владельцу сертификата. Выдаются сертификаты удостоверяющими центрами (УЦ) или их доверенными представителями.

Владелец сертификата ЭП - физическое лицо, на чье имя выдан сертификат ЭП в удостоверяющем центре. У каждого владельца сертификата на руках два ключа ЭП: закрытый и открытый.

Закрытый ключ электронной подписи (ключ ЭП) позволяет генерировать электронную подпись и подписывать электронный документ. Владелец сертификат обязан в тайне хранить свой закрытый ключ.

Открытый ключ электронной подписи (ключ проверки ЭП) однозначно связан с закрытым ключом ЭП и предназначен для проверки подлинности ЭП.

Согласно Федеральному закону №63-ФЗ «Об электронной подписи», имеет место деление на:

· простую электронную подпись;

· усиленную неквалифицированную электронную подпись;

· усиленную квалифицированную электронную подпись.

Простая электронная подпись посредством использования кодов, паролей или иных средств подтверждает факт формирования ЭП определенным лицом.

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

Усиленная квалифицированная электронная подпись соответствует всем признакам неквалифицированной электронной подписи, но для создания и проверки ЭП используются средства криптозащиты, которые сертифицированы ФСБ РФ.

Усиленная квалифицированная подпись на электронном документе является аналогом собственноручной подписи и печати на бумажном документе.

1.1 Среда разработки Visual Studio

Среда разработки Visual Studio представляет собой полный набор средств разработки для создания веб-приложений ASP.NET, XML (веб-службы), настольных приложений и мобильных приложений. Visual Basic, Visual C# и Visual C++ используют единую интегрированную среду разработки (IDE), которая позволяет совместно использовать средства и упрощает создание решений на базе нескольких языков. Кроме того, в этих языках используются функциональные возможности платформы .NET Framework, которая позволяет получить доступ к ключевым технологиям, упрощающим разработку веб-приложений ASP и XML (веб-службы).

Данный продукт поставляется с конструкторами графических пользовательских интерфейсов, с возможностями работы с базами данных, с поддержкой фрагментов кода, с возможностями для просмотра всего проекта в целом, с просмотром свойств объектов. Данные возможности есть во многих IDE-средах, но в Visual Studio есть дополнительные [ 12 ]:

1) возможность разработки приложений для мобильных устройств Windows (Windows Phone),

2) возможность разработки приложений для Microsoft Office,

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

4) инструменты визуального конструирование классов,

5) технологии WCF, WPF, ASP.NET

1.2 Объектно-ориентированное программирование в Visual Studio

Начало работы в среде MS VS .NET для начинающих программистов при разработке первых простых программ наталкивается на определенные логические трудности. Языки программирования платформы MS.NET являются, как правило, объектно- ориентированными, а освоение ООП все-таки целесообразно проводить только после получения некоторого практического опыта разработки алгоритмов и их реализации в виде сравнительно простых программ. Именно на эту начальную стадию изучения программирования и ориентирован данный учебный материал. Как результат, далее будет дана очень краткая характеристика основных понятий объектно-ориентированного программирования, а разработка программа в среде MS V S.NET будет показываться на примере конкретных практических действий: ? Как добавить программный код в метод существующего класса (первый вариант программы сортировки); ? Как добавить новый метод в существующий класс программы (второй вариант программы сортировки); ? Как добавить описание данных в существующий класс программы (полный вариант программы сортировки). Данных сведений будет достаточно для разработки простых программ в среде MS VS .NET даже без предварительного изучения ООП. Опыт разработки алгоритмов для решения учебных задач даст реальную основу для перехода к успешному освоению объектно-ориентированного программирования. Итак, дадим краткую характеристику основных понятий объектно-ориентированного программирования (ООП). В ООП все данные (переменные) и обрабатывающие их процедуры и функции объединяются в классы. Переменные класса называются полями, а функции и процедуры - методами класса. Перед использованием класса необходимо дать его описание. По описанию класса можно создать его реализацию - объект (иногда еще 4 говорят - экземпляр класса), в котором для входящих в класс полей будет выделена память. В этой памяти можно будет хранить значения полей объекта и выполнять их обработку. По описанию класса можно создавать любое необходимое количество объектов.

Следует отметить, что метод Main в классах на языке C# имеет особое значение - именно с этого метода начинается выполнение программы (как результат, в программе метод Main должен присутствовать хотя бы в одном классе). Кроме того, метод Main не использует значения полей объектов (на это указывает ключевое слово static в описании метода) и, как результат, такой метод может быть вызван по имени класса. Программный код метода Main обеспечивает выполнение: ? Создание массива Data и его инициализацию при помощи списка начальных значений; ? Сортировку значений массива Data, которая выполняется методом Sort класса Array; класс Array является базовым и используется при создании массивов; следует обратить внимание, что вызов метода класса осуществляется указанием имени класса, разделителя "." (точки) и затем имени метода; такой вызов возможен только для методов, описанных с ключевым словом static (как метод Main); в общем же случае вместо имени класса должно указываться имя объекта;

Вывод на экран значений упорядоченного массива; в соответствии с только что приведенными пояснениями можно понять, что вывод осуществляется методом WriteLine класса Console и этот метод также описан с ключевым словом static; класс Console 5 отвечает за организацию ввод данных с клавиатуры и вывод информации на экран дисплея в текстовом режиме работы. Следует также обратить внимание, что при выводе значений массива используется поле данных Length объекта Data. В этом поле хранится количество элементов массива; обращение к полю объекта осуществляется также как к методу объекта, т.е. необходимо указать имя объекта, затем поставить разделитель "." (точку) и далее привести имя требуемого поля [ 13 ].

1.3 Разработка программ в среде MS VS .NET

Рассмотрим основные понятия и последовательность действий, необходимых для разработки простой программы в среде MS VS .NET. необходимых для построения программы файлов.

Близкие по назначению проекты могут объединяться в наборы проектов - решения (solutions). Как результат, при начале разработки программы необходимо создать проект, размещаемый в создаваемое по умолчанию решение. Общий вид среды разработки MS VS.NET после начала работы (см. рис. 1.2).

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

Рис. 1.2 - Интерфейс Visual Studio

1) Запустите MS VS .NET (это действие может зависеть от настройки параметров системы - в большинстве случаев, для этого необходимо выбрать пункт Все программы после нажатия кнопки Пуск и выполнить команду Microsoft Visual Studio .NET 2003.

2) Для создания нового проекта в диалоговом окне Начальная страница (Start Page) необходимо нажать кнопку New Project. В появившемся диалоговом окне New Project нужно выполнить следующие действия:

В поле Name задать имя создаваемого проекта (например, FirstApplication),

В поле Location установить папку для размещения файлов проекта (например, C:\Visual Studio Projects\FirstApp),

В области Project Types выбрать вариант Visual C# Projects,

В области Templates выбрать вариант Console Application. По завершении всех перечисленных действий необходимо нажать кнопку OK (см. рис. 1.3).

Рис. 1.3 - Выбор проекта

Следует отметить, что в рассматриваемом примере для размещения создаваемых проектов используется папка Visual Studio Projects на диске C:. Понятно, что программист может выбирать и другое месторасположение проектов; в качестве рекомендации можно посоветовать использовать некоторый другой рабочий диск (C: обычно является системным для операционной системы Windows). [9]

1.4 Общая характеристика среды разработки

Общий вид окна среды разработки MS VS.NET после создания проекта показан на рис 1.4.

Как и другие окна ОС Windows, окно среды разработки содержит строку заголовка, меню и панели инструментов. В рабочей области среды разработки содержится окно редактора (см. рис. 1.3) для ввода программного кода, окно Обозревателя решений и проектов (Solution Explorer) и окно Обозревателя свойств (Properties) текущего (выбранного) объекта.

Рис. 1.4 - Общий вид среды разработки

Основным для начальной работы в среде разработки MS VS .NET является редактор программного кода. Редактор MS VS .NET обеспечивает все стандартные действия, которые доступны для любого другого редактора (набор программного кода, редактирование, копирование, вставка, поиск и т.д.) и, кроме того, обладает большим набором дополнительных возможностей, значительно помогающих разработчикам создавать большие и сложные программные системы. Ориентируясь на начальное знакомство со средой разработки, рассмотрим несколько полезных свойств редактора кода, которые могут оказать заметное практическое содействие программисту при подготовке даже самых простых программ.

Редактор программного кода поддерживает оперативную (в процессе ввода текста) проверку правильности ввода программы - ключевые слова алгоритмического языка опознаются и выделяются (обычно синим) цветом. При этом, если использование ключевых слов происходит неправильно (не соответствует синтаксическим правилам языка программирования) данное ключевое слово будет подчеркиваться красной волнистой линией. Как результат, при наборе программного кода следует внимательно следить за цветовой окраской ключевых слов и выделением синтаксически неправильных конструкций программного кода.

Для получения справочной информации нужно установить текстовый курсор на элемент программы, для которого необходимо наличие справки, и нажать клавишу F1 (следует отметить, что справка будет выдана на английском языке; кроме того, получение справки возможно только в случае, если на компьютере установлена справочная служба MSDN Library - данная служба поставляется при приобретении MS VS .NET). Как правило, получаемая информация содержит всю необходимую для программиста информацию, обеспечивая, тем самым, действенную помощь при разработке программ. В большинстве случаев, справочная информация дополнена примерами практически использования рассматриваемых элементов.

Для оказания максимального содействия программисту для быстрого и безошибочного набора программного кода в редакторе среды MS VS.NET имеется специальная служба IntelliSense, которая обеспечивает:

Отображение списка методов и полей для классов, структур, пространства имен и других элементов кода (вывод списка осуществляется автоматически после ввода имени и последующего за ним одного из разделителей "." (точка), "->" или "::"; выбор нужного варианта может быть выполнен, например, при помощи двойного щелчка мыши на требуемой строке списка или при помощи последовательного нажатия клавиш и );

Отображение информации о параметрах для методов и функций - вывод данной информации также осуществляется автоматически после ввода имени метода или функции;

Отображение краткого описания элементов кода программы (вывод описания происходит при наведении указателя мыши на нужный элемент кода);

Завершение слов при наборе наименований команд и имен функций (для использования этой возможности следует набрать несколько первых символов вводимого имени и нажать одновременно клавиши и «Ctrl» и «Пробел» , выбор нужного варианта, как и ранее, производится при помощи двойного щелчка мыши или клавиш «Tab» и «Enter» )

Рис. 1.5 - Пример работы с кодом в Visual Studio

Автоматическое сопоставление правильности расстановки скобок (набираемые скобки }, ], ), #endif выделяются более темным цветом вместе с соответствующей открывающейся скобкой).

Следует отметить, что служба IntelliSense может быть отключена при соответствующей настройки параметров среды MS VS.NET.

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

Для выполнения программы, подготовленной на алгоритмическом языке, необходимо осуществить достаточно длинную цепочку технологических действий - программу нужно откомпилировать и убедиться, что в ней отсутствуют синтаксические ошибки, далее программу надо собрать ("слинковать") вместе со всеми используемыми служебными модулями - в результате в рамках платформы MS .NET получается готовая к исполнению сборка (assembly) на промежуточном языке (Microsoft Intermediate Language, MSIL или просто IL). При запуске на выполнение сборка должна быть переведена с промежуточного языка в исполняемую программу в командах компьютера, на котором будет работать сборка - реализацию данного шага выполняют JIT-компиляторы общей среды выполнения (Common Language Runtime, CLR) платформы MS .NET (англ. JIT - Just In Time - в нужный момент). Более подробно данная информация рассмотрена в главе Введение в технологию Microsoft .NET.

Построение сборки (команда Build пункта меню Build) и запуск ее на выполнение (команда Start пункта меню Debug) могут быть выполнены раздельно, однако достаточным является и применение одной команды Start, т.к. при выполнении этой команды проверяется соответствие имеющейся сборки и программного кода в редакторе и, если после времени построения последнего варианта сборки в программном коде были поведены какие-либо изменения, то автоматически будет вызван JIT-компилятор и сформирован новый вариант сборки. Выполнение команды Start, как можно увидеть в пункте меню, можно обеспечить и простым нажатием клавиши F5. При запуске на выполнение подготовленной на предшествующих шагах программы могут возникнуть две различные ситуации:

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

В этом случае при переходе на вызов метода ReadLine выполнение программы будет приостановлено и мы получим возможность рассмотрения результатов вывода программы (см. рис. 1.6).

Рис. 1.6 - Пример консольного вывода

Достаточно нажать клавишу Enter (отметим еще раз, что метод ввода ReadLine используется в данном примере только для организации приостановки окна вывода, а не для реального ввода данных) (Рис. 1.6). Окно вывода результатов программы ? Другая ситуация возникает при обнаружении ошибок при построении сборки - в этом случае, естественно, выполнение сборки невозможно и для ее подготовки необходимо найти и исправить все имеющие ошибки в программном коде программы.

Сообщение об ошибке можно выделить и, нажав клавишу F1, получить справочную информацию по допущенной ошибке. Нажав клавишу Enter (или выполнив двойной щелчок мыши) можно перейти в окно редактора на строчку с оператором, в котором была обнаружена ошибка.

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

Так, например, если в нашей правильной программе в методе Main удалить открывающую фигурную скобку, то в окне Task List будет выведено 13 сообщений об ошибках.

1.5 Тестирование и отладка программ

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

После подготовки программы и исправления синтаксических ошибок (что после небольшого периода практических занятий выполняется достаточно быстро) наступает этап тестирования. Под тестовым заданием (или просто тестом) обычно понимается набор исходных данных, при использовании которых в программе должны получиться заранее определенные результаты. Проблеме тестирования посвящено достаточно большое количество работ (см., например, [7, 8]), здесь же отметим ряд основных принципов тестирования:

1. Тесты должны подготавливаться на начальных этапах разработки программ (в идеальном случае, на этапе постановки задачи),

2. Успешность выполнения теста (т.е. когда результаты выполнения программы совпадают с прогнозируемыми) не являются доказательством правильности программы, т.к. тест проверяет только вполне конкретные условия работы программы; полное (исчерпывающее) тестирование обычно нереализуемо из-за практически неограниченного множества различных вариантов исходных данных - с другой стороны, хорошо 17 подготовленный комплект тестов может проверить основные режимы работы программы и выявить большинство имеющихся ошибок в программе,

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

4. Тест должен быть достаточно небольшим (по объему исходных данных), быстро выполняемым и желательно должен иметь значения не только результирующих, но и промежуточных данных,

5. Тест желательно должен иметь средства автоматической проверки результатов выполнения (как, например, в учебном примере результаты алгоритма пузырьковой сортировки можно было сравнить с результатами метода стандартной сортировки).

Итак, признаком наличия ошибки в программе является неправильное выполнение теста (во время теста выполнение программы завершается аварийно или результаты выполнения программы не совпадают с прогнозируемыми результатами теста). Процесс выявления причин обнаруженной ошибки, определение места (локализация) ошибки в программе и исправление ошибочно реализованного программного кода обычно называется отладкой. Как правило, при отладке существует некоторая предварительная стадия, во время которой программист выдвигает те или иные предложения о причинах ошибочной работы и проводит визуальный анализ (инспекцию) программного кода - к сожалению, данной формой отладки многие программисты пренебрегают, хотя эффективность такого способа отладки является достаточно высокой. Если при инспекции кода выявить ошибки не удается, далее наступает основной способ отладки - отладочное выполнение программы (или трассировка), в ходе которого работа программы может быть приостановлена для просмотра значений тех или иных переменных программы с целью обнаружения ситуаций, когда эти значения не соответствуют предполагаемых. Тем самым, задача трассировки - обнаружения информационных признаков проявления ошибки. Рассмотрим далее возможности среды MS VS .NET для обеспечения трассировки программ при поиске и исправления ошибок.

Для выполнения программы в пошаговом режиме (в режиме трассировки) используются четыре команды, которые доступны из меню Debug, панели инструментов Debug и клавиш быстрого вызова:

Команда Step Info (клавиша F11) обеспечивает последовательное, строка за строкой, выполнение программного кода программы (включая содержимое вызываемых методов), ? Команда Step Over (клавиша F10) обеспечивает, как и предшествующая команда Step Info, последовательное выполнение программы, но при этом вызов методов рассматривается как один неделимый шаг (т.е. без перехода внутрь вызываемых методов), ? Команда Step Out (клавиша Shift+F11) обеспечивает выполнение всех оставшихся строк программного кода текущего выполняемого метода без останова, позволяя выполнить быстрый переход в последнюю точку вызова,

Команда Run to Cursor (клавиша Ctrl+F10) обеспечивает выполнение без останова программного кода между текущей строки останова и позицией курсора (в зависимости от настроек параметров среды MS VS .NET данная команда может отсутствовать в пункте меню Debug).

Удобным средством указания точек останова процесса выполнения программы является использование контрольных точек (breakpoints). Для определения контрольной точки необходимо щелкнуть мышкой на вертикальной полосе слева от нужной строки программного кода; повторный щелчок отменяет установки контрольной точки. В ходе выполнения программы при попадании на контрольную точку происходит останов; для продолжения работы необходимо выполнить команду Continue пункта меню Debug.

Для наблюдения значений переменных в момент останова выполнения программы достаточно расположить указатель мыши на имени переменной - в результате значение переменной появится в виде всплывающей подсказки (пример высветки значения переменной показан на рис. 1.8). Дополнительная возможность для наблюдения значений переменных состоит в использовании специальных окон наблюдения:

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

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

Окна Watch (таких окон в момент выполнения 4) отличаются тем, что состав отображаемых в них переменных может формироваться непосредственно программистом. Для высветки нужного окна нужно последовательно выполнить команды Debug\Windows\Watch\Watch , где N есть номер высвечиваемого окна. Для добавления переменной в окно для наблюдения нужно указать мышкой необходимую переменную, нажать правую кнопку мыши и появившемся контекстном меню выполнить команду Add Watch (такая же команда может иметься в пункте меню Debug, ее наличие в меню зависит от настроек параметров среды MS VS .NET). Удобный способ добавления переменных в окна наблюдения состоит в использовании техники "Взять и перенести" (выделить имя переменной, нажать левую кнопку мыши и, не отпуская ее, переместить указатель мыши в окно наблюдения, после чего отпустить конку мыши). Для удаления переменных из окна наблюдения достаточно выделить соответствующую строку и нажать клавишу ;

Близким по назначению к окнам Watch является окно Quick Watch, которое дополнительно позволяет изменять значения наблюдаемых переменных; для высветки окна необходимо выделить нужную переменную и выполнить команду Quick Watch пункта меню Debug. 20 Кроме перечисленных окон, может быть использовано окно this для наблюдения за значениями полей объекта, метод которого выполняется в текущий момент времени, а также окно Call Stack, в котором отображается последовательность вызова методов, приведшая к обращению к текущему исполняемому методу.

Перечисленных набор средств среды разработки MS VS .NET достаточно для организации быстрой и эффективной отладки. Для успешного освоения этих средств необходима понимание принципов отладки и практика по их использованию для поиска и исправления ошибок при разработке достаточно сложных программ.

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

Можно попытаться проверить, наблюдается ли ошибочный эффект при меньшем размере сортируемого набора данных (меньший объем информации упростит проведение трассировки программы); установим для этого значения константы N=3 и повторим выполнение программы - массив по-прежнему остается неотсортированным;

Попытаемся определить причину ошибки - проблема может состоять или в неправильной работе алгоритма сортировки или ошибочными являются операторы вывода значений массива; однако вывод результатов стандартной сортировки сработал правильно и, кроме того, автоматическая проверка результатов сортировки тоже подтвердила, что результат пузырьковой сортировки является неправильным; как результат, можно сделать вывод, что ошибки содержатся в методе пузырьковой сортировки BubbleSort;

Установим контрольную точку на внутреннем операторе цикла в методе BubbleSort и запустим программу на выполнение; после останова добавим массив Vals в окно наблюдения Watch 1 и запомним исходное значение сортируемого массива;

Выполнение внешней итерации алгоритма пузырьковой сортировки должно привести к "всплыванию" максимального значения в последний элемент массива; выполним команду Continue пункта меню Debug - результат выполнения не привел к желаемому эффекту, состояние сортируемого массива не изменилось и, как результат, можно сделать вывод, что внешняя итерация алгоритма сортировки работает неправильно;

Поскольку сортируемый массив состоит только из трех элементов, следующая итерация алгоритма сортировки должна оказаться последней; в ходе ее выполнения значения двух первых элементов должно поменяться местами выполним трассировку - нажмем дважды клавишу F10 и перейдем на операторы перестановки значений, т.е. сравнение пары значений выполняется корректно; однако последующее выполнение операторов перестановки не приводит к нужному результату (значения не перестанавливаются) - отсюда следует, что ошибка содержится в алгоритме перестановки пары значений; анализ данного участка программного кода позволяет определить, что индекс элемента массива в последнем операторе должен быть j+1; для исправления ошибки вносим необходимые изменения, выполняем программу и достигаем требуемого результата - программа начинает работать правильно. [9]

2. Формат FictionBook2

2.1 Описание формата

FictionBook основан на XML стандарте от W3C. FictionBook документы являются XML документами, соответствующими схеме FictionBook стандарту. Разработчиком данного формата является Дмитрий Грибов.

ФорматFictionBook- этоxml формат хранения книг, где каждый элемент книги описывается своими тегами.

Главная цель хранения книг в формате FictionBook - четкое хранение структуры книги с возможностью без труда сконвертировать (в том числе и автоматизированно) файл формата FictionBook в другие популярные форматы: txt, doc, rtf, html и пр. Кроме того многие программы чтения книг позволяют читать книги в формате FictionBook без конвертации.

Все это служит удобству чтения.

Общая структура документа проста и похожа на структуру HTML. Однако суть состоит в том, чтобы спроектировать основанный на XML документ, который фокусируется на логической структуре документа, а не на особенностях визуального представления информации. Важная особенность структурной разметки состоит в том, что она явным образом определяет структуру и семантику материала документа. Она не определяет способы отображения документа при просмотре, печати или как-либо иначе Единственный способ повлиять на процесс формирования изображения, с помощью стилей параграфов и символьных строк. Для этого представлены некоторые специальные элементы для различных логических частей книги, таких как: стихи, цитаты и эпиграфы.

Стандарт призван обеспечить максимум совместимости и управляемости для свободно распостраняемых электронных книг. Т.е. : в Сети существует много электронных библиотек, но плохая новость заключается в том, что книги там хранятся в различных и, почти всегда, однобоких форматах. Некоторые библиотеки, зачастую известные и популярные, хранят книги в формате TXT, в других местах можно найти документы MS Word, различные форматы для мобильных компьютеров и т.п. Про коммерческие библиотеки и говорить не приходится.

Основная проблема в том, что существующие текстыне универсальны. Какой-нибудь текст из таких библиотек, описанных выше, хорошо читается в текстовом режиме экрана, очень неплохо можно читать его и с помощью некоторых программ-читалок в среде Windows. Но попытка прочесть этот же текст на мобильном устройстве с не высокой шириной экрана приведет к печальным результатам. Аналогично неудобно чтение файлов, созданных для мобильных устройств, на стандартном экране. Видеть на экране 1600x1200 окошко 300x600 пикселей несколько неожиданно. В этом даже средство прочтения от Microsoft (необходимая для чтения файлов *.lit) во многом уступает самым незатейливым программным продуктам любителей.

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

Поэтому задача формата FB2 состоит в созданиикачественного и доступного контента.

2.2 Общая структура документа

FB2-документ состоит из объявления XML и корневого элемента <FictionBook>. То есть выглядит это так:

<?xml version="1.0" encoding="windows-1251"?>

<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"

xmlns:l="http://www.w3.org/1999/xlink">

</FictionBook>

Как видно, в первой строке в значении атрибута encoding надо правильно указать кодировку документа. В приведенном примере это windows-1251, а в другом случае могла бы быть и utf-8. utf-8 также является кодировкой по умолчанию, использующейся в случае отсутствия атрибута encoding или всего XML-объявления.

Ниже указано, какая кодировка каким языкам соответствует:

- windows-1251 - английский и кириллица (русский, болгарский и т.д.)

- windows-1252 - западно-европейские языки (английский, французский, испанский и т.д.)

- windows-1250 - английский и восточно-европейские (польский, чешский и т.д.)

Раздел FictionBook

Этот раздел начинается сразу за первой строкой и открывается таким образом:

<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"

xmlns:l="http://www.w3.org/1999/xlink">

А закрывается в самом конце FB2-документа.

Вxmlns:l вместо l может быть написано и другое имя, главное, чтобы потом оно использовалось в ссылках по всему документу.

Раздел FictionBook состоит из вложенных подразделов в указанном ниже порядке:

1) <description>- который описывает заголовок документа. Одно и только одно вхождение.(фразы вроде "одно и только одно вхождение" говорят, сколько раз подряд может идти данный тэг в данном месте документа)

2) <body>- описывает тело документа. Одно или более вхождений.

3) <binary>- содержит приложенные к файлу двоичные объекты - картинки и прочее. Любое число вхождений.

Иными словами, присутствуют как минимум разделы<description>с<body>, а остальное - по необходимости.

Пример:

<?xml version="1.0" encoding="windows-1251"?>

<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0"

xmlns:l="http://www.w3.org/1999/xlink">

<description>

...

</description>

<body>

...

</body>

<body name="notes">

...

</body>

<binary id="cover.jpg" content-type="image/jpeg">/9j/

4AAQSkZJRgABAgAAZABkAAD/

...

</binary>

</FictionBook>

Поля раздела description

Раздел<description>состоит из перечисленных ниже частей в указанном порядке:

1) <title-info>- данные о книге.Одно и только одно вхождение.

2) <src-title-info>- данные об исходнике книги (до перевода).От нуля до одного вхождений.

3) <document-info>- информация об FB2-документе.Одно и только одно вхождение.

4) <publish-info>- сведения об издании книги, которая была использована как источник при подготовке документа.От нуля до одного вхождений.

...

Подобные документы

  • Создание работоспособного приложения, обеспечивающего сокрытие информации произвольного размера в файле формата JPEG и доступ к уже имеющейся информации. Определение основных понятий стеганографии. Структура файла формата JPEG. Метод сокрытия данных.

    курсовая работа [57,5 K], добавлен 30.03.2009

  • Принципы компьютерной стеганографии. Классификация методов сокрытия информации. Популярность метода замены наименьшего значащего бита. Сущность методов расширения палитры и блочного сокрытия. Применение методов в GIF изображениях. Реализация алгоритмов.

    курсовая работа [589,7 K], добавлен 17.02.2013

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

    курсовая работа [332,3 K], добавлен 26.11.2013

  • Вклад древнегреческой культуры в становление криптографии и стеганографии. Шифр Древней Спарты (скитала). Образец стеганограммы по методу Г. Скотта. Симпатические чернила, фотографические микроточки. Система StegFS для Linux как пример сокрытия данных.

    презентация [1,6 M], добавлен 29.11.2015

  • Базовая модель угроз персональных данных, обрабатываемых в информационных системах персональных данных. Метод сокрытия информации в наименьших битах графических контейнеров. Алгоритм и блок-схема работы программы, реализующей метод LSB в BMP-файлах.

    курсовая работа [475,1 K], добавлен 05.12.2014

  • Изучение понятия и основных задач стеганографии - науки, изучающей способы и методы сокрытия информации. Характеристика метода замены наименее значащих битов для bmp файлов. Реализация метода замены НЗБ для bmp файлов на языке программирования Java.

    курсовая работа [149,2 K], добавлен 13.02.2013

  • Основные понятия и определения стеганографии. Методы сокрытия данных и сообщений, цифровые водяные знаки. Атаки на стегосистемы и методы их предупреждения. Технологии и алгоритмы стеганографии. Работа с S-Tools. Особенности специальной программы.

    контрольная работа [2,2 M], добавлен 21.09.2010

  • Понятие и сущность стеганографии, использование свойств формата файла-контейнера. Классификация методов стеганографии. Компьютерные вирусы и стеганография, гарантированное уничтожение информации. Методы воздействия на средства защиты информации.

    контрольная работа [80,2 K], добавлен 02.01.2018

  • Разработка программного продукта для экспорта спецификации из приложения PartList. Выбор метода передачи информации в файл, формата для представления. Разработка конвертера, реализация пользовательского интерфейса. Обоснование актуальности разработки.

    дипломная работа [2,6 M], добавлен 25.09.2014

  • Актуальность защиты информации и персональных данных. Постановка задачи на проектирование. Базовая модель угроз персональных данных, обрабатываемых в информационных системах. Алгоритм и блок-схема работы программы, реализующей метод LSB в BMP-файлах.

    курсовая работа [449,5 K], добавлен 17.12.2015

  • Реализация программ для работы с большим объемом информации, записанной в файлах. Набор инструментальных и алгоритмических средств для разработки программы. Структура данных, описание основных модулей. Требования к программному и аппаратному обеспечению.

    курсовая работа [712,0 K], добавлен 13.08.2012

  • Создание программы для вычисления значения функции на основе определённой формулы. Уточнение структуры входных и выходных данных и определение ассемблерного формата их представления. Разработка алгоритмов для реализации работы программного обеспечения.

    курсовая работа [240,6 K], добавлен 17.06.2013

  • Виды информации, с которыми работают современные компьютеры. Понятие "информация": в физике, в биологии, в кибернетике. Представление информации. Кодирование и каналы передачи информации. Локальные компьютерные сети. Хранение информации в файлах.

    контрольная работа [26,4 K], добавлен 13.01.2008

  • Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.

    реферат [513,1 K], добавлен 22.10.2012

  • Механизмы взаимодействия драйвера режима ядра и пользовательского приложения: многослойная драйверная архитектура, алгоритм сокрытия данных, взаимодействие драйвера и приложения, пользовательский интерфейс программы фильтрации доступа к файлам.

    курсовая работа [1023,3 K], добавлен 23.06.2009

  • Разработка мультимедиа-программы для прослушивания аудио-файлов и просмотров видео. Описание меню для пользователей и для администраторов проекта. Создание форм для указанного приложения при помощи Visual Foxpro 9. Листинг программы и ее результаты.

    курсовая работа [1,9 M], добавлен 27.07.2013

  • История возникновения криптографии. Открытый ключ криптосистемы. Шифрование секреторного ключа. Математические методы обеспечения конфиденциальности и аутентичности информации. Преобразование текста на основе секретного алгоритма в шифрованный текст.

    презентация [260,8 K], добавлен 11.10.2015

  • Разработка программного обеспечения для реализации криптографической защиты информации. Обоснование выбора аппаратно-программных средств. Проектирование модели информационных потоков данных, алгоритмического обеспечения, структурной схемы программы.

    дипломная работа [2,0 M], добавлен 10.11.2014

  • Современные методы защиты информации средствами стеганографии. Анализ канала передачи сообщений, подходы к реализации стеганографического приложения. Алгоритмы методов последнего бита и передачи сообщений через стегоканал; ограничения его использования.

    курсовая работа [105,7 K], добавлен 05.11.2011

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

    презентация [393,2 K], добавлен 05.04.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.