Методы обеспечения целостности информации на основе вейвлетных преобразований для защиты средств хранения информации тема диссертации и автореферата по ВАК РФ 05.13.19, кандидат наук Таранов Сергей Владимирович

  • Таранов Сергей Владимирович
  • кандидат науккандидат наук
  • 2018, ФГБОУ ВО «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича»
  • Специальность ВАК РФ05.13.19
  • Количество страниц 163
Таранов Сергей Владимирович. Методы обеспечения целостности информации на основе вейвлетных преобразований для защиты средств хранения информации: дис. кандидат наук: 05.13.19 - Методы и системы защиты информации, информационная безопасность. ФГБОУ ВО «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича». 2018. 163 с.

Оглавление диссертации кандидат наук Таранов Сергей Владимирович

Введение

Глава 1. Коды, ориентированные на безопасность, как метод

обеспечения целостности в средствах хранения данных

1.1 Модель алгебраических манипуляций

1.2 Моделирование угроз для средств хранения информации

1.2.1 Модель угроз для средств хранения данных в соответствии с отечественными стандартами

1.2.2 Построение модели угроз для средств хранения информации на основе С1ЛЛ подхода

1.3 Обзор существующих средств и методов обеспечения целостности информации

1.4 Помехоустойчивое кодирование как метод защиты информации

1.5 Линейные коды и основные принципы помехоустойчивого кодирования

1.6 Нелинейные надежные коды Марка Карповского, их применение

для защиты информации

1.7 Коды, обнаруживающие алгебраические манипуляции

1.8 Линейные коды с комплементарной дуальностью

1.9 Выводы к 1 Главе

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

на основе вейвлетных разложений

2.1 Вейвлетные преобразования и их применение в кодах

2.2 Построение линейных кодов на основе вейвлетных преобразований

2.3 Построение надежных кодов на основе вейвлетных линейных кодов

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

2.5 Коды, исправляющие ошибки, на основе сплайн-вейвлетных разложений второго порядка

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

2.7 Выводы ко 2 Главе

Глава 3. Практические рекомендации по применению

разработанных кодовых конструкций

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

3.1.1 Области использования NAND флеш памяти

3.1.2 Методы обнаружения и исправления ошибок, применяемые для защиты NAND флеш

3.1.3 Программно-аппаратная система обнаружения ошибок в системе сжатия и обработки видео ADV612

3.2 Другие области применения вейвлетных AMD кодов

3.2.1 Защита кэш-памяти микропроцессора

3.2.2 Защита линейных частей криптоалгоритмов при атаках

на основе внедрения ошибок

3.3 Общие рекомендации по применению разработанных методов обеспечения целостности

3.4 Выводы к 3 Главе

Заключение

Список сокращений и условных обозначений

Список литературы

Приложение А. Листинги программного кода для анализа и

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

Приложение Б. Параметры кодовых конструкций на основе

вейвлетных разложений

Приложение В. Акты о внедрении

Рекомендованный список диссертаций по специальности «Методы и системы защиты информации, информационная безопасность», 05.13.19 шифр ВАК

Введение диссертации (часть автореферата) на тему «Методы обеспечения целостности информации на основе вейвлетных преобразований для защиты средств хранения информации»

Введение

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

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

Коды, ориентированные на безопасность, способны обнаруживать ошибки любой кратности с ненулевой вероятностью. Основными параметрами данного типа кодов являются множество необнаруживаемых ошибок R(e) (количество кодовых слов для рассматриваемой ошибки, которые она маскирует), скорость кода к/п (отношение количества информационных символов к общей длине), максимальное значение вероятности маскировки ошибки Q(e) (отношение количества маскируемых кодовых слов к общему числу кодовых слов). Коды, ориентированные на безопасность, направлены на минимизацию параметров R(e) и Q(e) и достижению как можно большей скорости кода к/п. Параметры, пред-

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

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

Согласно ФСТЭК СТР-К от 2001 года целостностью информации называется устойчивость информации к несанкционированному или случайному воздействию на нее в процессе обработки техническими средствами, результатом которого может быть уничтожение или искажение информации. Целостность информации в средствах обработки, передачи и хранения информации определяется целостностью всех компонентов системы, а также способностью сохранять целостность при несанкционированном или случайном воздействии техническими средствами. Выделим объекты защиты, для которых исследуемые и разработанные методы обеспечения целостности информации являются наиболее актуальными:

— Кэш память процессоров, оперативная память, флеш-память (из-за высокой скорости работы данных типов памяти применение в них криптографических методов обеспечения целостности затруднено, так как сильно влияет на производительность);

— Арифметические и логические операции в микропроцессорах и микросхемах;

— Технические средства хранения данных, для которых актуальны угрозы типа: внедрение ошибок, коррелированных со входными данными; координированное изменение внутреннего состояния и внешних факторов. В этом случае предлагаемые методы обеспечения целостности обычно идут как составная часть некоторого подхода, например, схемы одновременного обнаружения ошибок (concurrent error detection).

Степень разработанности темы. Все известные подходы к обеспечению целостности информации при неравномерном распределении входных кодовых слов можно разделить на две группы:

1. Создание новых кодов, способных обнаруживать любые ошибки с некоторой вероятностью без каких-либо дополнительных ограничений (труды М. Карповского, Р. Крамера и других [1-7]);

2. Корректировка входных значений с целью их согласования с требованиями стандартных методов помехоустойчивого кодирования (работы В.И. Коржика, К. Оснат и других [8]).

Первая группа подходов - это коды, обнаруживающие любую комбинацию ошибок с отличной от нуля вероятностью. Одними из первых кодовых конструкций, способными функционировать в модели с алгебраическими манипуляциями, являются надежные коды Марка Карповского [2-5]. В конструкциях Карповского предлагается использовать PN и APN функции, как наиболее оптимальные функции кодирования для обнаружения аддитивных ошибок любой комбинации. В работах Рональда Крамера и его учеников [1; 6; 7] предлагаются конструкции нелинейных кодов, обобщающие теорию надежных кодов М. Кар-повского и использующие вероятностное кодирование с целью усложнить атаки злоумышленника на модель алгебраических манипуляций. Коды, предложенные Р. Крамером, получили название кодов, обнаруживающих алгебраические манипуляции (AMD коды). Различные конструкции AMD кодов продолжают исследоваться и находят широкое применение для обеспечения целостности современных средств хранения информации.

Вторая группа подходов - разработка преобразований входных значений с целью их согласования с корректирующими способностями методов помехоустойчивого кодирования. Поискам согласующих преобразований посвящены работы О. Керен и И. Шумского [8; 9], Е.Т. Мирончикова и М.О. Алексеева [10-12], Л.М. Финка и В.И. Коржика [13]. Примерами согласующих преоб-

разований являются согласование метода модуляции сигнала и помехоустойчивого кода (Л.М. Финк, В.И. Коржик [13]), декорреляция, преобразование Грея входных значений в предопределенное множество (О. Керен [8]).

В рамках диссертационной работы преимущественно рассматривается первый подход, для которого характерно использование APN и PN функций в качестве основной составляющей метода кодирования. Представленные кодовые конструкции, построенные на вейвлетных разложениях, позволяют добиться высокой скорости кодирования информации, а также обеспечивают возможность обнаружения и исправления ошибок в средствах, использующих вей-влетные преобразования (видеокодеки, средства сжатия и хранения видео и изображений) [14; 15].

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

Для достижения поставленной цели были решены следующие частные задачи:

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

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

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

4. Разработаны методы обеспечения целостности на основе вейвлетных преобразований, APN и PN функций;

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

6. Сформированы практические рекомендации для применения разработанных методов в целях обеспечения целостности информации в технических средствах хранения.

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

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

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

Научная новизна. Научная новизна основных научных результатов состоит в следующем:

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

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

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

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

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

— теоретическая значимость второго результата заключается в том, что полученный результат развивает и дополняет теорию кодов, обнаруживающих алгебраические манипуляций, теорию PN и APN функций, а также теорию вейвлетных кодов над конечными пространствами;

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

Практическая значимость исследований, проведенных в диссертации, состоит в следующем:

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

— полученные в данной диссертационной работе алгоритмы оценки вероятности маскировки ошибок могут применяться для анализа нелинейных функций кодирования, в том числе PN и APN функций;

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

Разработанные методы включены в исследования кафедры «Проектирования и безопасности компьютерных систем» Университета ИТМО, в том числе в НИР №713552 «Исследование уязвимостей систем для защиты от атак по сторонним каналам», НИР №617026 «Технологии киберфизических систем: управление, вычисления, безопасность»;

Материалы диссертации включены в отчет о результатах выполнения проекта по «Конкурсу грантов для студентов вузов, расположенных на территории Санкт-Петербурга, аспирантов вузов, отраслевых и академических институтов,

расположенных на территории Санкт-Петербурга», проводимым Комитетом по науке и высшей школе в 2015 году;

Разработанные методы обеспечения целостности внедрены в производственную деятельность предприятия ООО «ВЕСТ-ТЕР». Внедрение результатов позволило существенно повысить вероятность обнаружения искажений в средстве хранения данных системы видеонаблюдения «ПИЛОТ-В», удалось снизить шанс подмены управляющей информации, хранимой и обрабатываемой, в энергозависимой памяти данной системы;

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

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

Положения, выносимые на защиту:

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

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

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

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

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

— The 2015 International Conference on Soft Computing and Software Engineering, SCSE'15, University of California, Berkeley, Suta, USA, 2015;

— Computer, Communication, Control and Information Technology, Academy of Technology, India, 2015;

— Codes, Cryptology and Information Security, Mohammed V University, Rabat, Morocco, 2015;

— Information Security and Protection of Information Technology, Университет ИТМО, Санкт-Петербург, 2015;

— XLIV научная и учебно-методической конференция Университета ИТ-МО, Университет ИТМО, Санкт-Петербург, 2015;

— IV Всероссийский конгресс молодых ученых, Университет ИТМО, Санкт-Петербург, 2015;

— 18th Conference of Open Innovations Association FRUCT, Университет ИТМО, Санкт-Петербург, 2016;

— VII Всероссийская научно-техническая конференция «Проблема комплексного обеспечения информационной безопасности и совершенствование образовательных технологий подготовки специалистов силовых структур», Университет ИТМО, Санкт-Петербург, 2016;

— The 20th Conference of Open Innovations Association FRUCT, Санкт-Петербургский электротехнический университет ЛЭТИ, Санкт-Петербург, Россия, 2017;

— XLVII Научная и учебно-методическая конференция Университета ИТ-МО, Университет ИТМО, Санкт-Петербург, 2018;

— VII Международная научно-техническая и научно-методическая конференция «Актуальные проблемы инфокоммуникаций в науке и образовании», Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, Санкт-Петербург, 2018;

— VII Всероссийский конгресс молодых ученых, Университет ИТМО, Санкт-Петербург, 2018;

— Electromagnetics Research Symposium, Singapore, 2017.

Публикации. Основные результаты по теме диссертации изложены в 17

печатных изданиях, 9 из которых находятся в изданиях, индексированных в Scopus [14-22], 3 — издано в журналах, рекомендованных ВАК [23-25], 5 — в иных изданиях [26-30].

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

Объем и структура работы. Диссертация состоит из введения, трех глав, заключения и двух приложений. Полный объём диссертации составляет 163 страницы с 28 рисунками и 17 таблицами. Список литературы содержит 84 наименования.

Глава 1. Коды, ориентированные на безопасность, как метод обеспечения целостности в средствах хранения данных

1.1 Модель алгебраических манипуляций

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

Одно из наиболее подробных описаний модели алгебраических манипуляций отражено в работах Карповского [3;4] и Крамера [6; 7]. В соответствии с моделью АМ злоумышленник имеет возможность изменять значение некоторого абстрактного устройства хранения данных, при этом не имея доступа для чтения данных из устройства. Обозначим абстрактное устройство хранения как С, данное устройство хранит некоторый элемент д из конечной абелевой группы С. Злоумышленник не может каким-либо образом получить значение элемента д, хранимого в устройстве ^ С, однако он может изменить текущее значение путем внедрения аддитивной ошибки е € С. Внедрение ошибки называется алгебраической манипуляцией. После осуществления алгебраической манипуляции абстрактное устройство хранения будет содержать значение д + е. Злоумышленник может выбирать значение е, руководствуясь только априорными знаниями о д. Метод обеспечения целостности в модели АМ должен осу-

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

Информационные биты э имеют неравномерное распределение

я е 5

Внедрение ошибки

е

1

Устройство кодирования Е : 5 -» С

■ г

-► Абстрактное устройство хранения

■ , ё + е

Декодер В : в -> 5

5 <Е 3

Рисунок 1.1 — Общая схема алгебраической манипуляции

В работе Р. Крамера и др. [6] выделяют слабую и сильную модели внедрения ошибок в абстрактное устройство хранения ^ С. В слабой модели злоумышленник не имеет возможности выбирать входные значения в. В данном типе модели алгебраических манипуляций входные значения в являются равномерно распределенными и злоумышленник имеет возможность только внедрять некоторую ошибку е в устройство, но не может изменять значение в по своему усмотрению.

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

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

1.2 Моделирование угроз для средств хранения информации

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

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

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

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

продолжают постоянно расти, несмотря на подходы, рекомендующие использовать конечную политику хранения данных. Любая новая техника защиты средств хранения данных должна быть совместима с 1е§асу-системами и 1е§асу-данными. Так при введении нового алгоритма криптографического шифрования необходимо не только шифровать или дешифровать текущие данные, но также перешифровать или дешифровать 1е§аеу-данные.

1.2.1 Модель угроз для средств хранения данных в соответствии с

отечественными стандартами

В отечественных стандартах и литературе нет определения для совокупности условий, задаваемых моделью алгебраических манипуляций. «Базовая модель угроз ИСПДн» и «Методика определения актуальных угроз ФСТЭК» подходят для описания информационных систем, но не применимы для моделирования угроз в отдельных структурных элементах этих систем. В данном разделе разрабатывается модель угроз для средств хранения информации, которая может быть определена через модель алгебраических манипуляций. В качестве методической основы и рекомендательных документов были использованы следующие отечественные стандарты и ресурсы:

— Базовая модель угроз безопасности персональных данных при их обработке в информационных системах персональных данных, ФСТЭК России, 2008;

— Методика определения актуальных угроз безопасности персональных данных при их обработке в информационных системах персональных данных, ФСТЭК России, 2008;

— проект «Методика определения угроз безопасности информации в информационных системах», ФСТЭК России;

— Специальные требования и рекомендации по технической защите конфиденциальной информации, ФСТЭК, 2001;

— Банк данных угроз безопасности информации https://bdu.fstec.ru/.

При составлении модели угроз удобно отталкиваться от средств хранения

информации, которые могут быть представлены моделью АМ. Перечень объ-

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

Похожие диссертационные работы по специальности «Методы и системы защиты информации, информационная безопасность», 05.13.19 шифр ВАК

Список литературы диссертационного исследования кандидат наук Таранов Сергей Владимирович, 2018 год

Список литературы

1. Jongsma E. Algebraic Manipulation Detection Codes // Bachelorscriptie, Mathematisch Instituut, Universiteit Leiden. — 2008.

2. Karpovsky M. G. Wang Z. Design of strongly secure communication and computation channels by nonlinear error detecting codes // Computers, IEEE Transactions on. — 2014. — Vol. 63, no. 11. — Pp. 2716-2728.

3. Karpovsky M. G. Kulikowski K. J. Wang Z. On-line self error detection with equal protection against all errors // Int. J. High. Reliab. Electron. Syst. — 2008.

4. Karpovsky M. G. Kulikowski K. J. Wang Z. Robust error detection in communication and computational channels // Spectral Methods and Multirate Signal Processing. SMMSP'2007. 2007 International Workshop on / Citeseer. — 2007.

5. Karpovsky M. G., Taubin A. A New Class of Nonlinear Systematic Error Detecting Codes // IEEE Trans Info Theory. — 2004. — Vol. 50, no. 8. — Pp. 18181820.

6. Cramer R., Fehr S., Padro C. Algebraic manipulation detection codes // Sci China Math. — 2013. — Vol. 56, no. 7. — Pp. 1349-1358.

7. Cramer R. Dodis Y. Fehr S. Detection of Algebraic Manipulation with Application to robust secret sharing and fuzzy extractors // Proceeding of the theory and applications of cryptographic techniques 27th annual international conference on Advances in cryptology. — 2008. — Pp. 471-488.

8. Keren O. Shumsky I. Karpovsky M. G. Robustness of Security-Oriented Binary Codes Under Non-Uniform Distribution of Codewords // DEPEND 2013, The Sixth International Conference on Dependability. — 2013. — Pp. 25-30.

9. Shumsky I. Keren O. Security-Oriented State Assignment // The 1st Workshop on Trustworthy Manufacturing and Utilization of Secure Devices. — 2013. — Pp. 103-108.

10. Алексеев М. О. Мирончиков Е. Т. Об обнаружении ошибок с помощью нелинейных кодов // Научная сессия ГУАП: Сб. докл.: В 3 ч. Ч. I. Технические науки. — 2011. — Pp. 40-43.

11. М.О. Алексеев. Новая конструкция систематического надежного кода // Известия ВУЗов. Приборостроение. — 2013. — Pp. 24-27.

12. М.О. Алексеев. Об обнаружении алгебраических манипуляций с помощью операции умножения // Информационно-управляющие системы. — 2014.

— Pp. 103-108.

13. Коржик Ф. М. Финк Л. М. Помехоустойчивое кодирование дискретных сообщений в каналах со случайной структурой // Связь. — 1975. — P. 272.

14. Moldovyan N. Levina A. Taranov S. Symmetric Encyption for Error Correction // Proceedings of the 20th Conference of Open Innovations Association FRUCT. — 2017. — Pp. 1-12.

15. Levina A. Taranov S. Creation of codes based on wavelet transformation and its application in ADV612 chips // International Journal of Wavelets, Multiresolution and Information Processing. — 2017. — Vol. 15, no. 2. — P. 1750014.

16. Levina A.B. Taranov S.V. Algorithms of constructing linear and robust codes based on wavelet decomposition and its appllication // Lecture Notes in Computer Science. — 2015. — Vol. 9084. — Pp. 247-258.

17. Levina A.B. Taranov S.V. New Construction of Algebraic Manipulation Detection Codes Based on Wavelet Transform // Proceedings of the 18th Conference of Open Innovations Association FRUCT. — 2016. — Pp. 187-192.

18. Levina A.B. Taranov S.V. Second-Order Spline-Wavelet Robust Code under Non-Uniform Codeword Distribution // Procedia Computer Science. — 2015.

— Vol. 62. — Pp. 297-302.

19. Levina A. Taranov S. Spline-wavelet robust code under non-uniform codeword distribution // Proceedings of the 2015 3rd International Conference on Computer, Communication, Control and Information Technology, C3IT 2015. — 2015. — P. 7060125.

20. Levina A.B. Kuzmin I. Taranov S.V. Reed Solomon Codes and its Application for Cloud Storage System // 3rd International Conference on Future Generation Communication Technologies, FGCT 2014. — 2014. — Pp. 46-49.

21. Левина А. Б. Таранов С. В. Построение линейных и надежных кодов на основе коэффициентов масштабирующих функций вейвлетных преобразований // Сибирский журнал индустриальной математики. — 2015. — Vol. 18, no. 63. — Pp. 49-56.

22. Levina A. Taranov S. Kaplun D., D. Klionskiy. AMD codes based on wavelet transform // Progress in Electromagnetics Research Symposium - Fall (PIERS

- FALL). — 2017. — Pp. 2534-2539.

23. Levina A.B. Taranov S.V. Investigation of influence of encoding function complexity on distribution of error masking probability // Научно-технический вестник информационных технологий, механики и оптики. — 2016. — Vol. 16, no. 2(102). — Pp. 331-337.

24. Levina A.B. Carlet C. Taranov S.V. Algebraic manipulation detection codes with perfect nonlinear functions under non-uniform distribution // Научно-технический вестник информационных технологий, механики и оптики.

— 2017. — Vol. 17, no. 6(112). — Pp. 1052-1062.

25. Levina A.B. Taranov S.V. Construction of Linear and Robust Codes That Is Based on the Scaling Function Coefficients of Wavelet Transforms // Journal of Applied and Industrial Mathematics. — 2015. — Vol. 9, no. 4. — Pp. 540-546.

26. С.В. Таранов. Построение кодов, исправляющих ошибки, на сплайн-вэйвлетных разложениях и их использование для защиты атак по сторонним каналам // Региональная информатика "РИ-2014". — 2014. — Pp. 574-575.

27. С.В. Таранов. Построение линейных и надежных кодов на основе вэйвлетных преобразований // Сборник тезисов докладов конгресса молодых ученых 2015. — 2015. — Pp. 574-575.

28. Катаржнов А. Д. Таранов С. В. Системы, методы и средства технической защиты информации в информационных системах персональных данных //

Межвузовский сборник трудов VII Всероссийской научно-технической конференции КОНФИБ'16. — 2016. — Pp. 1-10.

29. Катаржнов А.Д. Таранов С.В. Обеспечение безопасности персональных данных в информационных системах органов государственной власти и муниципальных образований // Университет ИТМО. — 2017. — P. 180.

30. Левина А.Б. Таранов С.В. Построение AMD-кодов на основе вейвлетных преобразований // Научные работы участников конкурса "Молодые ученые Университета ИТМО". — 2016. — Pp. 175-181.

31. Nguyen N. Reiher P. Kuenning G. Detecting Insider Threats by Monitoring System Call Activity // In Proc. of IEEE Workshop on Information Assurance. — 2001.

32. Hasan R. Myagmar S. Lee A. J. Toward a threat model for storage systems // Proceedings of the 2005 ACM workshop on Storage security and survivability.

— 2005. — Pp. 94-102.

33. Stanton P. Yurcik W. Brumbaugh L. Multimedia Data in Storage. A Survey of Techniques Emphasizing Encryption // In International Symposium Electronic Imaging Storage and Retrieval Methods and Applications for Multimedia. — 2005.

34. Chow J. Pfaff B. Garfinkel T. Shredding Your Garbage. Reducing Data Lifetime Through Secure Deallocation // In Proc. of 14th Usenix Security Symposium.

— 2005.

35. Pennington A. Strunk J. Griffin J. Storage-Based Intrusion Detection: Watching Storage Activity for Suspicious Behavior // In Proceeding of Usenix Security Symposium. — 2003.

36. P. Reiher. File Profiling for Insider Threats // Technical Report. — 2002.

37. Hasan R. Tucek J. Stanton P. The Techniques and Challenges of Immutable Storage for Applications in Multimedia // International Symposium Electronic Imaging/Storage and Retrieval Methods and Applications for Multimedia. — 2005.

38. Haubert E. Tucek J. Brumbaugh L. Tamper-Resistant Storage Techniques for Multimedia Systems // In International Symposium Electronic Imaging Storage and Retrieval Methods and Applications for Multimedia. — 2005.

39. McDermott J. Goldschlag D. Storage Jamming // In Proc. of the Ninth Annual IFIP TC11 WG11.3 Working Conference on Database Security IX: Status and Prospects. — 1996. — Pp. 365-381.

40. D.M. Ranjeet. Efficient Selection of Compression-Encryption Algorithms for Securing Data Based on Various Parameters: Ph.D. thesis / Department of Computer Engineering and Information Technology, College of Engineering, Pune.

— 2014.

41. Lv C., Zhao Q. Integration of Data Compression and Cryptography: Another Way to Increase the Information Security // Advanced Information Networking and Applications Workshops. — 2007. — Vol. 2. — Pp. 543-547.

42. Sharma R., Bollavarapu S. Data Security using Compression and Cryptography Techniques // International Journal of Computer Applications. — 2015. — Vol. 117, no. 14. — Pp. 15-18.

43. Brar R. S., Singh S. Efficient Cryptography with Compression/Decompression Mechanism of Text Files against IP spoofing // International Journal of Application or Innovation in Engineering and Management (IJAIEM). — 2013. — Vol. 2, no. 7. — Pp. 168-173.

44. Kulikowski K. J. Karpovsky M. G. Taubin A. Robust codes and robust, fault-tolerant architectures of the Advanced Encryption Standard // Journal of systems Architecture. — 2007. — Vol. 53, no. 2. — Pp. 139-149.

45. Kulikowski K. J. Karpovsky M. G. Taubin A. Fault Attack Resistant Cryptographic Hardware with Uniform Error Detection // Lecture Notes in Computer Science. — 2006. — Vol. 4236. — Pp. 185-195.

46. Sarkar P. Fitzgerald S. Attack on SSL, a comprehensive study of BEAST, CRIME, TIME, BREACH, Lucky13 and RC4 biases // Isecpartners nccgroup.

— 2013. — Pp. 1-23.

47. Kocher P. Jaffe J. Jun B. Introduction to Differential Power Analysis and related attacks // Journal of Cryptographic Engineering. — 2011. — Vol. 1, no. 1.

— Pp. 5-27.

48. Kocher P. Jaffe J. Jun B. Differential Power Analysis // In proceedings of CRYPTO 1999. — 1999. — Pp. 388-397.

49. Messerges T. Dabbish E. Sloan R. Examining Smart-Card Security under the Threat of Power Analysis Attacks // IEEE Transactions on Computers. — 2002.

— Vol. 51, no. 5. — Pp. 541-552.

50. Wang Z. Karpovsky M. G. New Error Detecting Codes for the Design of Hardware Resistant to Strong Fault Injection Attacks // Proc. Int. Conference on Security and management, SAM. — 2012.

51. Ge S. Wang Z. Karpovsky M. Secure memories resistant to both random errors and fault injection attacks using nonlinear error correction codes // Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy / ACM. — 2013. — P. 5.

52. Ge S. Wang Z. Karpovsky M.G. Reliable and Secure Memories Based on Algebraic Manipulation Detection Codes and Robust Error Correction // Proc. Int. Depend Symp / Citeseer. — 2013.

53. Luo P. Wang Z. Karpovsky M. G. Secure nand flash architecture resilient to strong fault-injection attacks using algebraic manipulation detection code // Proceedings of the International Conference on Security and Management (SAM) / The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp). — 2013. — P. 1.

54. Фрейзер М. Введение в вэйвлеты в свете линейной алгебры. — Москва:БИНОМ. Лаборатория знаний, 2008. — P. 104.

55. Мак-Вильямс Ф. Дж. Слоэн Н. Дж. Теория кодов, исправляющих ошибки.

— Москва: Связь, 1979.

56. Karpovsky M. G. Nagvajam P. Optimal codes for the minimax criteria on error detection // IEEE Trans on Information Theory. — 1989. — Vol. 35, no. 6. — Pp. 1299-1305.

57. Karpovsky M. G. Kulilowski K. J. Taubin A. Robust protection against fault-injection attack on smart cards implemention the Advanced Encryption standard // Proceeding of Dependeable Systems and Networks. — 2004. — Pp. 93101.

58. Akdemir K. D. Wang Z. Karpovsky M. G. Design of cryptographic devices resilient to fault injection attacks using nonlinear robust codes // Fault Analysis in Cryptography. — 2012. — Pp. 171-199.

59. Kulikowski K. J., Karpovsky M. G. Robust correction of repeating Errors in by Nonlinear Codes // IET Communications. — 2011. — Vol. 5, no. 16. — Pp. 2317-2327.

60. Carlet C., Ding C. Highly Nonlinear Mapping // Special Issue "Complexity Issues in Coding and Cryptography Journal of Complexity 20. — 2004. — Pp. 205244.

61. Wang Z. Karpovsky M. G. Algebraic manipulation detection codes and their applications for design of secure cryptographic devices // On-Line Testing Symposium (IOLTS), 2011 IEEE 17th International / IEEE. — 2011. — Pp. 234-239.

62. Wang Z. Karpovsky M. G. Reliable and secure memories based on algebraic manipulation correction codes // On-Line Testing Symposium (IOLTS), 2012 IEEE 18th International / IEEE. — 2012. — Pp. 146-149.

63. Wang Z. Karpovsky M. G. Sunar B. Design of reliable and secure multipliers by multilinear arithmetic codes // in Information and Communication Security. — 2009. — Vol. 5927. — Pp. 47-62.

64. Carlet C. Guilley S. Complementary dual codes for counter measures to side-channel attacks // Advances in Mathematics of Communications (AMC). — 2016. — Vol. 10, no. 1. — Pp. 131-150.

65. Wang Z, Karpovsky M. G. New Error Detecting Codes for design of Hardware Resistant to Strong Fault Injection Attacks // Proc. Int. Conference on Security and Management. — 2012.

66. Яковлев А. Н. Введение в вейвлет-преобразования. — Новосибирск: Издательство НГТУ, 2003.

67. Добеши И. Десять лекций по вейвлетам. — Ижевск: НИЦ Регулярная и хаотическая динамика, 2001. — P. 464.

68. Чуи Ч. Введение в вейвлеты. — Москва: Мир, 2001. — P. 412.

69. Новиков И. Я. Протасов В. Ю. Скопина М.А. Теория всплесков. — Москва: ФИЗМАТЛИТ, 2006. — P. 616.

70. Воробьев В. И. Грибунин В. Г. Теория и практика вейвлет-преобразования.

— Санкт-Петербург: Издательство ВУС, 1999. — P. 204.

71. Демьянович Ю. К. Ходаковский В. А. Введение в теорию вейвлетов. Курс лекций. — Санкт-Петербург: Издательство ПГУПС, 2007. — P. 49.

72. Демьянович Ю. К. Косогоров О. М. О параллельном вэйвлетно-сплайновом адаптивном сжатии // Процессы управления и устойчивость. Труды 38-й международной научной конференции аспирантов и студентов. — 2007.

— Pp. 152-155.

73. Демьянович Ю.К. Косогоров О.М. Алгоритмы параллельного вейвлетно-сплайного адаптивного сжатия. Высокопроизводительные параллельные вычисления на кластерных системах // Материалы шестого Международного научно-практического семинара. — 2007. — Vol. 1. — Pp. 169-175.

74. Левина А. Б. О вэйвлетных разложениях линейных пространств над произвольным полем и о некоторых приложениях // Журнал Математическое моделирование. — 2008. — Vol. 20, no. 104-108.

75. Левина А. Б. Использование сплайнов первого порядка в шифровании // Вестник Санкт-Петербургского Университета. — 2009. — Vol. 3. — Pp. 82-94.

76. Левина А. Б. Сплайн-вэйвлеты и их некоторые применения. — LAP LAMBERT Academic Publishing, 2011. — P. 224.

77. Wang Z. Karpovsky M. G. Kulikowski K. J. Design of memories with concurrent error detection and correction by nonlinear SEC-DED codes // Journal of Electronic Testing. — 2010. — Vol. 26, no. 5. — Pp. 559-580.

78. Nyberg K. Perfect non-linear S-boxes // Lecture Notes in Computer Science. — 1992. — Vol. 547. — Pp. 378-386.

79. Micheloni R. Ravasio R. Marelli A. A 4Gb 2b/cell NAND Flash Memory with Embedded 5b BCH ECC for 36MB/s System Read Throughput // IEEE International Solid-State Circuits Conference. — 2006. — Pp. 497-506.

80. Cho S. Kim D. Choi J. Block-wise concatenated bch codes for NAND flash memories // IEEE Transactions on Communications. — 2014. — Vol. 62. — Pp. 1164-1177.

81. Chen B. Zhang X. Wang Z. Error correction for multi-level NAND flash memory using Reed-Solomon codes // Proceedings of the 2008 IEEE Workshop on Signal Processing Systems (SiPS2008). — 2008. — Pp. 94-99.

82. P. Kocher. Timing attacks on implementations of Diffie-Hellmann, RSA, DSS,and other systems // CRYPTO'96, LNCS 1109. — 1996. — Pp. 104-113.

83. Kocher P. Jaffe J. Jun B. Differential power analysis // CRYPTO'99,LNCS 1666. — 1999. — Pp. 388-397.

84. Kocher P. Lee R. McGraw G. Security as a New Dimension in Embedded System Design // Proc of IEEE DAC'2004. — 2004. — Pp. 753-761.

Приложение А

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

Исходный код программы для генерирования

кодовых слов повторяющегося линейного кода.

#include <stdio.h>

#include <math.h>

#include <time.h>

int main() {

//variable

//size - длина слов, number - количесто слов в коде int size=10, i, j, div,kol; float percent,vremya;

i=(int) pow(2,size); //размерность поля int code[i][2*size]; clock_t start,end;

for (i=0;i<pow(2,size);i++)

for (j=0;j<2*size;j++)

code[i][j]=0;

// массив векторов ошибок

//div - целое от деления

for (i=0;i<pow(2,size);i++){

div=i; j=size-1;

while (1) {

code[i][j]=div%2;

if (j!=0) j-- ;

else

break;

div=div/2;

if ((div==1) || (div==0))

code[i][j]=div; }

}

start = clock();

for (i=0;i<pow(2,size);i++){

for (j=size;j<2*size;j++){

code[i][j]=code[i][j-size];

}

}

end = clock();

vremya=((double)(end-start)*1000)/CL0CKS_PER_SEC; printf("Время выполнения кодирования \t %1.10f\n", vremya); FILE* out = fopen ("/home/in.txt","w"); for (i=0;i<pow(2,size);i++){ for (j=0;j<2*size;j++)

fprintf(out,"%i ", code[i][j]); fprintf(out,"\n");

}

fclose(out);

return 0; }

//Исходный код программы для генерирования

//кодовых слов надежного нелинейного кода.

#include <stdio.h>

#include <math.h>

#include <time.h>

#define SIZE 10

int remain[SIZE+1], parametr1[SIZE+1], parametr2[SIZE+1], chastnoe[SIZE+1], multiply[2*SIZE+2];

//глобальные переменные

//необходимые для нахождения мультипликативного обратного

// в поле по модулю неприводимого многочлена GF(2~11) =x~11+x~2+1

//функция, реализующая алгоритм евклида void evclid () {

int i, j, length1, length2, dlina;

int old_delimoe[SIZE+1], new_del[SIZE+1], old_result[SIZE+1];

//очистка параметров

white(old_delimoe);

white(old_result);

white(new_del);

white(remain);

white(chastnoe);

//расчитываем длину параметров

length1=shift(parametr1);

length2=shift(parametr2);

//выполняем первое деление divide();

//запоминаем значения, необходимые для вычисления x~-1

for (i=0;i<SIZE+1;i++)

old_delimoe[i]=parametr1[i];

for (i=0;i<SIZE+1;i++)

old_result[i]=chastnoe[i];

while (1) {//пока остаток не равен 1, выполняем

if (((remain[0]==1) && (remain[1]==-1))||(remain[1]==-1))

break;

white(parametr1);

for (i=0;i<SIZE+1;i++) parametr1[i]=parametr2[i]; for (i=0;i<SIZE+1;i++) new_del[i]=parametr1[i];

white(parametr2);

for (i=0;i<SIZE+1;i++)

parametr2[i]=remain[i];

white(remain);

white(chastnoe);

//продолжаем деление пока остаток не будет равняться 1 divide();

for (i=0;i<SIZE+1;i++)

old_delimoe[i]=new_del[i];

white(parametr1);

white(parametr2);

for (i=0;i<SIZE+1;i++)

parametr1[i]=old_result[i];

for (i=0;i<SIZE+1;i++)

parametr2[i]=chastnoe[i];

mult();

for (i=0;i<SIZE+1;i++) old_result[i]=multiply[i];

plus(old_result,old_delimoe); }

//приведем к стандартному виду for (i=0;i<SIZE+1;i++) if (old_result[i]==-1){ dlina=i;

break; }

for(i=0;i<SIZE+1;i++)

remain[i]=0;

for (i=0;i<dlina;i++)

remain[SIZE-i]=old_result[dlina-i-1]; }

//функция, осуществляющая сложение векторов void plus(int* massiv1, int* massiv2){ int i,dlina1,dlina2; dlina1=shift(massiv1); dlina2=shift(massiv2);

if (dlina1>=dlina2){ for (i=0;i<dlina2;i++)

massiv1[dlina1-i-1]=(massiv1[dlina1-i-1]

+massiv2[dlina2-i-1] )0/02; }

else{

for (i=0;i<dlina1;i++) if (massiv1[dlina2-i-1]==-1) massiv1[dlina2-i-1]=massiv2[dlina2-i-1]; else

massiv1[dlina2-i-1]=(massiv1[dlina1-i-1]

+massiv2[dlina2-i-1] )%/02; }

dlina1=shift(massiv1); }

//функция-вывод

void vivod (int* massiv){

int i;

for (i=0;i<SIZE+1;i++)

printf(M%iM,massiv[i]);

printf("\n");

}

//функция для очистки векторов void white(int* massiv){ int i;

for (i=0;i<SIZE+1;i++)

massiv[i]=-1; }

//функция, реализующая умножение в поле void mult () {

int i,j,length1,length2,dlina; int buffer[2*SIZE+2];

//расчитываем длину параметров

length1=shift(parametr1);

length2=shift(parametr2);

//инвертируем делимое

for (i=0;i<length1+1;i++)

remain[SIZE+1-i]=parametr1[length1-i];

//инвертируем делитель

for (i=0;i<length2+1;i++)

chastnoe[SIZE+1-i]=parametr2[length2-i];

//printf("\n\n\n\nbufer if dkina2 %i

\t dlina1 %i \t\n",length1,length2);

if (length1>length2){

for (i=0;i<length2;i++){

if (chastnoe[SIZE+1-i-1]==1){

for (j=0;j<2*SIZE+2;j++)

buffer[j]=-1;

for (j=0;j<length1;j++)

buffer[2*SIZE+2-j-1]=remain[SIZE+1-j-1];

nuli(buffer,i);

for (j=0;j<length1+i;j++){

if (multiply[2*SIZE+2-j-1]==-1)

multiply[2*SIZE+2-j-1]=buffer[2*SIZE+2-j-1];

else

multiply[2*SIZE+2-j-1]=(multiply[2*SIZE+2-j-1]

+buffer[2*SIZE+2-j-1])0/2; }

}

else {

for (i=0;i<length1;i++){

if (remain[SIZE+1-i-1]==1){

for (j=0;j<2*SIZE+2;j++)

buffer[j]=-1;

for (j=0;j<length2;j++)

buffer[2*SIZE+2-j-1]=chastnoe[SIZE+1-j-1];

nuli(buffer,i);

for (j=0;j<length2+i;j++){

if (multiply[2*SIZE+2-j-1]==-1)

multiply[2*SIZE+2-j-1]=buffer[2*SIZE+2-j-1];

else

multiply[2*SIZE+2-j-1]=(multiply[2*SIZE+2-j-1]

+buffer[2*SIZE+2-j-1])0/2; }

}

//инвертируем произведение

for (j=0;j<2*SIZE+2;j++)

buffer[j]=-1;

dlina=length(multiply);

for (j=0;j<2*SIZE+2-dlina;j++)

buffer[j]=multiply[dlina+j];

for (i=0;i<2*SIZE+2;i++)

multiply[i]=buffer[i]; }

//функция для умножение на вектора, задаваемые степенью 2

void nuli (int* massiv, int sdvig) {

int i,dlina;

if (sdvig==0)

return;

dlina=length(massiv);

for (i=0;i<(2*SIZE+2-dlina);i++){

massiv[dlina-sdvig+i]=massiv[dlina+i];

massiv[dlina+i]=-1; }

for (i=2*SIZE+2-sdvig;i<2*SIZE+2;i++)

massiv[i]=0; }

//деление многочленов с остатком void divide () { int i,j,l,block,length; int delitel[SIZE+1];

//массив для хранения промежуточных данных

for (i=0; i<SIZE+1;i++)

delitel[i]=-1;

//расчитываем длину параметров length=shift(parametr1); block=shift(parametr2); //инвертируем делимое for (i=0;i<length;i++) remain[SIZE-i]=parametr1[i]; //инвертируем делитель for (i=0;i<block;i++)

delitel[SIZE-i]=parametr2[i];

//регистр сдвига с обратной связью for (i=0;i<length-block+1;i++){ chastnoe[SIZE-i]=remain[SIZE];

if (chastnoe[SIZE-i]==1){ for (j=0;j<block;j++){

remain[SIZE-j]=(remain[SIZE-j]+delitel[SIZE-j])%2; }

}

for (l=0;l<length;l++){

remain[SIZE-l]=remain[SIZE-l-1]; }

}

//приводим к стандартному виду

for (i=0; i<SIZE+1;i++)

delitel[i]=-1;

for (i=0;i<length;i++)

delitel[i]=remain[SIZE-i];

for (i=0; i<SIZE+1;i++)

remain[i]=-1;

for (i=0;i<length;i++)

remain[i]=delitel[i] ;

length=shift(remain);

//инвертируем остаток

for (i=0; i<SIZE+1;i++)

delitel[i]=-1;

for (i=0;i<SIZE;i++)

delitel[i]=chastnoe[SIZE-i];

for (i=0; i<SIZE+1;i++)

chastnoe[i]=-1;

for (i=0;i<SIZE;i++){

chastnoe[i]=delitel[i]; }

}

//функция для вычисления

// длины двоичной последовательности

int length (int* massiv) {

int i;

for (i=0;i<2*SIZE+2;i++){ if (massiv[i]!=-1)

return i; }}

//глобальная очистка переменных void clean () { int i;

for (i=0; i<2*SIZE+2;i++){ if (i<SIZE+1){ parametr1[i]=-1; parametr2[i]=-1; remain[i]=-1;

chastnoe[i]=-1; }

multiply[i]=-1; }

}

//сдвиг необходимый для выполнения деления

int shift (int* massiv) {

int i,j,sdvig=0;

if (massiv[0]!=0){

for (i=0;i<(SIZE+1);i++){

if (massiv[i]==-1)

return i; }

return SIZE;

}

else{

for (i=1;i<(SIZE+1);i++)

if ((massiv[i]!=0)&&(massiv[i]!=-1)){

sdvig=i;

break; }

if (sdvig==0) return 0;

for (i=0;i<(SIZE+1-sdvig);i++){

massiv[i]=massiv[i+sdvig];

massiv[i+sdvig]=-1;

if (i==(SIZE-sdvig))

for (j=SIZE+1-sdvig;j<SIZE;j++)

massiv[j]=-1; }

for (i=0;i<SIZE;i++) if (massiv[i]==-1)

return i; }

}

//тело программы

int main() {

clean();

int i,j,k,div,kol,dlina;

i=(int) pow(2,SIZE); //pow of field

int code[i][2*SIZE];

clock_t start,end;

float vremya;

for (i=0;i<pow(2,SIZE);i++) for (j=0;j<2*SIZE;j++) code[i][j]=0;

// matrix of error

//div - целое от деления

for (i=0;i<pow(2,(SIZE-1));i++){

div=i; j=SIZE-1;

while (1) {

code[i][j]=div%2;

if (j!=0)

else

break;

div=div/2;

if ((div==1) || (div==0))

code[i][j]=div; }

}

start = clock();

for (i=2;i<pow(2,(SIZE-1));i++){

white(parametr2);

parametr2[0]=0;

for (j=1;j<SIZE;j++)

parametr2[j]=code[i] [j];

evclid();

for (j=0;j<SIZE+1;j++)

code[i][SIZE+j]=remain[j + 1]; }

end = clock();

vremya=((double)(end-start)*1000) /CLOCKS_PER_SEC;

printf("Время выполнения кодирования \t %1.10f\n", vremya);

FILE* out = fopen ("/home/serg/in.txt","w"); for (i=0;i<pow(2,(SIZE-1));i++){

for (j=1;j<SIZE;j++) fprintf(out,"0/i ",code[i][j]); for (j=SIZE+1;j<2*SIZE;j++) fprintf(out,"0/i ",code[i][j]);

fprintf(out,"\n"); }

fclose(out);

return 0; }

//Исходный код программы для генерирования

II WW WW

//кодовых слов сплайн-вейвлетного с зависимой сеткой кода. #include <stdio.h> #include <math.h> #include <time.h>

int main() {

int size=10,i,j,k,c,div,kol; float percent,vremya; i=(int) pow(2,size); //pow of field int code[i][2*size]; clock_t start,end;

for (i=0;i<pow(2,size);i++) for (j=0;j<2*size;j++) code[i][j]=0;

// генерирование информационной части

for (i=0;i<pow(2,size);i++){

div=i; j=size-1;

while (1) {

code[i][j]=div%2;

if (j!=0)

else

break;

div=div/2;

if ((div==1) || (div==0))

code[i][j]=div; }

}

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