Рефераты. Завадостійке кодування на основі циклічних кодів

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

Другий метод припускає наявність каналу зворотного зв'язку і знаходить своє застосування в каналах з достатньо малою імовірністю помилки у випадку, якщо цю імовірність помилки необхідно ще знизити.

Така ситуація часто виникає в обчислювальних мережах і в Інтернеті.

Типове значення імовірності помилки на біт без кодування в обчислювальних мережах складає 10-6. Використання простих кодів з невеликою надмірністю дозволяє досягти вірогідності 10-9 і нижче.

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

Контрольні суми можуть використовуватись і для перевірки цілісності файлів, яка може бути порушена в результаті дій зловмисника, оскільки задача виявлення помилок в каналі передачі ідентична задачі перевірки цілісності файлів на диску комп'ютера.

Циклічні коди, можуть використовуватись як для кодування з виправленням помилок так і для формування контрольних сум. Але як показано вище метод з формуванням контрольних сум має переваги в комп'ютерних обчислювальних мережах. Для формування контрольних сум використовують циклічні надлишкові CRC (Cyclic redundancy code) коди [2-3], які вже стали основою багатьох стандартів. Тому ці коди і вибрані для подальшої реалізації та дослідження.

1.2 Аналіз існуючих програм

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

В першу чергу це архіватори WinRAR, WinZIP та інші, які використовують CRC - коди для формування контрольних сум для архівів. Ці програми призначені для ущільнення даних і формування контрольних сум є допоміжною функцією збереження цілісності ущільнених даних. Більшість файлів даних на дисках персональних комп'ютерів невеликі за розміром, так що немає необхідності їх ущільнювати. Для таких файлів архіватори не дозволяють формувати контрольні суми. Це є одним з важливих недоліків програм даного типу. Іншим недоліком є закритість кодів цих програм, що не дозволяє використовувати їх для навчання програмуванню задач завадостійкого кодування. Крім того, необхідне придбання ліцензії на право їх використання.

Іншу важливу групу складають платні утиліти для формування контрольних сум з використанням CRC - кодів .

Утиліта FastCRC Library це швидка програма, яка дозволяє обчислювати контрольні суми, з використанням популярних алгоритмів CRC32, CRC16, та інші. Можна обчислювати контрольні суми для файлів, блоків пам'яті, рядків, потокових даних. Дана програма підтримує декілька інтерфейси. Довідковий файл має приклади на мовах C, C++ і Visual Basic, які показують, як додати обчислення контрольних сум до Windows додатків на максимально можливій швидкості. Недоліком цієї програми, як і попередньої, є закритість кодів цих програм та необхідність придбання ліцензії на право їх використання.

AccuHash 2,0 це Windows утиліта для захисту цілісності та перевірки точності даних, файлів за допомогою контрольної суми. Реалізовано декілька алгоритмів для обчислення контрольних сум. що дозволяє легко і швидко перевірити цілісність файлів, завантажених з Інтернету або записаних на CD / DVD диск. Недоліком цієї програми, як і попередньої, є закритість кодів цих програм та необхідність придбання ліцензії на право їх використання.

В мережі Інтернет також поширюється маса безкоштовних утиліт для обчислення контрольних сум з використанням CRC - кодів.

Arpoon обчислює контрольні суми файлів, дозволяє виявляти зміни файлів і документів. Дана програма може бути використана також для перегляду змін важливих документів. Інша програма Duplicate Checker дублює засоби операційної системи для пошуку файлів та їх знищення.

Уявіть, що необхідно знайти певний файл на вашому комп'ютері і Ви отримуєте п'ять файлів з тією ж самою назвою і тим же самим розміром.

Який файл дійсно потрібний? Щоб уникати таких проблем і організовувати файли, необхідно видалити непотрібні файли, що зберігає простір жорсткого диску. При порівнянні файлів використовується контрольна сума CRC32.

Програма Fsum - це безкоштовний і простий у використанні інструмент, який дозволяє розраховувати контрольні суми файлів. Програма підтримує "drag-and-drop" і може працювати з декількома файлами одночасно. Контрольна сума може бути використана для звірки цілісності файлів.

Загальним недоліком безкоштовних утиліт є низька достовірність їх роботи, закритість кодів цих програм та відсутність супроводження. Відповідальність за її роботу лежить повністю на користувачеві, який встановив цю програму на комп'ютері.

1.3 Вибір і обґрунтування аналогу

В якості аналога для розробки програмного продукту було обрано програму FastCRC Library. Ця програма призначена для захисту файлів шляхом формування контрольних сум з використанням майже всіх відомих популярних алгоритмів для формування контрольних сум - CRC32, CRC16, CRC16C, MD5 та інших [5]|.

Основним недоліком FastCRC Library є складність її використання через функціональну перевантаженість. Також до недоліків можна віднести відносно низьку швидкість кодування, оскільки для формування контрольних сум використовуються поліноми високої степені, а також закритість кодів цієї програми та необхідність придбання ліцензії на право їх використання.

У розробці дана проблема вирішується за рахунок використання для формування контрольної суми лише поліномів не вище восьмої степені (CRC4, CRC8), що дозволить спростити інтерфейс користувача, а також підвищити швидкість кодування. Використання поліномів вищого ступеня не має сенсу, оскільки до даних, що передаються по мережі, апаратні засоби та операційна система сама добавляє CRC-код, а для перевірка цілісності даних на диску достатньо і поліномів невисокої степені. Також програмний продукт випереджає аналог за таким параметром як сумісність з різними типами апаратних та програмних платформ, оскільки розробка нового програмного продукту планується на мові програмування C# у середовищі програмування Miscrosoft Visual Studio 2008, що дасть можливість використовувати бібліотеки Microsoft.NET Framework, які забезпечують перенесення програми на більшість апаратних та програмних платформ.

Основні технічні показники аналога і нової програми наведені в таблиці 1.1

Таблиця 1.1 - Основні технічні показники аналога і нової програми

Показники

Од. виміру

Аналог

Нова розробка

Відношення параметрів нової розробки до параметрів аналога

Складність використання

Вимагає спеціальної підготовки

Не вимагає спеціальної підготовки

+

Швидкість кодування

сек.

60

30

1/5

Сумісність з різними апаратними і програмними платформами

%

50

90

1/18

Отже, програма, що розробляється має ряд суттєвих переваг перед аналогом. Вона не вимагає спеціальної підготовки, має вищу швидкість кодування за рахунок використання поліномів не вище восьмої степені, а також високу сумісність нової програми з найсучаснішими апаратними та програмними платформами, що досягається за рахунок використання бібліотеки Microsoft .NET Framework. вищу швидкість кодування за рахунок використання поліномів не вище восьмої степені

1.4 Уточнення технічних вимог

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

Для рішення задачі розробки програми для захисту даних з використанням циклічних CRC кодів будемо використовувати програмне забезпечення перераховане в табл. 1.2.

Таблиця 1.2 - Перелік програмного забезпечення

Найменування

Призначення

Microsoft Windows XP

Операційна система (ОС)

Visual Studio 2008

Середовище програмування

С#

Мова програмування

Операційною системою для програми, що розроблюється, вибрана Microsoft Windows XP. Можливості ОС Windows XP достатньо широкі: це і запуск програм, і переключення між задачами, і управління вікнами, і організація зручного оточення, а також, робота в мережі та інше Вона являється найбільш оптимальною операційною системою для вирішення, існуючих задач.

До складу програмних засобів повинні входити оптимальні для реалізації існуючих задач засоби. Програма, розроблена за допомогою середовища програмування Visual Studio 2008. Мова програмування вибрана С#, оскільки вона забезпечує як високу швидкість розробки, так і добрі швидкісні характеристики програмного продукту. Крім того, висуваються такі вимоги:

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.