Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Самарский государственный архитектурно-строительный университет Факультет информационных систем и технологий Кафедра прикладной математики и вычислительной техники Отчет по лабораторной работе № 1 по дисциплине: «Защита информации» ВЫПОЛНИЛ студент группы ГИП-113 ПРОВЕРИЛ проф., д.т.н. оценка Самара 2015 г. Алексанова Е. В. Прохорова О. В. Оглавление 1. Постановка задачи ............................................................................................................ 3 2. Аналитическая часть......................................................................................................... 4 3. Конструкторская часть ..................................................................................................... 7 Библиографический список ....................................................................................................... 10 2 1. Постановка задачи 1. В пространстве сообщений Е(b, 2) назначить множество кодов с исправлением ошибок. 2. В пространстве сообщений Е(b, 2) построить коды с обнаружением и исправлением ошибки. В задании b <=6 выбирается самостоятельно 3 2. Аналитическая часть Введем пространство сообщений в виде E(n, Um), где Um - алфавит, m - размерность алфавита, n - число символов из алфавита, образующих сообщение (слово) [1]. Такое пространство сообщений можно рассматривать как метрическое пространство, в котором расстояние между двумя сообщениями x и y, обозначаемое d (x, y) есть число различающихся символов в сообщениях x и y. Пример 1.1. Пусть имеем алфавит U2 = {0,1} и пространство сообщений E(6, U2), в котором формируются сообщения: x = (0 1 0 1 0 0), y = (1 1 1 0 0 0). Расстояние по Хеммингу между этими сообщениями будет равно 3, то есть d (x, y) = 3. Приведенное определение расстояния d(x,y) в пространстве сообщений удовлетворяет всем свойствам расстояния. В процессе передачи информации по каналам связи возможно искажение передаваемого сообщения. При использовании двоичного алфавита искажение может привести к тому, что в принятом сообщении какая-нибудь переданная единица сменит свое значение на ноль или наоборот ноль исказится и примет значение единица. Возникает вопрос, как построить коды, позволяющие обнаружить такие сбои при передаче информации и позволяющие восстановить значения искаженных разрядов. Назовем коды, обладающие свойством обнаружения сбоев и восстановления искаженных разрядов при передаче информации помехоустойчивыми. 4 Рассмотрим случай, когда в процессе передачи сообщения оно может исказиться не более чем в k разрядах. В пространстве сообщений E(n, U2) выделим подмножество Hk E( n, U2), обладающее тем свойством, что для x, y Hk выполняется неравенство d (x, y) > k (1.1) Множество Hk назовем множеством осмысленных слов. Тогда любое x1 Hk будет бессмысленным словом. Предположим, что при передаче слова x Hk оно исказилось и перешло в x1, но поскольку по условию искажение может произойти не более чем в k разрядах, то расстояние d(x, x1) k, следовательно, x1 Hk и x1 есть бессмысленное слово. Таким образом, коды, удовлетворяющие условию (1.1), есть коды с обнаружением ошибки. Пример 1.2. В пространстве сообщений E(3, U2 ) сформировать множество осмысленных слов. Решение. Предлагается в качестве множества осмысленных слов H1 рассматривать множество { 000, 011, 110,101} c расстоянием между кодами 2. Тогда при k = 1 при передаче сообщения искажение в любом одном разряде превратит слово в бессмысленное. Пример 1.3. В пространстве сообщений E(n-1, U2) сформировать множество осмысленных слов. Коды с избыточностью – это коды, у которых количество осмысленных слов меньше общего числа возможных слов. Наличие избыточности является необходимым условием построения помехоустойчивых кодов. Рассмотрим построение 5 кодов с обнаружением и исправлением ошибок, возникших при передаче сообщений. Предположим, что в процессе передачи информации может исказиться не более k разрядов кода. Множество осмысленных слов Hk E(n, U2) назначим таким образом, чтобы расстояние между его кодами подчинялось условию d (x, y) > 2k (1.2) для x, y Hk. Пусть в результате искажения код x перешел в код x1, тогда d(x, x1) k. Запишем неравенство треугольника d(x, y) d (x, x1) + d (x1, y). Усилим неравенство: 2k < k + d(x1, y) , что равносильно неравенству d(x1,y) > k. Последнее неравенство показывает, что расстояние от ошибочного слова x1 до слова x, подвергшегося искажению, меньше чем до любого другого осмысленного слова, тем самым позволяет восстановить правильное сообщение x. Коды, удовлетворяющие условию (1.2) называются кодами с исправлением ошибок. 6 3. Конструкторская часть Пусть имеем алфавит U2 = {0,1} и пространство сообщений E(6, U2), в котором формируются сообщения. Здесь b = 6. 1. Построим коды с обнаружением ошибки . Для этого введем правило их обнаружения: d (x, y) > k Пусть k =2. Тогда возможное расстояние между кодами должно быть больше 2. Пространство сообщений E(6, U2) будет состоять из 2^6 различных кодов, выберем из них коды с расстоянием больше 2 между каждым из кодов: 000000 000111 110011 111000 010101 101010 ЭТО МНОЖЕСТВО КОДОВ НАЗОВЕМ ПРОСТРАНСТВОМ СООБЩЕНИЙ С ОБНАРУЖЕНИЕМ ОШИБКИ. Проверим это. Пусть передается сообщение a = 101010. По условию задачи в нем может исказиться не более 2-х символов. Пусть вместо него было получено сообщение b = 101111. Проверим расстояние между кодами a , b. Получим d(a,b) = 2. Значит сообщение b есть ошибочное, т.к. расстояние от b до любого сообщения из множества H2 должно быть больше 2. 7 Найдем все расстояния между этим сообщением и кодами из множества H2. Получим: d(101111,000000) = 5, d(101111,000111) = 2, d(101111,110011) = 3, d(101111,111000) = 4. d(101111,010101) = 4, d(101111,101010) = 2. Делаем заключение, что полученный код b = 101111 имеет с некоторыми кодами множества H2 расстояние не больше k=2. А это говорит лишь о том, что это ошибочное сообщение. 2. Построим коды с обнаружением и исправление ошибки . Для этого введем правило их обнаружения: d (x, y) > 2k Пусть k =1. Тогда возможное расстояние между кодами должно быть больше 2. Пространство сообщений E(6, U2) будет состоять из 2^6 различных кодов, выберем из них коды с расстоянием больше 2 между каждым из кодов: 000000 000111 110011 111000 010101 101010 ЭТО МНОЖЕСТВО КОДОВ НАЗОВЕМ ПРОСТРАНСТВОМ СООБЩЕНИЙ С ОБНАРУЖЕНИЕМ И ИСПРАВЛЕНИЕМ ОШИБКИ. 8 Проверим это. Пусть передается сообщение a = 101010. По условию задачи в нем может исказиться не более 1 разряда. Пусть вместо него было получено сообщение b = 101011. Проверим расстояние между кодами a , b. Получим d(a,b) = 1. Значит сообщение b есть ошибочное, т.к. расстояние от b до любого сообщения из множества H2 должно быть больше 2. Найдем все расстояния между этим сообщением и кодами из множества H2. Получим: d(101011,000000) = 4, d(101011,000111) = 3, d(101011,110011) = 2, d(101011,111000) = 3. d(101011,010101) = 5, d(101011,101010) = 1. Делаем заключение, что полученный код b = 101011 имеет со всеми кодами множества H2 кроме кода a = 101010 расстояние больше 1. А это говорит о том, что именно это сообщение было искажено и ему нужно вернуть прежний вид, т.е. 101010. 9 Библиографический список 1. Прохорова, О.В. Информационные технологии. Часть 1. Курс лекций. СГАСУ, 2014 г. —149с. 10