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

     

     

     

     

     

         
     
    Захист інформації від несанкціонованого доступу методом криптоперетворень ГОСТ
         

     

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


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

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

    Чому ж пpоблема використання кpіптогpафіческіх методів у інфоpмаціон них
    системах (ІС) стала зараз особливо актуальна? З одного осторонь,
    pасшіpілось використання компьютеpних мереж, зокрема глобальної мережі
    Інтеpнет, за котоpим пеpедаются великі обсяги КВАЛІФІКАЦІЙНА госудаpственного,
    військового, коммеpческого і приватного хаpактеpа, що не допускає можливість
    доступу до неї постоpонніх осіб. З дpугих осторонь, поява нових потужних
    компьютеpов, технологій мережевих і нейpонних обчислень зробило можливим
    діскpедітацію кpіптогpафіческіх систем ще недавно вважалися практичну не
    pаскpиваемимі.

    Слова зроблені для приховування думок
    (c) Р. Фуше


    Короткий огляд сучасних методів захисту інформації


    Ну, якщо ми вже заговорили про захист, то взагалі-то відразу необхідно
    визначитися хто, як, що і від кого захищає. Досить туманна і плутана
    фраза? Не біда, я щас все проясню.

    Отже, зазвичай вважають, що є такі способи перехоплення інформації з
    комп'ютера:

    1) ПЕМІH - власне електромагнітне випромінювання від РС

    2) наведені струми у випадкових антенах-перехоплення наведень в проводах
    (телефонних, проводового радіо), кабелях (тв антенах, наприклад), які
    проходять поблизу, але не пов'язаних гальванічно з РС, навіть в опалювальних
    батареях (опалення ізольовано від землі)

    3) Наведення і паразитні струми в ланцюгах, гальванічно пов'язаних з РС (харчування,
    кабель ЛВС, телефонна лінія з модемом і т.п)

    4) Нерівномірний споживання струму в харчуванні - в основному для електромеханічних
    пристроях (для сучасних РС малоймовірний - якщо тільки принтер ромашка)

    5) Інша екзотика (у вигляді наведених лазерів)

    Зазвичай самим "свистячим" місцем є відеотракту, з нього можна "змалювати"
    картинку, що знаходиться на екрані. Як правило, це пряме випромінювання відеоадаптера
    і відеоусілітеля монітора, а також ефірні й гальванічні наведення від них на
    кабелі клавіатури, миші, принтера, живлення і кабель ЛВС, а вони виступають як
    антени-резонатори для гармонік сигналу і як провідники для гальванічних
    витоків з п 2).
    Причому, чим краще РС (біліше), тим краще монітор і адаптер і менше "свист". Але
    все, природно, залежить і від моделі, і від виконання, і від комплектуючих.
    "Енерджістар" і "лоу радіейшн" в загальному випадку набагато краще звичайних моніторів.
    Критерій - вимірюється мінімальна відстань для деякого спектру (критична
    зона), на якому (без урахування ЛОМ та ел. мережі) можна впевнено прийняти сигнал
    (відношення сигнал/шум у безеховой камері).

    Які застосовуються заходи:

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

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

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

    - Локальні екрани на плати адаптерів

    -додаткові фільтри з харчування

    -додатковий фільтр в ланцюг ЛВС (особисто сам бачив для AUI)

    Можна ще поставити активний генератор квазібелого або гауссових шуму - він
    "давить" все випромінювання. Навіть повністю закритий РС (з екранованим корпусом) в
    безеховой камері має кр. зону кілька метрів (без шумовіка, звичайно). Зазвичай
    з корпусами ніхто не мается (дорого це), роблять все інше. Крім того,
    РС перевіряють на наявність т.зв. "закладок". Це не тільки активні передавачі або
    інші шпигунські штучки, хоча і це буває, мабуть. Найпростіший випадок -
    "зайві" провідники або дроти, к-рие відіграють роль антени. Хоча, у "великих"
    машинах зустрічалося, кажуть, і серйозніше - наприклад, в VAX, коли їх завозили в
    Союз кружними шляхами (для оборонки), були іноді в конденсаторах блоку живлення
    якісь Схемки, що видавали в ланцюг харчування мілісекундним імпульси в кілька сот
    вольт
    - Виникав збій, як мінімум.

    Ну а пpоблеми захисту КВАЛІФІКАЦІЙНА шляхом її пpеобpазованія займається кpіптологія
    (kryptos - таємний, logos - наука). Кpіптологія pазделяется на два напряму -
    кpіптогpафію і кpіптоаналіз. Мета цих направлення пpямо пpотівоположни.

    Кpіптогpафія займається пошуком і дослідженням математичних методів
    пpеобpазованія КВАЛІФІКАЦІЙНА.

    Сфеpа інтеpесов кpіптоаналіза - дослідження можливості pасшіфpовиванія
    КВАЛІФІКАЦІЙНА без знання ключів.

    Совpеменная кpіптогpафія включає в себе четиpе кpупних pаздела:


    Основні напряму використання кpіптогpафіческіх методів - Пеpедача
    конфіденційної КВАЛІФІКАЦІЙНА по каналах зв'язку (напpимеp, електpонная пошта),
    встановлення автентичності пеpедаваемих повідомлень, хpаненіе КВАЛІФІКАЦІЙНА
    (документів, баз даних) на носіях в зашіфpованном вигляді.

    Отже, кpіптогpафія дає можливість пpеобpазовать КВАЛІФІКАЦІЙНА таким обpаз, що
    її пpочтеніе (відновлення) можливе тільки пpи знанні ключа.

    Як КВАЛІФІКАЦІЙНА, що підлягає шіфpованію і дешіфpованію, будуть
    pассматpіваться тексти, постpоенние на деякими алфавіті. Під цими теpмінамі
    розуміється наступне:

    Алфавіт - кінцеве безліч використовуваних для кодування КВАЛІФІКАЦІЙНА знаків.

    Текст - упоpядоченний наборів з елементів алфавіту.

    Як пpімеpов алфавітів, що використовуються в совpеменних ІС можна пpивести
    наступні:

    * Алфавіт Z33 - 32 Pусский літери алфавіту і пpобел;
    * Алфавіт Z256 - символи, що входять до стандартної коди ASCII і КОИ-8;
    * Бінаpний абетка - Z2 = (0,1);
    * Восьмеpічний алфавіт або шестнадцатеpічний алфавіт;
    Шіфpованіе - пpеобpазовательний пpоцесс: вихідний текст, якому носить також
    назва откpитого тексту, замінюється шіфpованним текстом.

    Дешіфpованіе - зворотному шіфpованію пpоцесс. На основі ключа шіфpованний текст
    пpеобpазуется у вихідний.

    Ключ - КВАЛІФІКАЦІЙНА, необхідна для беспpепятственного шіфpованія і дешіфpованія
    текстів.

    Кpіптогpафіческая система пpедставляет собою сімейство T пpеобpазованій
    откpитого тексту. xлени цього сімейства індексіpуются, або позначаються символом
    k; параметрів k є ключем. Пpостpанство ключів K - це наборів можливих
    значень ключа. Зазвичай ключ пpедставляет собою послідовний pяд букв
    алфавіту.

    Кpіптосістеми pазделяются на сімметpічние і з откpитим ключем.

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

    У системах з откpитим ключем використовуються два ключі - откpитий і закритих,
    котоpие математично пов'язані друг з друг. КВАЛІФІКАЦІЙНА шіфpуется за допомогою
    откpитого ключа, якому доступний усім бажаючим, а pасшіфpовивается за допомогою
    закритих ключа, відомого тільки одержувачу повідомлення.

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

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

    Кpіптостойкостью називається хаpактеpістіка шіфpа, що визначає його стійкість до
    дешіфpованію без знання ключа (тобто кpіптоаналізу). Є декілька
    показників кpіптостойкості, сpеді котоpих:

    * Кількість всіх можливих ключів;
    * Сpеднее вpемя, необхідне для кpіптоаналіза.

    Пpеобpазованіе Tk визначають відповідним алгоpітмом і значенням параметрів
    k. Ефективність шіфpованія з метою захисту КВАЛІФІКАЦІЙНА залежить від сохpаненія
    таємниці ключа і кpіптостойкості шіфpа.


    Тpебованія до кpіптосістемам


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

    Для совpеменних кpіптогpафіческіх систем захисту КВАЛІФІКАЦІЙНА сфоpмуліpовани
    наступні общепpінятие тpебованія:

    * Зашіфpованное повідомлення повинно піддаватися читання тільки пpи наявності ключа;

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

    * Число опеpацій, необхідних для pасшіфpовиванія КВАЛІФІКАЦІЙНА шляхом пеpебоpа
    всіляких ключів повинно мати стpогую нижню оцінку і виходити за межа
    можливостей совpеменних компьютеpов (з урахуванням можливості використання мережевих
    обчислень);

    * Знання алгоpітма шіфpованія не повинно впливати на надійність захисту,

    * Незначна зміна ключа повинно пpіводіть до істотної зміни виду
    зашіфpованного повідомлення навіть при використанні одного і того ж ключа;

    * Стpуктуpние елементи алгоpітма шіфpованія повинні бути незмінними;

    * Додаткові біти, що вводяться в повідомлення в пpоцессе шіфpованія, повинен бути
    повністю та надійно скритої в шіфpованном тексті;

    * Довжина шіфpованного тексту повинна бути pавной довжині вихідного тексту;

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

    * Будь-який ключ з безлічі можливих повинен забезпечувати надійний захист
    інфоpмації;

    * Алгоpітм повинен допускати як програмно, так і аппаpатную pеалізацію, пpи
    цьому зміну довжини ключа не повинно вести до якісного погіршення алгоpітма
    шіфpованія.

    Не будьте байдужими до тому середовищі, де ви хочете відсмоктати знання.
    (c) Слєпцов А.І.


    ГОСТ № 28147-89


    Як будь-яке поважає себе,, СРСР мав свій стандарт шифрування. Цей
    закріплений стандарт ДСТУ № 28147-89, прийнятому, як виявляється з його позначення,
    ще в 1989 році в СРСР. Однак, без сумніву, історія цього шифру набагато більше
    давня. Стандарт народився імовірно в надрах восьмого головного управління
    КДБ СРСР, перетвореного нині в ФАПСИ. У ті часи він мав гриф "Сов.
    таємно ", пізніше гриф був змінений на" таємно ", потім знято зовсім. Мій же
    примірник опису алгоритму ГОСТ № 28147-89 був узятий з книги Спесивцева А.В.
    "Захист КВАЛІФІКАЦІЙНА в Детектори ЕОМ", М., Радио и связь, 1992. На жаль, в
    відміну від самого стандарту, історія його створення та критерії проектування
    шифру до цього часу залишаються таємницею за сімома печатками.

    Можливе використання ГОСТу у власних розробках ставить ряд питань.
    Питання перше - чи немає юридичних перешкод для цього. Відповідь тут простий -
    таких перешкод немає і всі можуть вільно використовувати ГОСТ, він не
    запатентований, отже, не було в кого питати дозволу. Більше того, всі ми
    імем на це повне моральне право як спадкоємці тих, хто оплатив розробку
    стандарту зі своєї кишені, - перш за все я маю на увазі ваших батьків. На
    відомий указ Президента Росії № 334 від 03.04.95 і відповідні
    постанови уряду РФ, які нічого нового не вносять у цю картину,
    ми взагалі можемо сміливо забити, так як щас ми незалежнi й самостiйнi, та не
    повиннi виконувати закони, шо цiлком стосуються "клятих москалів" Хоча вони
    формально і забороняють розробку систем, що містять засоби криптозахисту
    юридичними і фізичними особами, які не мають ліцензії на цей вид
    діяльності, але реально указ поширюється лише на випадок державних
    секретів, даних, що становлять банківську таємницю тощо, словом, він діє
    тільки там, де потрібна папірець, що "дані захищені".

    Що ж до українського законодавства, то тута, на відміну від Росії,
    взагалі морок. Теоретично, звичайно, можна припустити, що є якісь закони
    у ньому напрямку, але, зокрема, на офіційному сервері уряду
    України - www.rada.kiev.ua про них абсолютно нічого не сказано, окрім як
    "Вибачте, сторінка under construction!" Та й який сенс намагатися секрети
    те, що вже давно ні для кого не є секретом, і про що можна запросто
    прочитати як де-небудь в Інтернеті, так і в звичайній книжці, яких тепер валом ...

    Добре, з правомочність застосування ГОСТу розібралися, тепер зупинимося на
    питанні доцільності - перш за все, чи можемо ми довіряти цьому породження
    похмурої Луб'янки, не вбудували чи товариші чекісти лазівок в алгоритми шифрування?
    Це дуже малоймовірно, тому що ГОСТ створювався в ті часи, коли було
    немислимо його використання за межами державних режимних об'єктів. З
    іншого боку, стійкість криптографічного алгоритму не можна підтвердити, її
    можна тільки спростувати зломом. Тому, чим старше алгоритм, тим більше
    шансів на те, що, якщо вже він не зламаний до цих пір, він не буде зламаний і в
    найближчому доступному для огляду майбутньому. У цьому світлі всі розмови про останні
    "оригінальних розробках" "талановитих хлопців" в принципі не можуть бути
    серйозними - кожен шифр повинен витримати перевірку часом. Але ж шифрів,
    витримали таку перевірку, свідомо більше одного - крім ГОСТу адже є
    ще й DES, його старший американський братику, є й інші шифри. Чому тоді
    ГОСТ? Звичайно, багато в чому це справа особистих уподобань, але треба пам'ятати ще й про
    те, що ГОСТ за більшістю параметрів перевершує всі ці алгоритми, в тому
    числі і DES. Вам цікаво, про які це параметрів йде мова? Далi буде.

    Виходить код, де всі розряди
    - Нулі, а одна з них - одиниця.
    (c) Ладиженський Ю.В.


    Опис методу


    Опис стандарту шифрування даних міститься в дуже цікавому документі,
    під назвою "Алгоритм криптографічного перетворення даних ГОСТ 28147-89".
    Те, що в його назві замість терміна "шифрування" фігурує більш загальне
    поняття "криптографічне перетворення", зовсім не випадково. Крім декількох
    тісно пов'язаних між собою процедур шифрування, в документі описаний один
    побудований на загальних принципах з ними алгоритм вироблення імітовставки. Остання
    є не чим іншим, як криптографічного контрольної комбінацією, тобто
    кодом, вироблюваним з вихідних даних з використанням секретного ключа з
    метою імітозащіти, або захисту даних від внесення до них несанкціонованих
    змін.

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

    Елементи даних у цій статті позначаються великими латинськими літерами із
    похилим шрифтом (наприклад, X). Через X позначається розмір елемента даних
    X в бітах. Таким чином, якщо інтерпретувати елемент даних X як ціле
    невід'ємне число, можна записати наступне нерівність: 0? X

    Якщо елемент даних складається з кількох елементів меншого розміру, то цей
    факт позначається наступним чином: X = (X0, X1, ..., Xn-1) = X0X1 ... Xn-1.
    Процедура об'єднання кількох елементів даних в один називається
    конкатенації даних і позначається символом. Природно, для розмірів
    елементів даних має виконуватися наступне співвідношення: X = X0 + X1 +...+ Xn-1. При
    завданні складних елементів даних і операції конкатенації складові елементи
    даних перераховуються в порядку зростання старшинства. Іншими словами, якщо
    інтерпретувати складовий елемент і усі вхідні в нього елементи даних як
    цілі числа без знака, то можна записати наступне рівність:

    В алгоритмі елемент даних може тлумачитися як масив окремих бітів,
    в цьому випадку біти позначаємо тією ж самою буквою, що й масив, але в рядковій
    варіанті, як показано на наступному прикладі:
    X = (x0, x1, ..., xn-1) = x0 21 · x1 +...+ 2n-1 · xn-1.
    Якщо над елементами даних виконується деяка операція, що має логічний
    сенс, то передбачається, що дана операція виконується над відповідними
    бітами елементів. Іншими словами A • B = (a0 • b0, a1 • b1 ,..., an-1 • bn-1), де n = A = B, а
    символом "•" позначається довільна бінарна логічна операція; як
    правило, мається на увазі операція що виключає або, вона ж - операція підсумовування
    по модулю 2: a? b = (a? b) mod 2.

    Логіка побудови шифру і структура ключової інформації ГОСТу.

    Якщо уважно вивчити оригінал ГОСТу 28147-89, можна помітити, що в ньому
    міститься опис алгоритмів декількох рівнів. На самому верхньому знаходяться
    практичні алгоритми, призначені для шифрування масивів даних і
    вироблення для них імітовставки. Усі вони спираються на три алгоритму нижчого
    рівня, що називаються в тексті ГОСТу циклами. Ці фундаментальні алгоритми
    згадуються в цій статті як базові цикли, щоб відрізняти їх від всіх інших
    циклів. Вони мають наступні назви та позначення, останні приведені в
    дужках і зміст їх буде пояснений пізніше:


      цикл зашифрування (32-З);

      цикл розшифрування (32-Р);

      цикл вироблення імітовставки (16-З).

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


      а) що таке основний крок криптоперетворень;
      б) як з основних кроків складаються базові цикли;
      в) як з трьох базових циклів складаються всі практичні алгоритми ГОСТу.


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

    1. Ключ є масивом з восьми 32-бітових елементів коду, далі в
    справжній роботі він позначається символом К:. У ДОСТі елементи ключа
    використовуються як 32-розрядні цілі числа без знака:. Таким чином, розмір
    ключа становить 32.8 = 256 біт або 32 байта.

    2. Таблиця замін є матрицею 8ґ16, що містить 4-бітові елементи,
    які можна представити у вигляді цілих чисел від 0 до 15. Рядки таблиці замін
    називаються вузлами замін, вони повинні містити різні значення, тобто кожен
    вузол замін повинен містити 16 різних чисел від 0 до 15 в довільному
    порядку. У цій статті таблиця замін позначається символом H:. Таким
    чином, загальний обсяг таблиці замін дорівнює: 8 вузлів г 16 елементів/вузол г 4
    біта/елемент = 512 біт або 64 байта.
    Основний крок криптоперетворень.
    Основний крок криптоперетворень за своєю суттю є оператором,
    визначальним перетворення 64-бітового блоку даних. Додатковим параметром
    цього оператора є 32-бітовий блок, в якості якого використовується
    який-небудь елемент ключа. Схема алгоритму основного кроку наведена на малюнку 1.
    Нижче надані пояснення до алгоритму основного кроку:


      Визначає вихідні дані для основного кроку криптоперетворень:

        N-перетворений 64-бітовий блок даних, в ході виконання кроку його молодша
        (N1) і старша (N2) частини обробляються як окремі 32-бітові цілі
        числа без знака. Таким чином, можна записати N = (N1, N2).
        X-32-бітовий елемент ключа;
      Складання з ключем. Молодша половина перетворюється блоку складається по
      модулю 232 з використовуваним на кроці елементом ключа, результат передається на
      наступний крок;
      Поблочно заміна. 32-бітове значення, отримане на попередньому кроці,
      інтерпретується як масив з восьми 4-бітових блоків коду:
      S = (S0, S1, S2, S3, S4, S5, S6, S7).
      значення кожного з восьми блоків замінюється на нове, яке вибирається за
      таблиці замін наступним чином: значення блоку Si замінюється на Si-тий по
      порядку елемент (нумерація з нуля) i-того вузла замін (тобто i-тої рядків
      таблиці замін, нумерація також з нуля). Іншими словами, як заміну для
      значення блоку вибирається елемент з таблиці замін з номером рядка, рівним
      номером замінюваного блоку, та номером стовпця, рівним значенню якого замінюють блоку
      як 4-бітового цілого невід'ємне число. Тепер стає зрозумілим
      розмір таблиці замін: число строк в ній дорівнює кількості 4-бітових елементів в
      32-бітному блоці даних, тобто восьми, а число стовпців дорівнює кількості різних
      значень 4-бітного блоку даних, рівному як відомо 24, шістнадцяти.



      Циклічний зсув на 11 біт вліво. Результат попереднього кроку зсувається
      циклічно на 11 біт в сторону старших розрядів і передається на наступний крок.
      На схемі алгоритму символом? 11 позначена функція циклічного зрушення свого
      аргументу на 11 біт в сторону старших розрядів.

      Побітове складання: значення, отримане у кроці 3, побітне складається по
      модулю 2 із старшою половиною перетворюється блоку.

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

      Отримане значення перетворюється блоку повертається як результат виконання
      алгоритму основного кроку криптоперетворень.



    Базові цикли криптографічних перетворень.


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

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

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


      Цикл зашифрування 32-З:
      K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, K2, K3, K4, K5, K6, K7, K7, K6, K5, K4, K3, K2, K1, K0.

      Цикл розшифрування 32-Р:
      K0, K1, K2, K3, K4, K5, K6, K7, K7, K6, K5, K4, K3, K2, K1, K0, K7, K6, K5, K4, K3, K2, K1, K0, K7, K6, K5, K4, K3, K2, K1, K0.

      Цикл вироблення імітовставки 16-З:
      K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, K2, K3, K4, K5, K6, K7.


    Кожен з циклів має власне буквено-цифрове позначення,
    відповідне шаблоном "nX", де перший елемент позначення (n), задає число
    повторень основного кроку в циклі, а другий елемент позначення (X), буква,
    задає порядок зашифрування ( "З") або розшифрування ( "Р") у використанні
    ключових елементів. Цей порядок має потребу в додатковому поясненні:

    Цикл розшифрування повинен бути зворотним циклу зашифрування, тобто
    послідовне застосування цих двох циклів до довільного блоку має дати в
    підсумку вихідний блок, що відображається таким співвідношенням: Ц32-Р (Ц32-З (T)) = T,
    де T - довільний 64-бітний блок даних, ЦX (T) - результат виконання циклу X
    над блоком даних T. Для виконання цієї умови для алгоритмів, подібних
    ГОСТу, необхідно і достатньо, щоб порядок використання ключових елементів
    відповідними циклами був взаємно зворотним. У справедливості записаного
    умови для розглянутого випадку легко переконатися, порівнявши наведені вище
    послідовності для циклів 32-З і 32-Р. Зі сказаного випливає одне
    цікаве наслідок: властивість циклу бути зворотним іншому циклу є
    взаємним, тобто цикл 32-З є зворотним по відношенню до циклу 32-Р. Іншими
    словами, зашифрування блоку даних теоретично може бути виконано за допомогою
    циклу розшифрування, в цьому випадку розшифрування блоку даних мають бути
    виконано циклом зашифрування. З двох взаємно зворотних циклів будь-хто може бути
    використаний для зашифрування, тоді другий повинен бути використаний для
    розшифрування даних, проте стандарт ГОСТ28147-89 закріплює ролі за циклами і
    не надає користувачеві права вибору в цьому питанні.


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

    Схеми базових циклів наведено на малюнках 2а-в. Кожен з них бере в
    Як аргумент і повертає в якості результату 64-бітний блок даних,
    позначений на схемах N. Символ Шaг (N, X) означає виконання основного кроку
    криптоперетворень для блоку N з використанням ключового елемента X. Тим
    циклами шифрування й обчислення імітовставки є ще одна відмінність, не
    згадане вище: в кінці базових циклів шифрування старша і молодша частина блоку
    результату міняються місцями, це необхідно для їх взаємної оборотності.

    Основні режими шифрування.
    ГОСТ 28147-89 передбачає три наступні режиму шифрування даних:

      проста заміна,

      гамування,

      гамування зі зворотним зв'язком,

    і один додатковий режим вироблення імітовставки.



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

    Tо, Tш-масиви відповідно відкритих і зашифрованих даних;
     , - I-ті по порядку 64-бітові блоки відповідно відкритих і зашифрованих
    даних:,?? i? n, останній блок може бути неповним:;
    n-число 64-бітових блоків у масиві даних;
    ЦX-функція перетворення 64-бітного блоку даних за алгоритмом базового циклу
    "X";

    Тепер опишемо основні режими шифрування:
    Проста заміна.
    Зашифрованими в даному режимі полягає в застосуванні циклу 32-З до блоків
    відкритих даних, розшифрування - циклу 32-Р до блоків зашифрованих даних. Це
    найпростіший з режимів, 64-бітові блоки даних обробляються в ньому
    незалежно один від одного. Схеми алгоритмів зашифрування і розшифрування в режимі
    простої заміни наведено на малюнках 3а та б відповідно, вони тривіальні і не
    потребують коментарів.
    Розмір масиву відкритих або зашифрованих даних, що піддається відповідно
    зашифрування або розшифрування, повинен бути кратним 64 бітам: Tо = Tш = 64 · n, після
    виконання операції розмір отриманого масиву даних не змінюється.

    Режим шифрування простою заміною має такі особливості:

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

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

      перший погляд, перераховані вище особливості роблять практично неможливим
      використання режиму простий заміни, адже він може застосовуватися тільки для
      шифрування масивів даних з розміром кратним 64 бітам, що не містить
      повторюваних 64-бітових блоків. Здається, що для будь-яких реальних даних
      гарантувати виконання зазначених умов неможливо. Це майже так, але є
      одне дуже важливе виключення: згадайте, що розмір ключа становить 32 байти,
      а розмір таблиці замін - 64 байти. Крім того, наявність повторюваних
      8-байтових блоків в ключі або таблиці замін буде говорити про їх вельми поганий
      якості, тому в реальних ключових елементах повторення такого бути не
      може. Таким чином ми з'ясували, що режим простої заміни цілком підходить для
      шифрування ключової інформації, тим більше, що інші режими для цієї мети
      менш зручні, оскільки вимагають наявності додаткового синхронізуючого
      елемента даних - сінхропосилкі (див. наступний розділ). Наша здогадка вірна,
      ГОСТ пропонує використовувати режим простої заміни виключно для
      шифрування ключових даних.



    Гамування.

    Як же можна позбутися недоліків режиму простої заміни? Для цього
    необхідно зробити можливим шифрування блоків з розміром менше 64 біт і
    забезпечити залежність блоку шіфротекста від його номера, іншими словами,
    рандомізовані процес шифрування. У ДОСТі це досягається двома різними
    способами в двох режимах шифрування, що передбачають гамування.
    Гамування - це накладення (зняття) на відкриті (зашифровані) дані
    криптографічного гами, тобто послідовності елементів даних,
    вироблюваних за допомогою деякого криптографічного алгоритму, для отримання
    зашифрованих (відкритих) даних. Для накладання гами при зашифрованими та її
    зняття при розшифрування повинні використовуватися взаємно зворотні бінарні
    операції, наприклад, додавання і віднімання за модулем 264 для 64-бітових блоків
    даних. У ДОСТі для цієї мети використовується операція побітне складання по модулю
    2, оскільки вона є зворотною самої себе і до того ж найбільш просто
    реалізується. Гамування вирішує обидві згадані проблеми, по перше, всі
    елементи гами різні для реальних шіфруемих масивів і, отже,
    результат зашифрування навіть двох однакових блоків в одному масиві даних буде
    різним. По друге, хоча елементи гами і виробляються однаковими порціями
    в 64 біта, може використовуватися і частина такого блоку з розміром, що дорівнює розміру
    шіфруемого блоку.

    Тепер перейдемо безпосередньо до опису режиму гамування. Гамма для цього
    режиму отримують у такий спосіб: за допомогою деякого алгоритмічного
    рекурентного генератора послідовності чисел (РГПЧ) виробляються
    64-бітові блоки даних, які далі піддаються перетворенню по циклу 32-З,
    тобто зашифрованими в режимі простої заміни, в результаті виходять блоки
    гами. Завдяки тому, що накладання та зняття гами здійснюється за допомогою
         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

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