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

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

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

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

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

5) <custom-info>- произвольная информация.Любое число вхождений.

То есть обязательны разделы<title-info>и<document-info>, а остальные добавляются по необходимости.

Рассмотрим пример заполнения его полей (они должны следовать в указанном порядке):

<description>

<title-info>

<genre>sci_medicine</genre>

<genre>science</genre>

<author>

<first-name>Борис</first-name>

<last-name>Сергеев</last-name>

</author>

<book-title>Ум хорошо:</book-title>

<annotation>

<p>Об организации высших психических функций.</p>

</annotation>

<date value="1984-01-01">1984</date>

<coverpage><image l:href="#cover.jpg"/></coverpage>

<lang>ru</lang>

<src-lang>ru</src-lang>

<sequence name="Раскрывая тайны психики" number="2"/>

</title-info>

<document-info>

<author>

<nickname>Sclex</nickname>

<email>sclex_at_inbox.ru</email>

</author>

<program-used>Dn/2, Opera 8.50, Bred3</program-used>

<date value="2006-05-21">2006-05-21</date>

<id>91824ABE-EEF7-48C3-AAAA-A719EFC4824A</id>

<version>1.1</version>

<history>

<p>1.0 - подготовка fb2 by Sclex</p>

<p>1.1 - вычитка ошибок by Sclex</p>

</history>

</document-info>

<publish-info>

<book-name>Борис Федорович Сергеев. Ум хорошо:</book-name>

<publisher>Молодая гвардия</publisher>

<city>М.</city>

<year>1984</year>

</publish-info>

</description>

Рассмотрим последовательно смысл значений тэгов заголовка. (Некоторые из тэгов отсутствуют в примере, но описаны ниже).

Внутри раздела<title-info>:

<genre>- указывает жанр книги. Список возможных значений приведен в соответствующем разделе данного описания.Одно или более вхождений, то есть книга может относиться к нескольким жанрам одновременно. В нашем примере это sci_medicine и science, то есть книга относится к жанрам "Медицина" и "Научно-образовательная: Прочее".

<author>- содержит информацию об авторе книги. Возможны такие вложенные тэги как<first-name>- имя,<last-name>- фамилия,<middle-name>- отчество,<nickname>- ник, и<email>- адрес электронной почты.Одно или более вхождений, так как может быть несколько авторов у одной книги. В нашем примере определены имя Борис и фамилия Сергеев.

<book-title>- описывает название книги.Одно и только одно вхождение. В нашем примере книга называется "Ум хорошо:".

<annotation>- аннотация книги.Возможны в любом количестве и порядкеследующие вложенные тэги: <p>, <poem>, <cite>, <subtitle>, <table>,<empty-line/>с соответствующим содержанием.От нуля до одного вхождения.

<keywords>- содержит ключевые слова к данной книге для поисковых систем. Слова должны быть в виде неформатированного текста.От нуля до одного вхождения.

<date>- хранит дату написания книги. В свойствеvalueдата описывается в формате ГГГГ-ММ-ДД, а внутри тэга дата задается в текстовом виде.От нуля до одного вхождения.В нашем примере свойствоvalueимеет значение 1984-01-01, то есть первое января 1984-го года, а внутри тэга прописано значение 1984.

<coverpage>- обложка книги. Внутри может содержать только тэг<image/>.От нуля до одного вхождения.В нашем примере ссылка указывает на картинку cover.jpg, приложенную к документу (значок # говорит, что эта ссылка локальная, то есть адресует в пределах документа).

<lang>- сообщает язык книги в документе, то есть язык после перевода.Одно и только одно вхождение.В нашем примере этоru, то есть русский язык. Полный список кодов приведен в соответствующем разделе данного описания.

<src-lang>- определяет язык, на котором исходно написана книга, то есть язык до перевода.От нуля до одного вхождений. Те же коды, что для тэга<lang>. В нашем примере этоru, то есть русский язык. Английскому языку соответствует кодen.

<translator>- информация о переводчике книги. Возможны такие вложенные тэги как<first-name>- имя,<last-name>- фамилия,<middle-name>- отчество,<nickname>- ник, и<email>- адрес электронной почты.Любое число вхождений.

<sequence>- сведения о том, к каким сериям относится книга. Имеет такие свойства, какname(текстовая строка) - название серии, иnumber(целое число) - порядковый номер книги в серии.Любое число вхождений. В нашем примере описана серия "Раскрывая тайны психики", и указан номер книги в серии - вторая.

Внутри раздела<document-info>:

<author>- содержит информацию об авторе документа. Возможны такие вложенные тэги как<first-name>- имя,<last-name>- фамилия,<middle-name>- отчество,<nickname>- ник, и<email>- адрес электронной почты.Одно или более вхождений. В нашем примере определены ник Sclex и адрес электронной почты sclex_at_inbox.ru.

<program-used>- в виде простого перечисляет программы, использованные при создании FB2-документа.От нуля до одного вхождений. В нашем примере это Dn/2, Opera 8.50 и Bred3.

<date>- хранит дату создания документа. В свойствеvalueдата описывается в формате ГГГГ-ММ-ДД, а внутри тэга дата задается в текстовом виде.Одно и только одно вхождение. В нашем примере свойствоvalueимеет значение 2006-05-21, то есть 21-е мая 2006-го года, и такое же значение прописано внутри тэга.

<src-url>- URL страницы, откуда взят текст для подготовки документа.Любое число вхождений.

<src-ocr>- автор текста, который был использован при подготовке документа. Но не тот автор, который написал книгу, а тот, который сканировал ее и подготовил электронный текст.От нуля до одного вхождений.

<id>- уникальный идентификатор документа FB2. Каждый отдельный FB2-документ должен иметь собственный ID, отличающийся от ID других документов. Это значит, что при изменении книги, которая есть в библиотеке, ID нужно сохранить. Если же создается новая книга, это поле необходимо заполнить уникальной записью. Формально разрешено использовать внутри тэга ID любые символы в любом количестве, но рекомендуется употреблять символы латиницы, цифры, и знаки подчеркивание и минус ("_", "-"). Других требований к идентификатору нет. Как вариант, можно заполнить поле согласно времени создания документа по формату YYYYMMDDhhmmss, например 20060728182041.Одно и только одно вхождение.

<version>- версия документа в текстовом виде. Описывается дробным числом.Одно и только одно вхождение. В нашем случае - 1.1.

<history>- история создания и изменения документа. Содержит форматированный текст. Возможны в любом количестве и порядке следующие вложенные тэги:<p>,<poem>,<cite>,<subtitle>,<table>,<empty-line/>с соответствующим содержанием.От нуля до одного вхождений.

Внутри тэга<publish-info>:

<book-name>- название оригинальной (бумажной) книги.От нуля до одного вхождений. В примере это "Борис Федорович Сергеев. Ум хорошо:".

<publisher>- название издательства.От нуля до одного вхождений. В примере - Молодая гвардия.

<city>- город, в котором издана книга.От нуля до одного вхождений. В нашем случае это М., то есть Москва.

<year>- год издания книги.От нуля до одного вхождений. В нашем случае - 1984.

Тело документа (структура разделов body и section)

Тэг<body>предназначен для описания собственно тела документа. Этот тэг может иметь свойствоname, которое описывает имя раздела. Например:

<body name="notes">

Внутри раздела<body>могут идти в указанном порядке:

1) Картинка<image/>, которая будет отображаться вверху раздела.От нуля до одного вхождений.

2) Заголовок<title>.От нуля до одного вхождений.

3) Эпиграф<epigraph>.Любое число вхождений.

4) Раздел<section>.Одно или более вхождений.

Откуда видно, что обязателен только раздел<section>.

Для раздела<section>имя описывается свойствомid. Например так: <section id="note33">

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

1) Заголовок<title>.От нуля до одного вхождений.

2) Эпиграф<epigraph>.Любое число вхождений.

3) Картинка<image/>, которая будет отображаться вверху раздела.От нуля до одного вхождений.

4) Аннотация<annotation>, описывающая раздел.От нуля до одного вхождений.

5) Одно из двух. Либо подраздел<section>(одно или более вхождений); либо форматированный текст с картинками - тэги<p>,<image>,<poem>,<subtitle>,<cite>,<empty-line/>,<table>(одно или более вхождений), но первый тэг не может быть<image>.

Следовательно, обязательно наличие либо вложенного подраздела<section>, либо форматированного текста с картинками.

Разделов<body>в документе может быть несколько. Это используется, например, для оформления примечаний (footnotes). По умолчанию пользователю показывается первый раздел<body>, а содержание остальных должно быть доступно по гиперссылкам. Имя раздела должно отражать смысл его содержания, но для основного раздела это необязательно.

Разделы<section>должны иметь вложенную структуру согласно иерархии оглавления. Например, если документ делится на части, которые в свою очередь делятся на главы, то части будут будут описаны в разделе<section>первого уровня, а главы - в подразделе второго уровня. Проще понять это на примере:

<body>

<title><p>Борис Сергеев</p><p>Парадоксы мозга</p></title>

<section>

<title><p>Часть 1. Великие невежды.</p></title>

<section>

<title><p>Глава 1. Во тьме веков.</p></title>

<p>Когда люди стали о себе задумываться? ...</p>

...

</section>

</section>

</body>

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

Еще принято кроме того, что указано в заголовке, давать имя автора и название книги в тексте документа до того, как открывается<section>первого уровня, то есть в<title>, относящемся к<body>. Это видно из вышеприведенного примера.

Форматированный текст представляет собой последовательность фрагментов, ограниченных тэгами<p>,<poem>,<subtitle>,<cite>,<table>. Также могут входить пустые строки -<empty-line/>.

Тэг<p>предназначен для описания одного абзаца текста книги.

Например:

<p>Вот абзац текста.</p>

<p>Еще один абзац текста.</p>

Тэг<p>может быть вложен в тэги<title>,<cite>,<epigraph>,<annotation>,<section>.

Пустые строки

Если нужно в форматированном тексте вставить пустую строку, это делается с помощью тэга<empty-line/>. Один такой тэг - одна пустая строка. Закрывающий тэг в данном случае не требуется.

Например:

<p>Абзац до пустой строки.</p>

<empty-line/>

<p>А вот это уже абзац после пустой строки.</p>

Жирный и курсивный текст

Для форматированного текста, а именно внутри тэгов<p>,<v>,<subtitle>,<text-author>возможно описать текст как жирный или курсивный. Жирный текст следует выделить тэгом<strong>, а курсивный - тэгом<emphasis>.

Например:

<p>Вот это слово выведем <strong>жирным</strong>,

а вот это - <emphasis>курсивным</emphasis>.</p>

Верхние и нижние индексы

В форматированном тексте (внутри тэгов<p>,<v>,<subtitle>,<text-author>) можно задать для текста начертание как верхний или нижний индекс. Для нижних индексов (уменьшенные буквы внизу строки) используется выделение тэгом<sub>, а для верхних индексов (уменьшенные буквы вверху строки) - выделение тэгом<sup>.

Пример:

<p>2<sup>4</sup>=16</p>

<p>a<sub>1</sub>+a<sub>2</sub>=b</p>

Перечеркнутый текст

В форматированном тексте (внутри тэгов<p>,<v>,<subtitle>,<text-author>) можно задать для текста отображение перечеркнутым шрифтом. Для этого используется выделение тэгом<strikethrough>.

<p><strikethrough>Перечеркнутый текст.</strikethrough></p>

Программный код

В форматированном тексте (внутри тэгов<p>,<v>,<subtitle>,<text-author>) можно логически разметить текст, который при просмотре файла должен быть отображен как программный код. Для этого используется выделение тэгом<code>. Читалкам рекомендуется текст внутри этого тэга оформлять при выводе моноширинным шрифтом (то есть шрифтом, символы которого имеют одинаковую ширину).

<p><code>Assign(f,'name.txt');</code></p>

Заголовки частей книги описываются тэгом<title>, который содержит в себе форматированный текст. Тэг<title>как заголовок части книги может быть вложенным в тэги<body>и<section>, причемболее одного заголовка в разделе не допускается, а может его и не быть вовсе.

В тэг<title>могут быть вложены только тэги<p>и/или<empty-line/>.

Вот пример правильного оформления заголовка с пустой строкой:

<title>

<p>Глава 1</p>

<empty-line/>

<p>От Александрии до Лондона</p>

</title>

Тэг<title>может быть вложен в тэги<body>,<section>,<poem>,<stanza>.

Подзаголовки

Подзаголовки описываются тэгом<subtitle>, который содержит простой (неформатированный) текст. Тэг<subtitle>может быть вложенным в тэги<body>,<section>,<cite>и<stanza>.

Обычно описание подзаголовка выглядит так:

<subtitle>* * *<subtitle>

Подзгаловком, в отличие от нормального заголовка, оформляется элемент оглавления, незначимый для структуры документа. Обычно это те самые три звездочки или x x x.

Стихи

Чтобы разместить стихотворение в тексте документа, используют тэг<poem>. Он может нести внутри себя следующие части в указанном порядке:

1. Заголовок<title>.От нуля до одного вхождений.

2. Эпиграф<epigraph>.Любое число вхождений.

3. Строфы<stanza>.Одно или более вхождений. Строфа<stanza>- это группа строк стихотворения, отделенная пустым промежутком от остальных строк. Отдельная строка стихотворения помечается тэгом<v>, который должен быть вложен в<stanza>. Кроме того в состав<stanza>могут входить тэги<title>(заголовок) и<subtitle>(подзаголовок).

4. Автор стихотворения<text-author>.Любое число вхождений.

5. Дата написания<date>.От нуля до одного вхождений.

То есть обязательно присутствует как минимум одна строфа<stanza>, а остальное добавляется при необходимости.

Например, стихотворение из двух строф:

Наша Таня громко плачет, уронила в речку мячик.

Тише, Танечка, не плачь, не утонет в речке мяч.

Следует разметить таким образом:

<poem>

<stanza>

<v>Наша Таня громко плачет,</v>

<v>Уронила в речку мячик.</v>

</stanza>

<stanza>

<v>Тише, Танечка, не плачь,</v>

<v>Не утонет в речке мяч.</v>

</stanza>

</poem>

Эпиграфы

Для оформления эпиграфов предусмотрен тэг<epigraph>, который должен содержать внутри себя форматированный текст - тэги<p>,<poem>,<cite>,<empty-line/>(любое число вхождений), а затем автора текста<text-author>(тоже любое число вхождений).

Пример:

<epigraph>

<p>Читателям, которые станут доискиваться, какие реальные

люди и места описаны здесь под вымышленными именами и названиями,

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

так как в этом романе рассказано о том, что происходит сегодня почти

во всей Америке.</p>

</epigraph>

Тэг<epigraph>может быть вложен в тэги<body>,<section>и<poem>.

Цитированный текст

Для разметки цитированного текста существует тэг<cite>, который может содержать форматированный текст - вложенные тэги<p>,<poem>,<empty-line/>,<subtitle>,<table>(любое число вхождений), а затем автора цитаты<text-author>(любое число вхождений).

Пример:

<cite>

<p>Время - деньги.<p>

<text-author>Бенджамин Франклин</text-author>

</cite>

Автор цитаты

Внутри тэгов<poem>,<cite>и<epigraph>возможно указать автора соответственно стихотворения, цитаты или эпиграфа. Для этого служит тэг<text-author>. Внутри cite и epigraph этот тэг должен стоять в самом конце родительского тэга, то есть непосредственно перед его (родительского тэга) закрытием. Внутри же poem тэг<text-author>може быть либо последний, либо предпоследний перед<date>, как это описано в главе?Стихи? данного описания.Допускается любое число вхождений тэга<text-author>.

Вот пример:

<epigraph>

<p>Кажется, знаешь о себе все, так нет.

Находятся люди, которые знают о тебе больше.</p>

<text-author>В. Андреев</text-author>

</epigraph>

Картинки вставляются с помощью тэга<image/>(закрывающий тэг не требуется). Он может иметь атрибутыtype,href,alt,title,id. Свойствоhrefуказывает на адрес картинки. Если адрес картинки начинается с символа # (решетка), то картинка находится внутри документа.

Пример:

<p>Абзац текста до картинки.</p>

<image l:href="#picture.jpg"/>

<p>Абзац текста после картинки.</p>

В этом примере в текст вставляется картинка picture.jpg, приложенная к документу (на что указывает символ решетки перед именем).

Тэг<image/>может быть вложен в тэги<body>,<section>, и в этом случае он описывает просто картинку. Если же<image/>вложен в<p>или<coverpage>, он обозначает inline-картинку, то есть такую, которая отображается наравне с текстом, внутри его. У Inline-картинок допустимы только атрибуты type, href, alt.

Файл обложки принято называть cover.jpg или cover.png.

Ссылки

Ссылки вставляются с помощью тэга<a>, который может быть вложен в абзацный тэг<p>. Свойствоhrefопределяет адрес ссылки. Адреса с символа # (решетка) задают расположение внутри документа.

Пример:

<p>Об этом вы можете прочитать <a l:href="#n1">здесь</a>.</p>

В этом примере текстом ссылки будет?здесь?, а указывать она будет на элемент с идентификаторомn1внутри документа.

Вl:href вместо l может быть и другой идентификатор, подробнее это описано в главе "Раздел FictionBook".

Также тэг<a>может иметь атрибутtype, что используется при создании ссылок на примечания и описано в разделе "Примечания" данного описания.

Таблицы оформляются при помощи тэга<table>, который может быть вложен в<cite>,<section>и/или<annotation>.

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

Тэг<table>содержит вложенные тэги<tr>...</tr>, каждый<tr>описывает один горизонтальный ряд ячеек таблицы. Этот тэг может иметь атрибутalign, которое предписывает программе-просмотрщику использовать определенный тип горизонтального выравнивания для ряда таблицы. Этот атрибут может принимать значения"left"(по левому краю),"right"(по правому краю) или"center"(центрирование). По умолчанию используется значение"left".

Тэг<tr>, в свою очередь, содержит вложенные тэги<th>и<td>(в любом количестве и порядке каждый).<th>описывает ячейку, которая должна быть отображена как заголовок таблицы.<tr>обрамляет простую ячейку таблицы. Эти два тэга могут содержать только текст без всяких тэгов.

Тэги<th>и<td>могут иметь атрибутыid,style,colspan,rowspanиalign. Свойствоid задает идентификатор, по которому на ячейку можно сослаться. Атрибутstyleназначает стиль оформления для ячейки (нужно при использовании CSS). Свойства colspanиrowspan определяют количество колонок и рядов, которые занимает ячейка, что позволяет "растягивать" ее по вертикали или горизонтали. Атрибутalign описывает тип горизонтального выравнивания, аналогично одноименному свойству тэга<table>.

В примере показано, как оформить таблицей небольшую табличку умножения:

<table>

<tr>

<th></th>

<th>2</th>

<th>3</th>

<th>4</th>

</tr>

<tr>

<th>5</th>

<td>10</td>

<td>15</td>

<td>20</td>

</tr>

<tr>

<th>6</th>

<td>12</td>

<td>18</td>

<td>24</td>

</tr>

<tr>

<th>7</th>

<td>14</td>

<td>21</td>

<td>28</td>

</tr>

</table>

Таблица 1

2

3

4

5

10

15

20

6

12

18

24

7

14

21

28

Примечания к тексту книги должны находиться в специальном разделе<body>, поименованном notes, то есть описан он должен быть как<body name="notes">, причем именно так - notes - пятью маленькими буквами и не иначе. Каждое примечание должно находиться в отдельном разделе<section>и иметь уникальный id, по которому оно будет доступно в ссылках. Вот типичный пример оформления тела примечаний:

<body name="notes">

<title><p>Примечания</p></title>

<section id="note1">

<title>

<p>1</p>

</title>

<p>Известный английский архитектор XVIII века, испытавший в

своем творчестве сильное влияние античной архитектуры. (Здесь и

далее прим. ред.)</p>

</section>

<section id="note2">

<title>

<p>2</p>

</title>

<p>Американский просветитель, живший в XVIII веке</p>

</section>

</body>

Ссылка на примечание должна иметь свойствоtype, равное значению"note". Соответствующая размещенному выше примеру ссылка на первое примечание будет выглядеть таким образом:

в стиле Роберта Адама <a l:href="#note1" type="note">[1]</a>

Двоичные вложения

К документу FB2 могут быть приложены файлы, например картинки или что-нибудь другое. (Библиотека, правда, не примет файлы с иными вложениями, чем картинки).

Для описания двоичных вложений служит элемент<binary>, который идет в документе вслед за последним элементом<body>. Вот пример вложения:

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

AQMAEAMDBgkAAA/tAAAe7gAANHz/2wCEAAgGBgYGBggGBggMCAcIDA4KCAgKDhANDQ4NDRAR

DA4NDQ4MEQ8SExQTEg8YGBoaGBgjIiIiIycnJycnJycnJycBCQgICQoJCwkJCw4LDQsOEQ4O

...

h9x8OJ/B/c+gfbXM/wDQ/qcPZ9HHjqaPi17zZ4+6deEYNxtP+H1v8Opsec//2Q==

</binary>

Свойство id описывает идентификатор (имя) двоичного объекта, а свойство content-type- MIME-тип вложения. Содержанием элемента<binary> является файл, закодированный по методу BASE64.

Чтобы библиотека приняла файл, нужно чтобы в документе не было приложенных объектов, на которые нет ссылки, и чтобы не было ссылок, которые указывают на двоичные объекты, не приложенные к файлу.

Из картинок поддерживаются форматы JPG (тип image/jpeg) и PNG (тип image/png). Поддержка формата GIF отсутствует. Файл обложки обычно принято называть cover.jpg.

Символы Unicode

В текст можно вставлять символы по их коду в таблице Unicode. Для этого нужно написать значок &, потом значок #, потом десятичный код символа, потом точку с запятой.

Например для значка? (не равно)? десятичный код 8800, надо написать так: &#8800;

Список возможных жанров

Здесь перечислены значения, которые принимает поле<genre>в заголовке FB2-документа.

- sf_history Альтернативная история

- sf_action Боевая Фантастика

- sf_epic Эпическая Фантастика

- sf_heroic Героическая фантастика

- sf_detective Детективная Фантастика

- sf_cyberpunk Киберпанк

- sf_space Космическая Фантастика

- sf_social Социальная фантастика

- sf_horror Ужасы и Мистика

- sf_humor Юмористическая фантастика

- sf_fantasy Фэнтези

- sf Научная Фантастика

- child_sf Детская Фантастика

- det_classic Классический Детектив

- det_police Полицейский Детектив

- det_action Боевики

- det_irony Иронический Детектив

- det_history Исторический Детектив

- det_espionage Шпионский Детектив

- det_crime Криминальный Детектив

- det_political Политический Детектив

- det_maniac Маньяки

- det_hard Крутой Детектив

- thriller Триллеры

- detective Детектив

- sf_detective Детективная Фантастика

- child_det Детские Остросюжетные

- love_detective Остросюжетные Любовные Романы

- prose Проза

- prose_classic Классическая Проза

- prose_history Историческая Проза

- prose_contemporary Современная Проза

- prose_counter Контркультура

- prose_rus_classic Русская Классика

- prose_su_classics Советская Классика

- humor_prose Юмористическая Проза

- child_prose Детская Проза

- love Любовные романы

- love_contemporary Современные Любовные Романы

- love_history Исторические Любовные Романы

- love_detective Остросюжетные Любовные Романы

- love_short Короткие Любовные Романы

- love_erotica Эротика

- adv_western Вестерны

- adv_history Исторические Приключения

- adv_indian Приключения: Индейцы

- adv_maritime Морские Приключения

- adv_geo Путешествия и География

- adv_animal Природа и Животные

- adventure Приключения: Прочее

- child_adv Детские Приключения

- children Детское

- child_tale Сказки

- child_verse Детские Стихи

- child_prose Детская Проза

- child_sf Детская Фантастика

- child_det Детские Остросюжетные

- child_adv Детские Приключения

- child_education Детская Образовательная литература

- children Детское: Прочее

- poetry Поэзия

- dramaturgy Драматургия

- humor_verse Юмористические Стихи

- child_verse Детские Стихи

- antique_ant Античная Литература

- antique_european Европейская Старинная Литература

- antique_russian Древнерусская Литература

- antique_east Древневосточная Литература

- antique_myths Мифы. Легенды. Эпос

- antique Старинная Литература: Прочее

- sci_history История

- sci_psychology Психология

- sci_culture Культурология

- sci_religion Религиоведение

- sci_philosophy Философия

- sci_politics Политика

- sci_business Деловая литература

- sci_juris Юриспруденция

- sci_linguistic Языкознание

- sci_medicine Медицина

- sci_phys Физика

- sci_math Математика

- sci_chem Химия

- sci_biology Биология

- sci_tech Технические

- science Научно-образовательная: Прочее

- adv_animal Природа и Животные

- comp_www Интернет

- comp_programming Программирование

- comp_hard Компьютерное Железо

- comp_soft Программы

- comp_db Базы Данных

- comp_osnet ОС и Сети

- computers Компьютеры: Прочее

- ref_encyc Энциклопедии

- ref_dict Словари

- ref_ref Справочники

- ref_guide Руководства

- reference Справочная Литература: Прочее

- nonf_biography Биографии и Мемуары

- nonf_publicism Публицистика

- nonf_criticism Критика

- nonfiction Документальное: Прочее

- design Искусство, Дизайн

- adv_animal Природа и Животные

- religion Религия

- religion_rel Религия

- religion_esoterics Эзотерика

- religion_self Самосовершенствование

- religion Религия и духовность: Прочее

- sci_religion Религиоведение

- humor_anecdote Анекдоты

- humor_prose Юмористическая Проза

- humor_verse Юмористические Стихи

- humor Юмор: Прочее

- home_cooking Кулинария

- home_pets Домашние Животные

- home_crafts Хобби, Ремесла

- home_entertain Развлечения

- home_health Здоровье

- home_garden Сад и Огород

- home_diy Сделай Сам

- home_sport Спорт

- home_sex Эротика, Секс

- home Дом и Семья: Прочее

Список возможных языков

Ниже приведены коды языков, которые можно прописывать в тэгах<lang>и<src-lang> [ 14 ]

Здесь приведены только основные кодировки, полный список содержится в стандартеISO 639:

- abk ab Абхазский

- aze az Азербайджанский

- alb/sqi sq Албанский

- eng en Английский

- arm/hye hy Армянский

- BA Башкирский

- bel be Белорусский

- bul bg Болгарский

- hun hu Венгерский

- vie vi Вьетнамский

- dut/nla nl Голландский

- ell/gre el Греческий современный (1453-)

- dan da Данийский

- grc Древнегреческий (до 1453)

- heb he Иврит

- esl/spa es Испанский

- ita it Итальянский

- kaz kk Казахский

- kir ky Киргизский

- chi/zho zh Китайский

- kor ko Корейский

- lat la Латинский

- lav lv Латвийский

- lit lt Литовский

- mac/mak mk Македонийский

- mol mo Молдавский

- mon mn Монгольский

- deu/ger de Немецкий

- mul Несколько языков

- und Неопределенный

- nor no Норвежский

- fas/per fa Персидский

- pol pl Польский

- por pt Португальский

- rus ru Русский

- san sa Санскрит

- slk/slo sk Словакский

- slv sl Словенский

- tgk tg Таджикский

- tat tt Татарский

- tur tr Турецкий

- uzb uz Узбекский

- ukr uk Украинский

- cym/wel cy Уэльский

- fin fi Финский

- fra/fre fr Французский

- che Чеченский

- ces/cze cs Чешский

- hr Хорватский

- sve/swe sv Шведский

- epo eo Эсперанто

- est et Эстонский

- jpn ja Японский

стеганография файл информация мультимедиа

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

3.1 Разработка методов по сокрытию информации в формат FictionBook2

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

В качестве контейнера для стеганографического вложения может выступать формат FictionBook2. Данный формат файлов призван обеспечить максимум совместимости и управляемости для свободно распространяемых электронных книг.

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

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

При исследовании возможностей по сокрытию информации в формат FB2 была разработана программа для тестирования различных методов. Программа была разработана на языке C# в среде Visual Studio 2013. Интерфейс программы представлен на рисунке 3.1.

Для того чтобы начать процесс по сокрытию информации, необходимо нажать кнопку “Выбрать файл” (см. рис. 3.2).

После нажатия на кнопку, будет запущенно окно выбора файла, с которым предстоит работа (см. рис. 3.3).

Рис. 3.1 - Интерфейс программы по сокрытию информации в формат FictionBook2

Рис. 3.2 - Кнопка выбора файла для внедрения информации в файл

Рис. 3.3 - Интерфейс окна «Выбрать файл» программы по сокрытию информации в формат FictionBook2

Здесь нам будет доступно найти нужный файл в соответствующей директории. А так же будет показан путь к файлу (см. рис. 3.4).

Рис. 3.4 - Выбор директории

Следует отметить, что программа работает только с файлами формата FictionBook2, поэтому любые другие элементы не будут отображаться в правом окне. Находим сам файл формата .fb2(см. рис. 3.5).

Рис. 3.5 - Окно выбора файла из папки в директории

Находим нужный нам файл, выбираем его и нажимаем кнопку «Открыть» (см. рис. 3.6).

Рис. 3.6 - Кнопка «Открыть»

После этого мы попадаем обратно на главный экран программы и в поле рядом с кнопкой выбора файла появился путь к нему (см. рис. 3.7).

Рис. 3.7 - Интерфейс программы после выбора файла из директории

Затем нужно открыть выбранный файл. Для этого используем кнопку «Извлечь» (см. рис. 3.8).

Рис. 3.8 - Кнопка для открытия файла программой

После этого в поле «Открытый текст» появится содержимое файла (см. рис. 3.9).

Рис. 3.9 - Содержимое файла

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

Рис. 3.10 - Список выбора методов сокрытия информации

Как мы видим, методы просто пронумерованы, поэтому, для более подробного описания каждого из них, следует воспользоваться «Справкой», которая вызывается отдельной кнопкой «?», расположенной на главной экране программы в правом нижнем углу (см. рис. 3.11).

Рис. 3.11 - Кнопка вызова справки

После нажатия «?» вызывается окно справки, в котором перечисляются и кратко описываются все методы сокрытия информации, доступные в программе (см. рис. 3.12).

Рис. 3.12 - Окно справки

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

Рис. 3.13 - Выбор метода и ввод ключа

И нажимаем кнопку «Скрыть» чтобы сокрыть нужную нам информацию в формат FictionBook2 (см. рис. 3.14).

Рис. 3.14 - Кнопка скрыть

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

Заключение

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

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

В дипломной работе были рассмотрены методы применения стеганографии для сокрытия информации, реализованные в программе написанной на языке высокого уровня C# в среде разработки Visual Studio.

В данной дипломной работе были разработаны и исследованы методы сокрытия информации в формат FictionBook2. Была достигнута цель дипломной работы:

· Исследованы современные методы стеганографии и криптографии;

· Исследован формат FictionBook;

· Разработан метод скрытой передачи, использующий ключ и пространственное распыление информации;

· Разработана программа для скрытого внедрения информации, написанная в среде разработки Visual Studio на языке высокого уровня C#.

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

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

Размещено на Allbest.ru

...

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

  • Создание работоспособного приложения, обеспечивающего сокрытие информации произвольного размера в файле формата 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-файлы представлены только в архивах.
Рекомендуем скачать работу.