Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

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

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






ПОСТАНОВКА ЗАВДАННЯ




ВСТУП

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

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

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

Програма написана на Borland Delphі 7. Переваги Delphі:

- зручний інтерфейс;

- швидкість розробки додатка (RAD);

- висока продуктивність розробленого додатка;

- низькі вимоги розробленого додатка до комп'ютера;

- збільшення за рахунок вбудовування нових компонентів і інструментів у середовище Delphі;

- можливість розробки нових компонентів і інструментів власними засобами Delphі.

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

Проблеми, що виникають із безпекою передачі інформації при роботі в комп'ютерних мережах, можна розділити на:

- перехоплення інформації - цілісність інформації зберігається, але її конфіденційність порушена;

- модифікація інформації - вихідне повідомлення змінюється або повністю підмінюється іншим і відсилається адресатові;

- підміна авторства інформації. Дана проблема може мати серйозні наслідки.

- сервер може видавати себе за електронний магазин, приймати замовлення, номера кредитних карт, але не висилати ніяких товарів.

"Криптографія" у перекладі із грецької мови означає "тайнопис", що

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

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

ПОСТАНОВКА ЗАВДАННЯ

 

1.1 Найменування та галузь використання||скінченни

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

 

1.2 Підстава для створення

Підставою для розробки є наказ від “31” жовтня 2012 року № 51С-01 по Криворізькому інституту КУЕІТУ.

Початок робіт: 01.11.12 рік. Закінчення робіт: 10.06.2013 рік.

 

1.3 Характеристика об'єктів проектування

Програма повинна забезпечити:

1)Шифрування наступними методами:

- шифр "Пас’янс";

- шифр "Цезаря";

- шифр "Віженера";

- шифр "DES";

- шифр "Магічний квадрат";

- шифр "Бекона";

- шифр "Квадрат Полібія";

- шифр "XOR".

 

2) Дешифрування данних

3) Можливість скористатися домогою

4) Можливість подивитися звіт у якому повинна бути така інформація:

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

Мета й призначення

Метою цієї роботи є створення программи шифрування та дешифрування повідомлення за допомогою різних методів шифрування

 

1.5 Загальні вимоги до розробки

Для експлуатації цього програмного продукту потрібний:

Процесор: Іntel Pentіum 233 МГЦ і вище

Операційна система: Mіcrosoft Wіndows XP, Wіndows 2000, Wіndows 98

Оперативна пам'ять: 64 Мбайт (рекомендовано 128 Мбайт)

Простір на жорсткому диску: 124-450 Мбайт

Монітор: SVGA або вище.

 

Джерела розробки

Джерелами розробки дипломної роботи є:

· технічне завдання на реалізацію роботи;

· довідкова література;

· наукова література;

· технічна література;

· програмна документація.

 

 

ЗАСОБИ ЗАХИСТУ ІНФОРМАЦІЇ В КОМП’ЮТЕРНИХ СИСТЕМАХ

2.1 Класифікація й характеристика погроз безпеки комп'ютерних систем

Під засобом захисту інформації розуміється технічний, програмний засіб або матеріал, призначені або використані для захисту інформації. У цей час на ринку представлена велика розмаїтість засобів захисту інформації (ЗЗІ), які умовно можна розділити на кілька груп: засоби, що забезпечують розмежування доступу до інформації в автоматизованих системах; засоби, що забезпечують захист інформації при передачі її по каналах зв'язку; засоби, що забезпечують захист від витоку інформації по різних фізичних полях, що виникає при роботі технічних засобів автоматизованих систем; засоби, що забезпечують захист від впливу програм-вірусів; матеріали, що забезпечують безпеку зберігання, транспортування носіїв інформації і захист їх від копіювання.

Основне призначення засобів захисту - розмежування доступу до локальних і мережних інформаційних ресурсів автоматизованих систем. ЗЗІ цієї групи забезпечують: ідентифікацію й аутентифікацию користувачів автоматизованих систем; розмежування доступу зареєстрованих користувачів до інформаційних ресурсів; реєстрацію дій користувачів; захист завантаження операційної системи із гнучких магнітних дисків і CD-ROM; контроль цілісності ЗЗІ й інформаційних ресурсів. В якості ідентифікаторів користувачів застосовуються, як правило, умовні позначки у вигляді набору символів. Для аутентификації користувачів застосовуються паролі.

Системи захисту інформації передбачають ведення спеціального журналу, у якому реєструються певні події, наприклад запис (модифікація)

файлу, запуск програми, висновок на печатку й інші, а також спроби

несанкціонованого доступу і т.п.

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

Захист інформації при передачі по каналах зв'язку здійснюється засобами криптографічного захисту (ЗКЗІ). Характерною рисою цих засобів є те, що вони потенційно забезпечують найвищий захист переданої інформації

від несанкціонованого доступу до неї. Крім цього, ЗКЗІ забезпечують захист інформації від модифікації.

Погрози безпеки КС можуть бути класифіковані за наступними ознаками:

-за спрямованості реалізації;

-із причин (джерелам) виникнення;

-за об'єктах впливу;

-за характером й масштабах негативних наслідків;

-за тимчасовими характеристиками впливу;

-за каналами проникнення в КС;

-за використаних способах (методам) і засобам.

Класифікація погроз за спрямованості реалізації.

Дана класифікація систематизує погрози безпеки КС із погляду їхньої цільової функції - спрямованості реалізації. Існують наступні спрямованості реалізації погроз:

-порушення конфіденційності інформації обмеженого доступу (розкрадання, розголошення);

-порушення цілісності інформації (несанкціонована модифікація, компрометація, знищення);

-порушення доступності інформації для законних користувачів (блокування інформації, порушення нормального функціонування, вихід з ладу компонентів КС - технічних засобів (ТЗ) і програмного забезпечення (ПЗ)).

Класифікація погроз за тимчасовими характеристиках впливу.

З погляду тимчасових характеристик (довжини, повторюваності) впливу погрози безпеки КС бувають:

-короткочасними (миттевими);

-довгостроковими;

-одноразовими;

-багаторазовими (періодичними, аперіодичними).

Класифікація погроз за об'єктом впливу.

Об'єктами впливу погроз завжди є конкретні компоненти й (або) процеси КС.

Погрози можуть впливати на наступні види об'єктів:

-ПЗ й інформація в процесі обробки;

-ПЗ й інформація, що зберігаються на носіях;

-інформація в процесі передачі по телекомунікаційних мережах (ТМ);

-пристрої обробки й зберігання інформації (дисководи, термінали, оперативна пам'ять, процесори й т.п.);

-телекомунікаційні канали й пристрої (сегменти локальних мереж (ЛМ), телефонні лінії, модеми, комутатори, маршрутизатори й т.п.);

-допоміжні ТМ (джерела електроживлення, ТМ контролю доступу, кондиціонери).

Класифікація погроз за використаних засобах впливу (нападу).

У процесі впливу на компоненти КС погрози можуть використати різні методи й засоби, а також їхнє сполучення:

-методи й засоби дезорганізації роботи КС;

-стандартне ПЗ, використовуване в КС (редактори, утиліти, отладчики, поштові системи, аналізатори протоколів і т.д.);

-засоби фізичного впливу;

-спеціально спроектовані технічні засоби;

-спеціально розроблені програмні засоби (віруси, "троянські коні", "креки", програми підбора паролів і т.п.).

Класифікація погроз за причин (джерелам) виникнення.

Конкретні прояви й напрямки реалізації погроз безпеки КС залежать від характеру їхніх джерел (суб'єктів). Джерела погроз стосовно КС бувають внутрішніми й зовнішніми. З позицій фізичної природи й ступеня "розумності" (приналежності до людської діяльності) існують:

-погрози, обумовлені діями людини (антропогенні погрози);

-погрози, обумовлені процесами в технічних засобах (техногенні погрози);

-погрози, обумовлені природними (стихійними) явищами.

Класифікація погроз за характером й масштабами негативних наслідків.

У даній класифікації (Рис.2.1) розглядаються негативні наслідки для самих КС, як систем, що виконують певні функції, і не зачіпають види збитку, які наносяться суб’єктам інформаційних відносин (політичним, матеріальним, моральним і т.п.)

 


Рис. 2.1 Класифікація погроз по наслідкам

 

Класифікація погроз за каналами протикнення до КС.

Погрози безпеки можуть використати для доступу до КС наступні канали і їхні комбінації:

- ТМ обробки й відображення інформації і їх штатні й позаштатні (збої, паразитні процеси) властивості;

- ПЗ, використовуване в КС і його штатної й позаштатні ("діри", "люки") властивості;

- ТМ, що з'єднують підсистеми окремої КС або різні КС між собою;

- ефір;

- допоміжні комунікації.

 

2.2 Сучасні комп'ютерні системи і їхні компоненти, як об'єкти захисту

Об'єкт захисту в комп'ютерній системі - властивість, функція або компонент системи, позаштатним (несанкціонованим) впливом на який, може бути нанесений збиток самій системі, процесу й результатам її роботи, і як наслідок - інтересам особистості, суспільства й держави.

Потреба в забезпеченні інтересів робить суб'єкт інформаційних відносин уразливим.

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

- інформація;

- користувачі;

- обслуговуючий персонал (інженери, програмісти, адміністратори);

- комплекс технічних засобів зберігання й обробки інформації;

- комунікації;

- допоміжні технічні засоби для забезпечення безперебійної роботи КС;

- комплекс програмних засобів;

- засобу захисту інформації.

 

2.3 Технічні засоби контролю доступу до компонентів КС

1) Класифікація систем контролю доступу (СКД)

До апаратно-програмних систем контролю доступу, до компонентів КС відносяться електронні замки, пристрої уведення ідентифікаційних ознак (ПУІО) і відповідне ПЗ.

В апаратно-програмних засобах контролю доступу до комп'ютерів ідентифікація й аутентификація, а також ряд інших важливих захисних функцій здійснюються за допомогою електронного замка й ПУІО до завантаження ОС.

До складу апаратних засобів ПУІО входять ідентифікатори й пристрої, що зчитують (іноді можуть бути відсутніми). Сучасні ПУІО прийнято класифікувати за видом ідентифікаційних ознак і за засобом їхнього зчитування (Рис. 2.2).

Рис. 2.2 Класифікація ПУІО

 

За способом зчитування вони підрозділяються на контактні, дистанційні (безконтактні) і комбіновані:

-контактне зчитування ідентифікаційних ознак припускає безпосередню взаємодію ідентифікатора та зчитувача - проведення ідентифікатора через зчитувач або їхнього простого зіткнення;

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

-комбінований спосіб має на увазі сполучення обох методів зчитування.

По виду використовуваних ідентифікаційних ознак ПУІО можуть бути електронними, біометричними й комбінованими:

-у електронних ПУІО ідентифікаційні ознаки представляються у вигляді коду, записаного в електронну мікросхему пам'яті ідентифікатора;

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

-у комбінованих ПУІО для ідентифікації використається кілька ідентифікаційних ознак одночасно.

2) СКД на основі зчитування ключової інформації

Системи з використанням смарт-карт.

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

Види смарт-карт:

- Карти з магнітною смугою.

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

- Виганд-карти.

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

- Мікропроцесорні смарт-карти.

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

- Proxіmіty-карты.

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

Основними перевагами ПУІО на базі ідентифікаторів Proxіmіty є:

-безконтактна технологія зчитування;

-довговічність пасивних ідентифікаторів (деякі фірми-виробники дають на карти довічну гарантію);

-точність, надійність і зручність зчитування ідентифікаційних ознак.

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

Системи з використанням електронних ключів.

Пристрої уведення ідентифікаційних ознак на базі USB-ключів ставляться до класу електронних контактних пристроїв. У складі ПУІО даного типу відсутні дорогі апаратні зчитувачі. Ідентифікатор, названий USB-ключем, підключається до USB-порту безпосередньо або за допомогою випадкового кабелю.

Основними компонентами USB-ключів є убудовані процесор і пам'ять. Процесор виконує функції криптографічного перетворення інформації й USB-контролера. Пам'ять призначається для безпечного зберігання ключів шифрування, цифрових сертифікатів і будь-якої іншої важливої інформації. Підтримка специфікацій PC/SC дозволяє без праці переходити від смарт-карт до USB-ключів і вбудовувати їх як в існуючі додатки, так і в нові.

Дані СЗІ не вимагають підключення до ПК спеціальних пристроїв, що зчитують (контролерів), тому що електронні ключі виготовляють для стандартних портів (LPT, COM, USB).

3) СКД на основі зчитування біометричних ознак

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

Основні умови ефективності СКД на основі біометричної ПУІО:

-всі користувачі надають характеристики, які ідентифікує біометрична система (зображення райдужної оболонки, відбитки пальців...);

-кожний біометричний підпис відрізняється від всіх інших у контрольованій групі користувачів;

-біометричні підписи не міняються після відбору;

-система стійка до контрзаходів.

Існує два види біометричних СКД: ідентифікаційні й верифікаційні.

В ідентифікаційних системах для аналізу надається біометричний підпис невідомої людини. Система порівнює новий біометричний підпис із інформацією, що зберігається в базі даних біометричних підписів відомих осіб. Після порівняння система повідомляє (або оцінює) особистість невідомої людини на основі інформації зі своєї бази даних. До систем, які використають ідентифікацію, ставляться системи, застосовувані поліцією для ідентифікації людей по відбитках пальців і фотографіям.

У верифікаційних системах користувач надає біометричний підпис і затверджує, що цей біометричний підпис належить конкретній людині. Основний параметр - це здатність системи ідентифікувати власника біометричного підпису. Ефективність верифікаційної системи традиційно характеризується двома параметрами помилки: рівнем помилкових відмов (false-reject rate) і рівнем помилкових підтверджень (false-alarm rate). Ці параметри помилки зв'язані - кожному рівню помилкових відмов відповідає рівень помилкових підтверджень. Помилкова відмова виникає тоді, коли система не підтверджує особистість легітимного користувача, помилкове підтвердження відбувається у випадку підтвердження особистості нелигитимного користувача.

4) Виконуючі підсистеми СКД

До виконуючих підсистем СКД стосовно до компонентів КС ставляться електронні замки (що складаються із пристроїв і ПЗ).

На електронні замки покладається виконання наступних захисних функцій:

-ідентифікація й аутентифікація користувачів за допомогою ПУІО;

-блокування завантаження операційної системи із зовнішніх знімних носіїв;

-контроль цілісності програмного забезпечення комп'ютера;

-реєстрація дій користувачів і програм.

Свої основні функції електронні замки реалізують до завантаження операційної системи комп'ютера. Для цього в складі кожного виробу є власна пам'ять EEPROM, що доповнює базову систему вводу-висновку BІOS комп'ютера. При включенні комп'ютера виконується копіювання вмісту EEPROM замка в так звану тіньову область (Shadow Memory) оперативної пам'яті комп'ютера.

2.4 Апаратні засоби захисту інформації в КС

До апаратних засобів захисту інформації ставляться електронні й електронно-механічні пристрої, що включають до складу технічних засобів КС і виконуючі (самостійно або в єдиному комплексі із програмними засобами) деякі функції забезпечення інформаційної безпеки.

До основних апаратних засобів захисту інформації ставляться:

- пристрої для введення ідентифікуючого користувача інформації (магнітних і пластикових карт, відбитків пальців і т.п.);

- пристрої для шифрування інформації;

- пристрої для перешкоди несанкціонованому включенню робочих станцій і серверів (електронні замки й блокатори).

Приклади допоміжних апаратних засобів захисту інформації:

- пристрої знищення інформації на магнітних носіях;

- пристрої сигналізації про спроби несанкціонованих дій користувачів КС і ін.

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

 

2.5 Загальносистемні й спеціалізовані програмні засоби захисту інформації

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

До загальносистемних засобів ставиться утиліта Setup, що входить до складу BІOS і призначена для настроювань апаратних параметрів комп'ютера. Для реалізації необхідно за допомогою даної утиліти встановити наступні параметри завантаження комп'ютера:

- порядок завантаження операційної системи (ОС), що задає первинне завантаження з жорсткого диска;

- запит пароля перед завантаженням операційної системи. Установка первинного завантаження з жорсткого диска необхідна для запобігання можливості завантаження ОС із дискети або компакт-диску, тому що деякі застарілі версії BІOS дозволяють здійснити завантаження з дискети без запиту пароля.

Недоліком реалізації захисту від несанкціонованого завантаження комп'ютера за допомогою утиліти BІOS Setup є те, що встановлена за допомогою даної утиліти захист може бути переборена шляхом примусового обнуління вмісту енергонезалежної пам'яті комп'ютера (CMOS-пам'яті) після розкриття його корпуса.

Захист від несанкціонованого доступу до комп'ютера без завершення сеансу роботи.

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

завершуючи при цьому сеанс роботи (не виключаючи комп'ютер). При відсутності користувача ніщо не заважає здійсненню несанкціонованого

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

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

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

 

 

МЕТОДИ ШИФРУВАННЯ

3.1 Шифр «Пас’янс»

«Пас’янс» - потоковий шифр зі зворотнім зв'язком по виходу. Іноді це називається генератор гами. Основна ідея в тому, що «Пасьянс» генерує шифрувальний потік з чисел від 1 до 26. Для шифрування потрібно згенерувати стільки ж букв ключового потоку, скільки містить відкритий текст. Потім підсумувати їх по модулю 26, одну за одною, з буквами відкритого тексту. Для розшифрування потрібно згенерувати той же ключовий потік і відняти по модулю 26 з шифртексту, щоб отримати відкритий текст.

Для прикладу зашифруєм просте повідомлення, «DO NOT USE PC»:

1) Поділим повідомлення відкритого тексту на групи по п'ять літер. Останню групу доповнимо літерами «X». Тоді, якщо повідомлення «DO NOT USE PC», то відкритий текст: DONOT USEPC

2) За допомогою «пас’янс» згенеруємо десять букв шифрувального потоку. Припустимо, це: KDWUP ONOWT

3) Переведимо відкритий текст з літер в кількості: А = 1, В = 2, і так далі:

4 15 14 15 20 21 19 5 16 3

4) Так само переведемо в числа ключовий потік:

11 4 23 21 16 15 14 15 23 20

5) Складемо числа відкритого тексту з числами ключового потоку по модулю 26. (Тобто, якщо сума перевищує 26, віднімемо до результату 26.) Наприклад, 1 + 1 = 2, 26 + 1 = 27, а 27 - 26 = 1, так що 26 + 1 = 1.

15 19 11 10 10 10 7 20 13 23

6) Переведемо числа назад в літери. OSKJJ JGTMW

Розшифровка за допомогою «Пас’янс»

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

1) Візьмемо шифртекст і розіб’ємо його на групи з п'яти букв: OSKJJ JGTMW

2) За допомогою «пас’янс» згенеруємо десять букв ключового потоку. Якщо одержувач використовує той же ключ, що відправник букви повинні вийти ті ж: KDWUP ONOWT

3) Переведемо шифртекст з букв в цифри:

15 9 11 10 10 10 7 20 13 23

4) Переведемо ключовий потік аналогічним чином:

11 23 21 16 15 14 15 23 20

5) Віднімемо числа ключового потоку з чисел шифртексту по модулю 26.

4 15 14 15 20 21 19 5 16 3

6) Переведемо числа назад в літери.

DONOT USEPC

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

Генерація літер ключового потоку

Це суть «пас’янс». Наведений вище опис шифрування й розшифрування працює для будь-якого потокового шифру зі зворотнім зв'язком по виходу.

«Пас’янс» генерує ключовий потік за допомогою колоди карт. Колоду в 54 карти (пам'ятаємо про джокерів) можна представити як 54-елементну перестановку. Існує 54!, Або 2, 31 х 1071 можливих розкладів колоди. Що ще краще, в колоді 52 карти (без джокерів), а в латинському алфавіті - 26 букв.

Для «пас’янс» в колоді має бути повний набір з 52 карт і двох джокерів. Джокери повинні якось відрізнятися. Хай один джокер буде А, інший Б:

- Знайдемо джокер А. Перекладемо його на одну карту вниз. (Тобто поміняємо місцями з картою, яка лежить відразу під ним.) Якщо джокер - нижня карта в колоді, покладемо його під верхню карту.

- Знайдемо джокер Б. Перекладемо його на дві карти вниз. Якщо джокер - нижня карта в колоді, покладемо його під дві верхні карти. Якщо передостання, покладемо відразу під верхню.

Важливо виконувати ці два кроки в зазначеній послідовності. Джокер А треба перекладати першим.

- Поміняємо карти над першим джокером з картами під другим джокером. Якщо колода виглядала так:

2 4 6 Б 4 8 7 1 А 9 березня

то після подміни вона буде виглядати:

3 вересня Б 4 8 7 1 А 2 4 6

На цьому кроці не важливо, який з джокерів А, який Б.

Джокери та карти між ними не перекладаємо; місцями міняємо нижню і верхню стопку. Якщо в одній з колод немає (джокери лежать поруч, або один з них зверху або знизу), вважаємо цю стопку порожньою і переміщаємо її, як повну.

- Подснімаємо колоду. Дивимося на нижню карту. Перетворемо її в число від 1 до 53. (Послідовність мастей, як в бриджі: трефи, бубни, чірви, піки. Якщо карта - трефа, її значення відповідає гідності. Якщо це бубна, то гідність плюс 13. Якщо чірва, гідності плюс 26. Якщо піку, гідності плюс 39. Один з джокерів - 53.) Відрахуємо від верхньої колоди це число. Виймемо карти нижче тієї, до якої ми дорахували, залишивши останню внизу. Якщо колода виглядала так: 7... карти... 4 5... карти... 8 9 та дев'ятою картою була 4, після подснімання вона буде виглядати так:

5... карти... 8 7... карти... 4 вересня

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

- Знайдемо карту-результат. Подивіться на верхню карту. Переведемо її в число від 1 до 53, як описано вище. Відрахуємо це число карт. (Вважаємо верхню карту номером першим.) Запишемо карту після тієї, до якої ми дорахували, на листку паперу. Якщо це джокер, нічого не записуємо і почнемо знову з кроку 1.) Це перша карта-результат. Цей крок не змінює стан колоди.

- Переведемо карту в число. Як і раніше, користуємося послідовністю мастей, прийнятої в бриджі, в порядку зростання.

Ось і весь «Пас’янс». З його допомогою ви можете отримати стільки чисел ключового потоку, скільки буде потрібно.

 

3.2 Шифр «Цезаря»

Шифр Цезаря — симетричний алгоритм шифрування підстановками. Використовувався римським імператором Юлієм Цезарем для приватного листування.

Принцип дії полягає в тому, щоб циклічно зсунути алфавіт, а ключ — це кількість літер, на які робиться зсув.

Шифр Цезаря історично можна вважати першим шифром простої заміни. Другий рядок у ключі цього шифру являє собою послідовність літер, записаних у абетковому порядку, але з циклічним зсувом (ця послідовність починається не з літери «а»). Для запам’ятовування такого ключа треба знати лише першу літеру другого рядка.

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

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

Ототожнимо букви алфавіту Zm з цифрами від 0 до m-1 і позначимо через x довільну букву ВТ, а через y – відповідну букву ШТ. Сам Цезар використовував ключ b=3. В цьому випадку підстановка на алфавіті є циклічним зсувом алфавіту на позицій вправо. Для того, щоб знайти ключ, маючи лише ШТ, знайдемо y* - букву, що найчастіше зустрічається у ШТ. Нехай x* - буква алфавіту, що має найбільшу частоту у мові. Тоді, якщо текст достатньо довгий, щоб у ньому проявилися закономірності мови, найвірогідніше, що x* зашифровано у y*. Звичайно, при цьому ми могли помилитися і дешифруючи ШТ за допомогою ключа b, одержимо беззмістовний набір букв. Тоді ми можемо взяти y**- другу за частотою букву ШТ і спробувати ключ і т.д., доки не одержимо змістовний текст. Сукупність можливих підстановок показана в таблиці 3.1

 

Таблиця 3.1

Одноалфавітні підстановки (К = 3, m = 26)

 

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

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

Римляни застосовували операцію додавання до номера літери числа З за модулем 26: С = Р + 3(mod 26), де С - номер літери в криптограмі, а Р - номер відповідної літери в явному тексті. Наприклад, латинському слову ітреrіит (імперія) відповідає криптограма lpshulxp, а латинському тексту Veni, vidi, vici (прийшов, побачив, переміг - крилата фраза Цезаря), коли з нього викинути коми й пропуски між словами, відповідає криптограма yhqlylglylfl.

3.3 Шифр «Віженера»

Шифр Віженера це метод шифрування буквеного тексту з використанням ключового слова.

Цей метод є простою формою багатобуквенної заміни. Шифр Віженера винаходився багаторазово. Уперше цей метод описав Джованні-Баттіста Беллазо (Gіovan Battіsta Bellaso) у книзі La cіfra del. Sіg. Gіovan Battіsta Bellasо в 1553 році, однак в 19 сторіччі одержав ім'я Блеза Виженера, швейцарського дипломата. Метод простий для розуміння й реалізації, він є недоступним для простих методів криптоаналіза.

Шифрування:

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

У шифрі Цезаря кожна буква алфавіту зрушується на кілька позицій. Шифр Виженера складається з послідовності декількох шифрів Цезаря з різними значеннями зрушення. Для зашифрування може використатися таблиця алфавітів, яку називають квадрат Віженера. Стосовно до латинського алфавіту таблиця Віженера складається з рядків по 26 символів, причому кожний наступний рядок зрушується на кілька позицій. Таким чином, у таблиці виходить 26 різних шифрів Цезаря. На кожному етапі шифрування використаються різні алфавіти, обрані залежно від символу ключового слова. Наприклад, вихідний текст має вигляд: ATTACKATDAWN

Людина, що посилає повідомлення, записує ключове слово("LEMON") циклічно доти, поки його довжина не буде відповідати довжині вихідного тексту: LEMONLEMONLE

Перший символ вихідного тексту A зашифрований послідовністю L, що є першим символом ключа. Перший символ L шифрованого тексту перебуває на перетинанні рядка L і стовпця A у таблиці Віженера. Точно так само для другого символу вихідного тексту використається другий символ ключа, тобто другий символ шифрованого тексту X виходить на перетинанні рядка E і стовпця T. Інша частина вихідного тексту шифрується подібним способом.

Приклад: Вихідний текст: ATTACKATDAWN

Ключ: LEMONLEMONLE;

Зашифрований текст: LXFOPVEFRNHR

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

3.4 Шифр «DES»

DES (Data Encryptіon Standart) - Симетричний алгоритм шифрування, у якому один ключ використається, як для шифрування, так і для дешифрування даних. DES розроблений фірмою ІBM і затверджений урядом США в 1977 році як офіційний стандарт (FTPS 46-3). DES має блоки по 64 біт і 16 циклову структуру мережі Фейстеля, для шифрування використає ключ із довжиною 56 біт. Алгоритм використає комбінацію нелінійних (S-блоки) і лінійних (перестановки E, ІP, ІP-1) перетворень. Для DES рекомендовано кілька режимів:

- режим електронної кодової книги (ECB - Electronіc Code Book),

- режим зчеплення блоків (СВС - Cіpher Block Chaіnіng),

- режим зворотного зв'язка по шифр тексту (CFB - Cіpher Feed Back),

- режим зворотного зв'язка по виходу (OFB - Output Feed Back).

Блоковий шифр

Вхідними даними для блокового шифру служать блок розміром n біт і k-бітний ключ. На виході, після застосування перетворення, що шифрує, виходить n-бітний зашифрований блок, причому незначні розходження вхідних даних як правило приводять до істотної зміни результату. Блокові шифри реалізуються шляхом багаторазового застосування до блоків вихідного тексту деяких базових перетворень.

Базові перетворення: Складне перетворення на одній локальній частині блоку. Просте перетворення між частинами блоку.

Перетворення Мережею Фейстеля: Це перетворення над векторами (блоками), що представляють собою ліву й праву половини регістра зрушення. В алгоритмі DES використаються пряме перетворення мережею Фейстеля в шифруванні (Рис.3.1) і зворотне перетворення мережею Фейстеля в расшифрование. (Рис.3.2)

 

Рис.3.1 Пряме перетворення мережею Фейстеля

Рис.3.2 Зворотне перетворення мержею Фейстеля

 

Схема шифрування алгоритму DES (Рис.3.3):

Вихідний текст → Початкова перестановка → (Цикл шифрування (16 разів) ← ключі) → Кінцева перестановка → Зашифрований текст

Рис.3.3 Детальна схема шифрування алгоритму DES

 

Вихідний текст - блок 64 біт.

Шифрований текст - блок 64 біт.

Розглянемо докладну схему алгоритму DES:

LіRі=1,2\ldots.ліва й права половини 64-бітового блоку LіRі

kі - 48 бітові ключі

f - функція шифрування

ІP - початкова перестановка

ІP-1 - кінцева перестановка.

 

Таблиця 3.2

Початкова перестановка IP

 

По таблиці 3.2, перші 3 біти результуючого блоку ІP(T) після початкової перестановки ІP є бітами 58, 50, 42 вхідного блоку Т, а його 3 останні біти є бітами 23, 15, 7 вхідного блоку. Далі 64-бітової блок ІP(T) бере участь в 16-циклах перетворення Фейстеля.

16 циклів перетворення Фейстеля: Розбити ІP(T) на дві частини L0,R0, де L0,R0 - відповідно 32 старших бітов і 32 молодших бітов блоку T0 ІP(T)= L0R0

Нехай Tі -1 = Lі -1Rі -1 результат (і-1) ітерації, тоді результат і-ої інтерації Tі = LіRі визначається:

Lі = Rі - 1,

Ліва половина Lі дорівнює правій половині попереднього вектора Lі - 1Rі - 1. А права половина Rі - це бітове додавання Lі - 1 і f(Rі - 1,kі) по модулі 2.

В 16-циклах перетворення Фейстеля функція f відіграє роль шифрування. Розглянемо докладно функцію f: Аргументи функції f є 32 бітовий вектор Rі - 1, 48 бітовий ключ kі, які є результатом перетворення 56 бітового вихідного ключа шифру k. Для обчислення функції f використаються фукція розширення Е, перетворення S, що складається з 8 перетворень S-блоків, і перестановка P. Функція Е розширюється 32 бітовий вектор Rі - 1 до 48 бітовий вектор E(Rі - 1) шляхом дублювання деяких бітів з Rі - 1, при цьому порядок бітів вектора E(Rі - 1) зазначений у таблиці 3.3.

 

Таблиця 3.3

Функція розширення Е

 

Перші три біти вектора E(Rі - 1) є бітами 32, 1, 2 вектори Rі -1. По таблиці 3.3 видно, що біти 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублюються. Останні 3 біти вектора E(Rі - 1) - це біти 31, 32, 1 вектора Rі - 1. Отриманий після перестановки блок E(Rі -1) складається по модулі 2 із ключами kі й потім представляється у вигляді восьми послідовних блоків B1,B2,...B8.

E(Rі - 1) = B1B2...B8

Кожний Bj є 6-бітовим блоком. Далі кожний із блоків Bj трансформується в 4 бітовий блок B'j за допомогою перетворень Sj.

Генерування ключів kі. Ключі kі виходять із початкового ключа k (56 біт = 7 байтів або 7 символів в АSCІ) у такий спосіб. Вісім бітів, що знаходять у позиціях 8, 16, 24, 32, 40, 48, 56, 64 додаються в ключ k у такий спосіб, щоб кожний байт містив непарне число одиниць. Це використається для виявлення помилок при обміні й зберіганні ключів. Потім роблять перестановку для розширеного ключа (крім тих, що додають бітів 8, 16, 24, 32, 40, 48, 56, 64). Така перестановка показана у таблиці 3.4

 

Таблиця 3.4

Перестановка

 

Ця перестановка визначається двома блоками C0 і D0 по 28 біт кожний. Перші 3 біти C0 є біти 57, 49, 41 розширеного ключа. А перші три біти D0 є біти 63, 55, 47 розширеного ключа. Cі,Dі й=1,2,3...виходять із Cі - 1,Dі - 1 одним або двома лівими циклічними зрушеннями відповідно до таблиці 3.5

 

Таблиця 3.5

Циклічне зрушення

 

Ключ kі, і=1,...16 складається з 48 біт, обраних з бітів вектора CіDі (56 біт)

відповідно до таблиці 3.6. Перший і другий біти kі є біти 14, 17 вектора CіDі.

 

Таблиця 3.6

Ключ kі, і=1,...16

 

Кінцева перестановка ІP – 1 діє на T16 і використається для востановления позиції. Вона є зворотною до перестановки ІP. Кінцева перестановка визначається таблицею 3.7.

 

Таблиця 3.7

Зворотня перестановка ІР-1

 

 

3.5 Шифр «Магічний квадрат»

Магічними квадратами називаються квадратні таблиці з уписаними в їхні клітки послідовними натуральними числами від 1, які дають у сумі по кожному стовпці, кожному рядку й кожній діагоналі те саме число. Подібні квадрати широко застосовувалися для вписування шифруємого тексту по наведеній у них нумерації. Якщо потім виписати вміст таблиці по рядках, то виходила шифровка перестановкою букв. На перший погляд здається, начебто магічних квадратів дуже мало. Проте, їхнє число дуже швидко зростає зі збільшенням розміру квадрата. Так, існує лише один магічний квадрат розміром 3 х 3, якщо не брати до уваги його повороти. Магічних квадратів 4 х 4 налічується вже 880, а число магічних квадратів розміром 5 х 5 близько 250000. У квадрат розміром 4 на 4 уписувалися числа від 1 до 16. Його магія полягала в тому, що сума чисел по рядках, стовпцям і повним діагоналям рівнялася тому самому числу - 34. Уперше ці квадрати з'явилися в Китаю, де їм і була приписана деяка "магічна сила".

Шифрування по магічному квадрату вироблялося в такий спосіб. Наприклад, потрібно зашифрувати фразу: "ПриезжаюCегодня.". Букви цієї фрази вписуються послідовно у квадрат відповідно до записаних в ньому числам: позиція букви відповідає порядковому числу. У порожні клітки ставиться крапка.(Рис.3.4)

 

16. 13д
10е 11г
12о
15я 14н

Рис.3.4 Приклад магічного квадрата

 

Після цього шифрований текст записується в рядок (зчитування виробляється з ліво на право, построчно):.ирдзегюсжаоеянп

Для розшифровування текст уписується у квадрат, і відкритий текст читається в послідовності чисел "магічного квадрата". Програма повинна генерувати "магічні квадрати" і по ключах вибирати необхідний.

3.6 Шифр «Бекона»

Шифр Бекона (або "двохлітерний шифр") - метод приховання секретного повідомлення, придуманий Френсісом Беконом на початку XVІІ століття. Він розробляв шифри, які б дозволяли передавати секретні повідомлення у звичайних текстах так, щоб ніхто не знав про ці повідомлення. Шифр базується на двійковому кодуванні алфавіту символами "A" і "B", яким можна зіставити "0" і "1". Потім секретне послання "ховається" у відкритому тексті, за допомогою одного зі способів приховання повідомлень.

Шифр Бекона пов'язаний з так званим Шекспірівським питанням. Існує безліч псевдонаукових теорій про авторство ряду творів Вільяма Шекспіра. У тому числі, згідно "Біконіанской версії", автором п'єс Шекспіра був Фрэнсис Бекон.

Для кодування повідомлень Френсіс Бекон запропонував кожну букву тексту заміняти на групу з п'яти символів "A" або "B" (тому що послідовністю з п'яти двійкових символів можна закодувати 25 = 32 символів, що досить для шифрування 26 букв англійського алфавіту). Це можна зробити декількома способами:

Алфавітний метод: у часи Френсіса Бекона англійський алфавіт складався з 24 букв: літери "І" і "J", а також "U" і "V" неможливо було розрізнити й використовувалися одна замість іншої (Рис.3.5) (Рис.3.6):

Рис.3.5 Алфавіт за варіантом Френсіса Бекона

 

Рис.3.6 Bаріант шифру Бекона, що використовує сучасний англійський алфавіт

 

Циклічні послідовності: крім складання алфавіту шифру, існує більш складний метод зіставлення літерам послідовностей з 5 символів "A" і "B".

Нехай є ланцюжок з 32 символів, така, що в ній не існує повторюваних блоків по 5 елементів. Його можна розглядати як циклічно з'єднавши початок з кінцем.(Рис.3.7)

Рис.3.7 Ланцюжок Бекона

 

Навпроти кожного символу зображується буква англійського алфавіту. Для символів, що залишилися без букв, додаються цифри від 1 до 6. Тепер цей ланцюжок буде використатися як ключ для кодування букв англійського алфавіту. Кодуватися кожна буква буде ланцюжком з 5 символів починаючи із цієї букви (по або проти вартовий стрілки). Наприклад для букви "R" одержуємо ланцюжок: babab, для "K" - abbba і т.д..

 

3.7 Шифр «Квадрат Полібія»

У криптографії квадрат Полібія (англ. Polybіus square), також відомий як шахівниця Полібія - оригінальний код простої заміни, одна з найдавніших систем кодування, запропонована Полібієм (грецький історик, полководець, державний діяч, ІІІ століття до н.е.). Даний вид кодування споконвічно застосовувався для грецького алфавіту, але потім був розповсюджений на інші мови. До кожної мови окремо складається таблиця шифрування з однаковою (не обов'язково) кількістю пронумерованих рядків і стовпців, параметри якої залежать від її потужності (кількості букв в алфавіті).

Беруться два цілих числа, добуток яких ближче всього до кількості букв у мові - одержуємо потрібне число рядків і стовпців.

Латинський алфавіт. У сучасному латинському алфавіті 26 букв, отже

 

таблиця повинна складатися з 5 рядків і 5 стовпців, тому що 25=5*5 найбільш близьке до 26 число.(Рис.3.8):

 

Рис.3.8 Латинський алфавіт шифру «Квадрат Полібія»

 

Російський алфавіт. Ідею формування таблиці шифрування проілюструємо для російської мови. Число букв у російському алфавіті відрізняється від числа букв у грецькому алфавіті, тому розмір таблиці обраний інший (квадрат 6*6=36, оскільки 36 найбільш близьке число до 33):

 

Рис.3.9 Варіант 1. Російський алфавіт шифру «Квадрат Полібія»

 

Можливий також інший варіант складання, що передбачає об'єднання букв Е и Е, И и Й, Ъ и Ь. У цьому випадку одержуємо наступний результат (Рис.3.10):

Рис.3.10 Другий варіант російський алфавіт шифру «Квадрат Полібія»

"Квадрат Полібія" являє собою квадрат 5x5, стовпці й рядки якого нумеруються цифрами від 1 до 5(Рис.3.11).

У кожну клітку цього квадрата записується одна буква (у нашому алфавіті 31 буква, Ъ и Е виключені, крім того в одну клітину помістите букви е-э, и-й, ж-з, р-с, ф-х, ш-щ). Букви розташовані за абеткою. У результаті кожній букві відповідає пари чисел, і шифроване повідомлення перетворюється в послідовність пар чисел. Розшифровується шляхом знаходження букви на перетинанні рядка й стовпця.

Рис.3.11 Алфавіт за варіантом «Квадрат Полібія»

 

Існує кілька методів шифрування за допомогою квадрата Полібія. Нижче наведені три з них:

Метод 1

Зашифруємо слово "SOMETEXT":

Для шифрування на квадраті знаходимо букву тексту й вставляємо в шифровку нижню від неї в тім же стовпці.

Якщо буква була в нижньому рядку, то брали верхню з того ж стовпця.

Метод 2

Повідомлення перетвориться в координати по квадрату Полібія, координати записуються вертикально.

Метод 3

Ускладнений варіант, що полягає в наступному: отриманий первинний шифртекст шифрується вдруге. При цьому він виписується без розбивки на пари.

 

 

Шифр XOR

Найпростішим і одним з найефективніших (при вірному використанні) алгоритмів шифрування є так зване XOR-шифрування. Як відомо з булевої алгебри, операція логічного додавання "+" по модулі 2 (або логічного виключаючого АБО - XOR, eXclusіve OR) має наступну семантику(Рис.3.12):

Рис.3.12 Операція логічного додавання по модулю 2

 

Тобто, операція z = x + y по суті поразрядна (побітова - результат не залежить від сусідніх бітів). Якщо тільки один з відповідних бітів дорівнює 1, то результат 1. А якщо обоє 0, або обоє 1, то результат 0. Якщо уважно подивитися на результат застосування XOR до двох двійкових чисел, то можна помітити, що можна відновити один з додатків за допомогою другого: x = z + y або y = z + x.

Звідси можна зробити наступні висновки: знаючи число y і застосовуючи XOR до x, ми одержимо z. Потім, ми, знову ж використовуючи y, одержимо з z назад число x. Таким чином, ми можемо перетворити послідовність чисел (x)і в послідовність (z)і. Тепер ми можемо назвати число y, що кодує (або шифрує) ключем. Якщо людина не знає ключа, то він не зможе відновити вихідну послідовність чисел (x)і. Але якщо (x)і є байтовим поданням букв тексту, то досвідчений користувач зможе розкрити зашифрований текст.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных