Велика бібліотека української літератури
» » » Криптографічний алгоритм 3DES

Рефераты по информатике Споконвіків не було цінності більшої, ніж інформація. ХХІ століття - вік інформатики й інформатизації. Технологія дає можливість передавати й

Криптографічний алгоритм 3DES

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

зростаючі обсяги збережених і переданих даних;

розширення кола користувачів, що мають доступ до ресурсів ЕОМ, програмам і даним;

ускладнення режимів експлуатації обчислювальних систем.

Тому все більшу важливість здобуває проблема захисту інформації від несанкціонованого доступу (НСД) при передачі й зберіганні. Сутність цієї проблеми - постійна боротьба фахівців із захисту інформації зі своїми "опонентами".

Захист інформації - сукупність заходів, методів і засобів, що забезпечують:

виключення НСД до ресурсів ЕОМ, програмам і даним;

перевірку цілісності інформації;

виключення несанкціонованого використання програм (захист програм від копіювання).

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

Випробуваний метод захисту інформації від НСД - шифрування (криптографія). Шифруванням (encryption) називають процес перетворення відкритих даних (plaintext) у зашифровані (шифртекст, ciphertext) або зашифрованих даних у відкриті за певними правилами із застосуванням ключів.

Історичні факти

Першим проривом завіси секретності стала поява алгоритма DES. У 1977р. був розроблений, опублікований і прийнятий у світі відкритий національний стандарт шифрування даних, що не складають державної таємниці, - алгоритм DES (Data Encryption Standart), затверджений Національним бюро стандартів США, і був офіційно визнаний як результат роботи Національного інституту стандартів США в 1981 р. Статус DES як національного стандарту США викликав до нього цікавість із боку розроблювачів устаткування й платіжних систем.

Це був алгоритм з так званим блочним шифром (шифрована інформація оброблялася блоками фіксованої довжини) з ключем довжиною 56 біт.

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

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

Прогрес обчислювальної техніки за ці роки був настільки великим, що всі можливі 256 (приблизно 1017) варіанти ключа вже зараз не здаються настільки неможливими, якими вони представлялись у 1973 чи 1977 роках. Але навіть зараз для практичного вирішення цього завдання за допомогою потужного сучасного суперкомп’ютера, що дозволяє проводити 10 млрд. (тобто 1010) операцій в секунду, потрібно не менше 109 с (близько 30 років безперервної роботи).

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

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

Тепер будь-який розробник може реалізувати DES в своїй апаратурі чи програмі і сміливо стверджувати в рекламі, що інформація шифрується абсолютно надійно у відповідності з офіційними заключеннями розробників та державними організаціями, що прийняли стандарт. При цьому вже нема необхідності апелювати до авторитету цих служб при отриманні заключень щодо стійкості шифрування, а це не впливає на збільшення їх морального та матеріального капіталу у суспільстві.Консорціум е-payment, у який входять компанії ACI Worldwide, Diebold, Thales e-Security і VeriFone, провідні гравці ринку розробки систем електронних платежів, опублікував проект специфікації 3DES, першого у світі міжплатформенного методу керування ключами алгоритму потрійного DES, що став де-факто стандартом для захисту інформації в банківській і фінансовій сферах.

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

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

Система шифрування й дешифрування даних DES використовується США як державний стандарт шифрування даних з 1976 року. На сьогоднішній день система шифрування DES вже не є такою криптостійкою, якою вона була 20 років тому. У зв'язку зі швидким ростом потужності комп'ютерних систем перебір всіх варіантів 64 бітового ключа вже не вважається таким вже неможливим завданням. Однак на його основі розроблено безліч методів шифрування даних, які використовуються й донині. Дана програма являє собою систему інтерактивного навчання класичному алгоритму DES. Крім опису самого алгоритму шифрування вона дозволить вам самому взяти участь у процесі шифрування й одержати результат. Після закінчення шифрування ви одержите результати вашого тестування. Також програма дозволяє шифрувати й дешифрувати невеликі ділянки тексту із заданим вами ключем. Система містить повну документацію по алгоритму DES з докладним поясненням всіх кроків шифрування й дешифрування українською мовою.

Стандарт шифрування даних DES (Data Encryption Standart) був розроблений фірмою IBM на початку 70-х років й у цей час є державним стандартом для шифрування цифрової інформації. Він рекомендований Асоціацією Американських Банкірів. Складний алгоритм DES використовує ключ довжиною 56 біт й 8 бітів перевірки на парність і вимагає від зловмисника перебору 72 квадриліонів можливих ключових комбінацій, забезпечуючи високий ступінь захисту при невеликих витратах. При частій зміні ключів алгоритм задовільно вирішує проблему перетворення конфіденційної інформації в недоступну.

Реалізація алгоритмів шифрування

Алгоритми шифрування реалізуються програмними або апаратними засобами. Є безліч чисто програмних реалізацій різних алгоритмів. Через свою дешевизну (деякі й зовсім безкоштовні), а також все більшої швидкості процесорів ПЕВМ, простоти роботи й безвідмовності вони досить конкурентноздатні. Широко відома програма Diskreet з пакета Norton Utilities, що реалізує DES.

Не можна не згадати пакет PGP (Pretty Good Privacy, версія 2.1, автор Philip Zimmermann), у якому комплексно вирішені практично всі проблеми захисту переданої інформації. Застосоване стискання даних перед шифруванням, потужне керування ключами, симетричний (IDEA) і асиметричний (RSA) алгоритми шифрування, обчислення контрольної функції для цифрового підпису, надійна генерація ключів.

Апаратна реалізація алгоритмів можлива за допомогою спеціалізованих мікросхем (виробляються кристали для алгоритмів DH, RSA, DES, Skipjack, Дердстандарт 28147-89) або з використанням компонентів широкого призначення (через дешевизну й високу швидкість перспективні цифрові сигнальні процесори - ЦСП, Digital Signal Processor, DSP).

Для більшої надійності шифрування одночасно працюють два криптопроцесора, і блок даних в 64 бітів вважається правильно зашифрованим, тільки якщо збігається інформація на виході обох блюмінгів. Швидкість шифрування - 250 КБ/c.

До алгоритмів шифрування пред'являються певні вимоги:

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

захищеність інформації повинна ґрунтуватися тільки на знанні ключа й не залежати від того, відомий алгоритм чи ні (правило Кіркхоффа);

мала зміна вихідного тексту або ключа повинна призводити до значної зміни шифрованого тексту (ефект "обвалу");

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

економічність реалізації алгоритму при достатній швидкості;

вартість дешифрування даних без знання ключа повинна перевищувати вартість даних.

За допомогою криптографічних методів можливим є:

шифрування інформації;

реалізація електронного підпису;

розподіл ключів шифрування;

захист від випадкової або навмисної зміни інформації.Симетричні блокові шифри представлені в .NET класами DESCryptoServiceProvider, TripleDESCryptoServiceProvider, RijndaelManaged. Всі ці класи є нащадками абстрактного класу SymmetricAlgorithm, що описує все сімейство блокових алгоритмів із симетричними ключами. Клас описує властивості, що дозволяють маніпулювати основними параметрами алгоритму: розміром блоку, режимом роботи, ініціалізаціонним вектором, ключем й іншими. І методи CreateEncryptor й CreateDecryptor, що повертають контексти (інтерфейс ICryptoTransform) для криптографічних трансформацій даних. Також є методи GenerateKey й GenerateIV для генерації ключів й ініціалізаційних векторів. Конкретні реалізації успадковуються від цього класу.

Симетричний шифр 3DES

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

Шифрування виконується наступним кодом:

private SymmetricAlgorithm alg;

alg=(SymmetricAlgorithm)RijndaelManaged.Create(); //приклад створення класу RijndaelManaged

PasswordDeriveBytes pdb=new PasswordDeriveBytes(Password.Text,null); //клас, що дозволяє генерувати ключі на базі паролів

pdb.HashName="SHA512"; //будемо використати SHA512

int keylen=(int)KeySize.SelectedItem; //одержуємо розмір ключа з ComboBox'а

alg.KeySize=keylen; //установлюємо розмір ключа

alg.Key=pdb.GetBytes(keylen
Хотите создать по-настоящему уникальный и прибыльный интернет-магазин, который будет привлекать клиентов?
Создание интернет-магазина поможет вам стремительно развивать свой бизнес, увеличить количество продаж, а самое главное, получать высокую прибыль!
Оценок: 778 (средняя 5 из 5)
© 2014 - 2017 BigLib.info — это сокращение от Big Library (большая библиотека).
Целью создания этого сайта было сделать литературу доступной для всех, кто желает ее читать.
Использование любых материалов сайта без согласования с администрацией запрещено.
Обратная связь