ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Криптографія (блочний шифр )
         

     

    Інформатика, програмування
    Що таке Blowfish.

    Blowfish це 64-біт блочний шифр розроблений Шнайером (Schneier) в 1993 році. Це шифр Файстела (Feistel) і кожен прохід складається з залежною від ключа перестановки і залежною від ключа з даними заміни. Всі операції засновані на операціях XOR та додані до 32-бітним словами (XORs and additions on 32-bit words). Ключ має змінну довжину (максимально 448 біт) і використовується для створення декількох подключевих масивів (subkey arrays). Шифр був створений спеціально для 32-бітових машин і істотно швидше DES.

    У 1994 Dr.Dobb журнал спонсорував відкрите змагання з виграшу в $ 1000. Це змагання закінчилося у квітні 1995 і серед результатів було відкрито існування декількох слабких ключів. Однак, Blowfish може вважатися захищеною, і Шнайер запросив криптоаналітиків для продовження дослідження його шифру. Що таке DES.

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

    DES має блоки по 64 біт і заснований на 16 кратною перестановці даних, також для зашифрування використовує ключ в 56 біт. Існує кілька режимів DES, наприклад Electronic Code Book (ECB) та Cipher Block Chaining (CBC).

    56 біт - це 8 семібітових ASCII символів, тобто пароль не може бути більше ніж 8 букв. Якщо до того ж використовувати тільки букви і цифри, то кількість можливих варіантів буде істотно менше максимально можливих 2 ^ 56.

    Один з кроків алгоритму DES:

    Вхідний блок даних ділиться навпіл на ліву (L ') і праву (R') частини. Після цього формується вихідний масив так, що його ліва частина L''представлена правою частиною R 'вхідного, з 32-бітового слова R' за допомогою бітових перестановок формується 48-бітове слово. Отримане 48-бітове слово XOR-ится з 48-бітовим раундовий ключем. Результуюче 48-бітове слово розбивається на 8 6-бітових груп, кожна 6-бітова група за допомогою відповідного S-box'а замінюється на 4-бітову групу і з отриманих восьми 4-бітових груп складається 32-бітове слово. Отримане слово XOR-ится з L ', в результаті виходить R''. Можна переконатися, що всі проведені операції можуть бути звернені і розшифрування здійснюватись за число операцій, лінійно залежне від розміру блоку. Після кількох таких збивання можна вважати, що кожен біт вихідного блоку шифровки може залежати від кожного біта повідомлення. Що таке Потрійний DES.

    Так як текст, зашіфроaвaнний подвійним DES виявляється крихким при криптографічного атаці - зустріч на середу (meet in the middle), то текст шифрується 3 рази DES. У такий спосіб довжина ключа зростає до 168-біт (56x3).

    Не завжди, пріменеіе потрійного DES означає увелеченіе рівня безпеки повідомлення.

    Типи потрійного шифрування DES:  DES-EEE3: шифрується 3 рази з 3 різними ключами.  DES-EDE3: 3 DES операції шифровка-розшифровка-шифровка з 3      різними ключами.  DES-EEE2 і DES-EDE2: Як і попередні, за винятком того, що      перша і третя операції використовують однаковий ключ.        

    Порівняння різних видів DES шифрування.              # Шифрування          # Ключів          Обчислення (Computation)          Зберігання (Storage)          Тип атаки             одиночний         1         2 ^ 56         --         known plaintext             одиночний         1         2 ^ 38         2 ^ 38         chosen plaintext             одиночний         1         --         2 ^ 56         chosen plaintext             подвійний         2         2 ^ 112         --         known plaintext             подвійний         2         2 ^ 56         2 ^ 56         known plaintext             подвійний         2         --         2 ^ 112         chosen plaintext             потрійний         2         2 ^ 112         --         known plaintext             потрійний         2         2 ^ 56         2 ^ 56         2 ^ 56 chosen plaintext             потрійний         2         2 ^ (120-t)         --         2 ^ t known plaintext             потрійний         2         --         2 ^ 56         chosen plaintext             потрійний         3         2 ^ 112         2 ^ 56         known plaintext             потрійний         3         2 ^ 56         2 ^ 112         chosen plaintext      Що таке DES з незалежними ключами (independent subkeys).

    DES виділяє з 56-бітного ключа введеного користувачем 16 48-бітових ключів, для використання у кожній з 16 перестановок. Цікаво порівняння ефекту при використанні 768-бітного ключа (розділеного на 16 48-бітних подключіков) замість використання 16 залежних ключів створюються режимом ключів в DES алгоритмі.

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

    IDEA (International Data Encryption Algorithm) - це друга версія блочного шифру розроблений К. Лейем (Lai) і Д. Мессі (Massey) наприкінці 80-х. Це шифр що складається з 64-бітових послідовності блоків з 128-бітовим ключем і вісьмома проходами (rounds). Хоча цей шифр не шифрується Файстела (Feistel), дешифрування виконується за тим же принципом, чтоішіфрованіе. Структура шифру була розроблена для легкого втілення як програмно, так і апаратно, і безпека IDEA грунтується на використанні трьох не совместімх типів арифметичних операцій над 16-бітними словами. Швидкість програмного IDEA порівнянна зі швидкістю DES.

    Один із принципів створення IDEA - ускладнити диференціальний криптоаналіз. Також не одна лінійна криптоаналітичних атака не закінчилася успішно, як і не було виявлено алгебраїчних слабких місць. Найповніший аналіз провів Daemen. Він відкрив великий клас 2 ^ 51 слабких ключів, при використанні яких в процесі шифрування, ключ може бути виявлений і поновлено. Однак, тому що в IDEA існує 2 ^ 128 можливих варіантів ключів, то це відкриття не впливає на практичну безпеку шифру. Що таке RC2 і RC4.

    RC2 і RC4 це блокові шифри з ключем змінної довжини створені Роном Рівестом (Ron Rivest) для RSA Data Security. "RC" розшифровується як "Ron's Code" або "Rivest Cipher (шрифт)". RC2 швидше ніж DES і був спецально розроблений для заміни ( "drop-in" replacement) DES. Він може бути реалізований більш-менш захищеним ніж DES, залежно від довжини ключа. RC2 алгоритм конфіденціален і є власністю RSA Data Security. RC2 може використовуватися там, де використовується DES.

    Угода, укладена між Software Publishers Association (SPA) і урядом США дає RC2 і RC4 спеціальний статус, який означає, що дозволено експортувати шифри довжиною ключа до 40 біт. 56-бітові ключі дозволено використовувати закордонним відділенням американських компаній. Однак, кілька потужних комп'ютерів, можуть перебрати всі можливі у 40-бітного ключа 2 ^ 40 варіанти всього за тиждень. Тому додатково можуть використовуватися рядка звані сіллю (salt), які сильно заважають при перебір всіх можливих варіантів. Сіль приєднується до вихідного ключа, і подовжений ключ використовується для шифрування. повідомлення, потім сіль надсилається з повідомленням в не зашифрованому вигляді.

    RC2 і RC4 з ключами 128 біт забезпечують такий же рівень безпеки як і IDEA або потрійний DES. RC2 і RC4 широко використовується розробниками, чиї продукти експортуються за межі США, оскільки експортувати DES заборонено.

    Надійність RC4 недавно була поставлена під сумнів з за несанкціонованого угоди тексту програми, що використовує цей шифр. Що таке RC5.

    RC5 це досить-таки швидкий блоковий шифр розроблений Рівестом для RSA Data Security. Цей алгарітм параметрічен, тобто з пременним розміром блоку, довжиною ключа і змінним числом проходів. Розмір блоку може бути 32, 64, або 128 бітів. Кількість проходів в проміжку від 0 до 2048 біт. Параметричного такого роду дає гнучкість і ефективність шифрування.

    RC5 складається з введення ключа (key expansion), шифрування і дешифрування. При введенні ключа вводяться також кількість проходів, розмір блоку і т.д. Шифрування складається з 3 прімітвних операцій: додавання, побітового XOR і чергування (rotation). Виняткова простота RC5 робить його простим у використанні, RC5 текст, також як і RSA, може бути дописаний в кінець листа в зашифрованому вигляді.

    Безпека RC5 грунтується на що залежить від даних чергуванням і змішуванням результатів різних операцій. RC5 з розміром блоку 64 біта і 12 або більше проходів забезпечує хорошу стійкість проти диференціального та лінійного кріптаналізов. Що таке RSA.

    RSA (автори: Rivest, Shamir і Alderman) це система з відкритим ключем (public-key) призначена як для шифрування, так і для аутентифікації була розроблена в 1977 році. Вона заснована на труднощі розкладання дуже великих цілих чисел на прості співмножники.

    RSA дуже повільний алгоритм. Для порівняння, на програмном рівні DES по меншою мірою в 100 разів швидше RSA, на апаратних аж у 1,000-10,000 разів, в залежно від виконання.

    RSA алгоритм:
    1. Беруться дві дуже великих цілих числа P і Q і знаходяться N = PQ і M = (P-1) (Q-1)
    2. Вибирається випадкове ціле число D, взаємно просте з M і обчислюється E = (1 MOD M)/D
    3. Потім публікується D і N як відкритий ключ, E зберігається в таємниці.
    4. Якщо S - повідомлення, довжина якого, що визначається за значенням виражається їм цілого числа, повинна бути в інтервалі (1, N), то воно перетворюється на шифровку зведенням до степеня D по модулю N і відправляється одержувачу S '= S ^ D MOD N
    5. Одержувач повідомлення расшіфрорвивает його, звівши до степеня E (число E йому вже відомо) по модулю N, тому що S = (S '^ E MOD N) = S ^ (DE) MOD N Що таке ГОСТ 28147-89.

    ГОСТ 28147-89 - це стандарт, прийнятий в 1989 році в Радянському Союзі і встановив алгоритм шифрування даних, що становлять держтаємницю. Історія створення цього алгоритму - таємниця, вкрита мороком. За свідченням причетних до його реалізацій і використанню людей, алгоритм був розроблений в 70-і роки в 8-му Головному Управлінні КДБ СРСР, тоді він мав гриф Сов.Секретно. Потім гриф був знижений до Секретно, а коли в 89-му році алгоритм був проведений через Держстандарт і став офіційним державним стандартом, гриф з нього було знято, проте алгоритм залишався ДСП. На початку 90-х років він став повністю відкритим.

    ГОСТ передбачає 3 режими шифрування (проста заміна, гамування, гамування зі зворотним зв'язком) і один режим вироблення імітовставки. Перший з режимів шифрування призначений для шифрування ключової інформації і не може використовуватися для шифрування інших даних, для цього передбачені два інших режиму шифрування. Режим вироблення імітовставки (криптографічного контрольної комбінації) призначений для ІМІТОЗАЩІТИ шіфруемих даних, тобто для їх захисту від випадкових або навмисних несанкціонованих змін.

    Алгоритм побудований за тим же принципом, що і DES - це класичний блочний шифр з секретним ключем - однак відрізняється від DES'а більшою довжиною ключа, великою кількістю раундів, і більш простою схемою побудови самих раундів. Нижче наведено його основні параметри, для зручності - у порівнянні з параметрами DES'а:         П А РА М Е Т Р          ГОСТ          DES             1. Розмір блоку шифрування         64 біта         64 біта             2. Довжина ключа         256 біт         56 біт             3. Число раундів         32         16             4. Вузли замін (S-блоки)         не фіксовані         фіксовані             5. Довжина ключа для одного раунду         32 біта         48 біт             6. Схема вироблення раундового ключа         проста         складна             7. Початкова і кінцева перестановки бітів         немає         є     

    У силу набагато більшої довжини ключа ГОСТ набагато стійкіші DES'а до розтину "грубою силою" - шляхом повного перебору з безлічі можливих значень ключа.

    Функція шифрування (*) ГОСТу набагато простіше функції шифрування DES'а, вона не містить операцій бітових перестановок, якими рясніє DES і які вкрай неефективно реалізуються на сучасних універсальних процесорах (хоча дуже просто апаратно - шляхом розводки провідників у кристалі або на платі). У силу сказаного, при вдвічі більшій кількості раундів (32 проти 16) програмна реалізація ГОСТу на процесорах Intel x86 більш ніж в 2 рази перевершує за швидкодією реалізацію DES'а. Природно, порівнювалися близькі до оптимуму за швидкодією реалізації [1].

    З інших відмінностей ГОСТу від DES'а треба відзначити наступне:  На кожному раунді шифрування використовується "раундовий      ключ ", в DES'е він 48-бітовий і виробляється за відносно      складного алгоритму, що включає бітові перестановки і заміни по таблиці,      в Гості він береться як фрагмент ключа шифрування. Довжина ключа шифрування      Гості дорівнює 256 бітам, довжина раундового ключа - 32 бітам, разом отримуємо,      що ключ шифрування ГОСТу містить 256/32 = 8 раундовий ключів. У ДОСТі 32      раунду, отже, кожен раундовий ключ використовується 4 рази, порядок      використання раундовий ключів встановлений в Гості і різний для різних      режимів.  Таблиця замін в Гості - аналог S-блоків DES'а - являє собою      таблицю (матрицю) розміром 8x16, яка містить число від 0 до 15. У кожній      рядку кожне з 16-ти чисел має зустрітися рівно 1 раз. На відміну від      DES'а, таблиця замін в Гості одна і та ж для всіх раундів і не      зафіксована в стандарті, а є змінювані секретним ключовим      елементом. Від якості цієї таблиці залежить якість шифру. При      "сильною" таблиці замін стійкість шифру не опускається нижче      деякого допустимого рівня навіть у разі її розголошення. І навпаки,      використання "слабкої" таблиці може зменшити стійкість шифру      до неприпустимо низької межі. Жодної інформації щодо якості таблиці      замін у відкритій пресі Росії не публікувалися, однак існування      "слабких" таблиць не викликає сумніву - прикладом може служити      "тривіальна" таблиця замін, за якою кожне значення замінюється      на нього самого. Це робить непотрібним для компетентних органів Росії      обмежувати довжину ключа - можна просто поставити недостатньо      "сильну" таблицю замін.  У ГОСТ, на відміну від DES'а, немає початковою і кінцевою бітових      перестановок шіфруемого блоку, які, на думку ряду фахівців, не      впливають суттєво на стійкість шифру, хоча впливають (в бік зменшення)      на ефективність його реалізації.

    (*) Що таке функція шифрування?

    Багато алгоритми, включаючи DES і ГОСТ, побудовані за одним і тим же принципом: Процес шифрування складається з набору раундів-кроків, на кожному кроці виконуються наступні дії.  Вхідний блок ділиться навпіл на старшу (L) і молодшу (R) частини.  Обчислюється значення функції шифрування від молодшої частини (R)      і раундового ключа (k) X = f (R, k). яка використовується на даному      кроці функція і називається Функція шифрування РАУНДУ. Вона може бути одна      для всіх раундів, або індивідуальна для кожного раунду. В останньому випадку      функції шифрування різних раундів одного шифру відрізняються, як правило,      лише в деталях.  Формується вихідний блок, його старша частина дорівнює молодшої частини      вхідного блоку L '= R, а молодша частина це результат виконання операції      побітового виключає Або (позначимо його (+)) для старша частини вхідного      блоку та результату обчислення функції шифрування R '= L (+) f (R, k).

    Tак ось, функція шифрування ГОСТу дуже проста:  Молодша частина блоку R і раундовий ключ складаються по модулю      2 ^ 32.  Отримане значення перетворюється по таблиці замін - воно ділиться      на 8 4-бітових груп, і кожна група замінюється на нове      значення з використанням відповідного      ВУЗЛА замін.  Отримане значення циклічно зсувається на 11 біт вліво.

    Як бачите, на відміну від DES'а дуже проста і легко реалізована функція шифрування. Більш докладно про все це можна прочитати в [2].

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

    Склав Андрій Винокуров. (http://www.halyava.ru/crypto)

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status