Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Вінниця ВНТУ 2011
На тему: «Дослідження методів заміни й перестановки криптографічного закриття конфіденційної інформації»
з дисципліни «Захист інформації в телекомунікаційних системах та мережах» для спеціальності 6.050903 - Телекомунікації
Вінниця ВНТУ 2011
Лабораторна робота № 4
Тема: Дослідження методів заміни й перестановки криптографічного закриття конфіденційної інформації Мета: Вивчення основних принципів криптозахисту інформації, з'ясування цілей і областей застосування. Вивчення простих автономних методів заміни (підстановки) і перестановки криптографічного шифрування. Якісна оцінка тимчасової стійкості цих методів криптографічного захисту. Обладнання: ПК, будь-який із наведених табличних редакторів - Microsoft Office (Excel), OpenOffice.org (Calc), IBM Lotus Symphony.
Теоретичні відомості:
ASCII American Standard Cоde For Information Interchange - Стандартний американський код обміну інформацією. ASCII - це код для представлення символів англійського алфавіту у вигляді чисел, кожній букві зіставлять число від 0 до 127. У більшості комп'ютерів код ASCII використовується для представлення тексту, що дозволяє передавати дані від одного комп'ютера на інший. Текстовий файл, збережений в форматі ASCII, іноді називають ASCII-файлом. Текстові редактори і текстові процесори зазвичай можуть зберігати дані у форматі ASCII. Більшість файлів даних, особливо, якщо вони містять числові дані, зберігаються не в ASCII форматі. Виконуючі програми ніколи не зберігаються у форматі ASCII. Стандартний набір символів ASCII використовує тільки 7 бітів для кожного символу, що дає 128 унікальних символів. Коли необхідно забезпечити більшу кількість символів, наприклад для відображення українського алфавіту використовують розширений ASCII. Розширений набір символів ASCII використовує 8 біт, що дає 128 додаткових унікальних символів. Додаткові символи використовуються для не англійського алфавіту і спеціальних символів для малювання графіки. Розширений набір символів ASCII представляється дуже зручним з точки зору джерела формування простих, але доволі надійних засобів захисту, особливо коли ніхто не знає який саме принцип використовувася при кодуванні. Основна ідея шифрування за допомогою ASCII коду полягає у простій перестановці з певним кроком. Тобто якщо переставляти всі символи тексту за певним одним законом, при цьому використовуючи один алфавіт, можна досягти високого степеня закриття інформації. Саме тому використовуючи 256 знаковий алфавіт ASCII коду можна на практиці просто реалізувати алгоритм шифрування будь-якого текстового повідомлення. Нижче наведено алфавіт розширеного ASCII коду.
Коди керуючих символів (0–31)
Побудова алгоритму Щоб побудувати алгоритм шифрування та дешифрування тексту, необхідно скористатися кількома простими діями: 1) Необхідно задати алфавіт шифрування (дешифрування) – в нашому випадку це розширений код ASCII. 2) Записати функцію, яка буде відшуковувати порядковий номер знаку у повідомленні відповідно до заданого алфавіту. 3) Записати функцію, яка буде здійснювати покроковий зсув знаків відповідно до заданого алфавіту. 4) Ввести необхідний текст та обрати будь-який результат шифрування, або в разі введення зашифрованого тексту проглянути результати дещифрування та віднайти шукане повідомлення. Таким чином всього за 4 кроки можна реалізувати алгоритм шифрування (дешифрування) простого текстового повідомлення.
Практична реалізація Для практичної реалізації алгоритму використаємо табличний редактор Excel із офісного пакету програм Microsoft Office. Для реалізації першого кроку розмістимо всі символи розширеного коду ASCII у стовпчик, відповідно їх порядковому номеру, з верху до низу. Приклад такого розташування показано на рисунку 1.
Рисунок 1 – Приклад розміщення символів коду ASCII
Для реалізації другого кроку необхідно звернутися до справки Excel. Серед можливих команд відшукаємо ПОИСКПОЗ. Функція ПОИСКПОЗ виконує пошук зазначеного елемента в діапазоні значень і повертає відносну позицію цього елемента в діапазоні. Наприклад, якщо діапазон A1: A3 містить значення 5, 25 і 38, то формула = ПОИСКПОЗ (25; A1: A3; 0) повертає значення 2, оскільки елемент 25 є другим в діапазоні. Примітки: - Функція ПОИСКПОЗ повертає не саме значення, а його позицію в аргументі масиву. - Функція ПОИСКПОЗ не розрізняє регістри при зіставленні тексту. - Якщо функція ПОИСКПОЗ не знаходить відповідного значення, повертається значення помилки # Н/Д. - Якщо тип зіставлення дорівнює 0 і шукане значення є текстом, то шукане значення може містити символи узагальнення: зірочку (*) і знак питання (?). Зірочка відповідає будь-якій послідовності знаків, знак питання - будь-якому одиночному знаку. Якщо потрібно знайти сам знак питання або зірочку, перед ними слід ввести знак тільди (~). Ця функція дасть нам змогу виконати співставлення знаку його порядковому номеру. Перед введеням цієї формули необхідна задати якісь певні значення, щоб вона змогла їх шукати. Тому спочатку введемо кілька значень символів у стовпчик, а в інший стовбець впишемо відповідну формулу. Результат таких дій показано на рисунку 2 (у стрічці функцій відображається задана формула типу ПОИСКПОЗ).
Рисунок 2 – Присвоєння формули ПОИСКПОЗ Для реалізації третього кроку алгоритму відшукаємо формулу ИНДЕКС Функція ИНДЕКС має дві форми: посилальну і форму масиву. ИНДЕКС повертає значення елемента таблиці або масиву заданого номером рядка та номером стовпця. Масив - обов'язковий аргумент. Діапазон клітинок або константа масиву. Якщо масив містить лише один рядок або один стовпець, аргумент " номер_строки" або " номер_столбца" відповідно не є обов'язковим. Якщо масив займає більше одного рядка і одного стовпця, а з аргументів " номер_строки" і " номер_столбца" заданий тільки один, то функція ИНДЕКС повертає масив, що складається з цілого рядка або цілого стовпця аргументу " масив". Номер_строки - обов'язковий аргумент. Номер рядка в масиві, з якого потрібно повернути значення. Якщо аргумент " номер_строки" опущений, аргумент " номер_столбца" є обов'язковим. Номер_столбца - необов'язковий аргумент. Номер стовпця в масиві, з якого потрібно повернути значення. Якщо аргумент " номер_столбца" опущений, аргумент " номер_строки" є обов'язковим. Зауваження Якщо використовуються обидва аргументи - і " номер_строки", і " номер_столбца", - то функція ИНДЕКС повертає значення, що знаходиться у клітинці на перетині зазначених рядка і стовпця. Якщо вказати в якості аргументу " номер_строки" або " номер_столбца" значення 0, функція ИНДЕКС поверне масив значень для цілого стовпця або цілого рядка відповідно. Щоб використати значення, повернуті як масив, введіть функцію ИНДЕКС як формулу масиву в горизонтальний діапазон комірок для рядка й вертикальний для стовпця. Щоб ввести формулу масиву, натисніть клавіші CTRL + SHIFT + ENTER. Аргументи " номер_строки" і " номер_столбца" повинні вказувати на клітинку усередині заданого масиву, в іншому випадку функція ИНДЕКС поверне значення помилки #ССЫЛ!. Ця формула дасть нам змогу підставити необхідний наступний знак, але потрібно, ще вказати сам крок зсуву. Для цього використаємо функцію ЕСЛИ. Функція ЕСЛИ повертає одне значення, якщо зазначена умова дає в результаті значення ИСТИНА, та інше значення, якщо умова дає в результаті значення ЛОЖЬ. Наприклад, формула = ЕСЛИ (A1> 10, " Більше 10", " 10 або менше ") повертає рядок " Більше 10", якщо значення у клітинці A1 більше 10, і " 10 або менше ", якщо воно менше або дорівнює 10. Для реалізації правильного кроку зсуву, а також повернення на початок алфавіту запишемо такий вираз: ЕСЛИ(H$1+$G2> 255; H$1+$G2-255; H$1+$G2), де H1 посилання на комірку з числом від 0 до 255, що відповідає кроку зсуву, а G2 посилання на комірку із функцією ПОИСКПОЗ. Таким чином, як приклад, кінцева формула матиме вигляд: =ИНДЕКС($B$2: $B$257; ЕСЛИ(H$1+$G2> 255; H$1+$G2-255; H$1+$G2)) Результат правильного задання функцій зображено на рисунку 3.
Рисунок 3 – Присвоєння функції ИНДЕКС
Четвертим кроком буде введення необхідного тексту, наприклад зашифрованого. Введемо його у стовбець відповідно якого працює функція ПОИСКПОЗ. На рисунку 4 виділений стовбець і є введеним зашифрованим текстом.
Рисунок 4 – Введення необхідного тексту На рисунку 5 у виділеному стовбцю знаходиться дешифрований текст, причому у стрічці функцій видно, що там задана формула, тобто алгоритм працює вірно.
Рисунок 5 – Результат дешифрування тексту
Хід роботи: 1. Складіть матрицю алгоритму шифрування або дешифрування відповідно рисунку 6.
Рисунок 6 – Матриця алгоритму шифрування (дешифрування) 2. Розшифруйте повідомлення Т Л Ш Ф К … … Н Ч Щ И Щ … … У Ж … … Х Л И У Щ … … И Л C О Э О У Щ … … Р Ч Ф Р Щ … … C Ж З Ж … … 3. Визначте крок зсуву зашифрованого тексту із пункту 2.
4. Зашифруйте повідомлення, що складається із тексту:
|