Криптографія
  p>
  p>
 Зміст  p>
  Від автора___________________________________________________________________  b>  p>
  Введеніе____________________________________________________________________  b>  p>
 Термінологія______________________________________________________________  p>
 Вимоги до кріптосістемам________________________________________________  p>
  Симетричні кріптосістеми________________________________________________  b>  p>
 Перестановкі______________________________________________________________  p>
 Системи подстановок_______________________________________________________  p>
 Гаммірованіе_____________________________________________________________  p>
 Датчики ПСЧ______________________________________________________________  p>
 Стандарт шифрування даних ГОСТ 28147-89_________________________________  p>
  Системи з відкритим ключом________________________________________________  b>  p>
 Алгоритм RSA_____________________________________________________________  p>
 Криптосистема Ель-Гамаля__________________________________________________  p>
 Криптосистеми на основі еліптичних уравненій____________________________  p>
  Електронна подпісь________________________________________________________  b>  p>
 Електронний підпис на основі алгоритму RSA________________________________  p>
 Цифрова сігнатура________________________________________________________  p>
  Управління ключамі________________________________________________________  b>  p>
 Генерація ключей_________________________________________________________  p>
 Накопичення ключей________________________________________________________  p>
 Розподіл ключей______________________________________________________  p>
  Проблеми і перспективи криптографічних сістем__________________________  b>  p>
 Шифрування великих повідомлень і потоків данних_____________________________  p>
 Використання "блукаючих ключів "________________________________________  p>
 Шифрування, кодування і стиснення інформаціі_______________________________  p>
 Реалізація криптографічних методов_______________________________________  p>
  Заключеніе________________________________________________________________  b>  p>
Від автора
 Ця книга - короткий вступ до криптографію. З одного боку, тут викладено матеріал, який відповідає на
багато питань, які виникають у тих хто робить на ниві цій науці перший крок, з іншого боку тут є той мінімум інформації, який достатній для
того, щоб самостійно оцінювати будь-які реальні криптосистеми або навіть створювати свої власні.  p>
 Мова книги робився по можливості доступним, але не звільняє Читача від необхідності володіння елементарними
основами математики, зокрема алгебри та теорії груп і полів.  p>
 Багато питань на жаль залишилися за обкладинками цієї книги. Зокрема після довгих сумнівів Автор вирішив
відмовитися від розгляду DES, зважаючи на його крайній непрактичності і нетовариська на російському грунті [1].  p>
 Масу корисної інформації можна знайти на сервері ftp.rsa.com. У faq5.doc Ви якщо і не знайдете відповідь на будь-яке питання по
криптографії, то спостерігається велика кількість посилань на інші джерела.  p>
 Автор буде вдячний за будь-які зауваження та питання, які найпростіше направити за адресою: [email protected]  p>
 Баричев Сергій  p>
  p>
Введення
 Проблема захисту інформації шляхом її перетворення, що виключає її прочитання сторонньою особою хвилювала
людський розум з давніх часів. Історія криптографії - ровесниця історії людської мови. Більш того, спочатку писемність сама по собі була
криптографічного системою, тому що в древніх суспільствах нею володіли лише обрані. Священні книги Стародавнього Єгипту, Стародавньої Індії тому приклади.  p>
 З широким поширенням писемності криптографія стала формуватися як самостійна наука. Перші
криптосистеми зустрічаються вже на початку нашої ери. Так, Цезар у своєму листуванні використовував вже більш менш систематичний шифр, який отримав його ім'я.  P>
 Бурхливий розвиток криптографічні системи одержали в роки першої та другої світових воєн. Починаючи з
післявоєнного часу і по нинішній день поява обчислювальних засобів прискорило розробку та вдосконалення
криптографічних методів.  p>
 Чому проблема використання криптографічних методів у інформаційних системах (ІС) стала в даний
момент особливо актуальна?  p>
 З одного боку, розширилося використання комп'ютерних мереж, зокрема глобальної мережі Інтернет,
по яких передаються великі обсяги інформації державного, військового, комерційного і приватного характеру, що не допускає
можливість доступу до неї сторонніх осіб.  p>
 З іншого боку, поява нових потужних комп'ютерів, технологій
мережних і нейронних обчислень зробило можливим дискредитацію криптографічних систем ще недавно вважалися практично не розкривається.  p>
 Проблемою захисту інформації шляхом її перетворення займається кріптологія (kryptos
- Тай-ний, logos - нау-ка). Криптология розділяється на два напрямки
- Криптографію і криптоаналіз. Мета цих напрямків прямо протилежні.  P>
 Криптографія займається пошуком і дослідженням математичних
методів перетворення інформації.  p>
 Сфера інтересів криптоаналізу - дослідження можливості розшифровки
інформації без знання ключів.  p>
 У цій книзі основна увага буде приділена криптографічних методів.  p>
 Сучасна криптографія містить у собі чотири великі розділу:  p>
 1. Симетричні криптосистеми.  P>
 2. Криптосистеми з відкритим ключем.  P>
 3. Системи електронного підпису.  P>
 4. Управління ключами.  P>
 Основні напрямки використання криптографічних методів - передача конфіденційної інформації з каналів зв'язку (наприклад, електронна
пошта), встановлення автентичності переданих повідомлень, зберігання інформації (документів, баз даних) на носіях у зашифрованому вигляді.  p>
Тер-мі-но-ло-гія
 Отже, криптографія дає можливість перетворити інформацію таким чином, що її прочитання (відновлення) можливе тільки при
знанні ключа.  p>
 У якості інформації, що підлягає шифрування і дешифруванню, будуть розглядатися тексти, побудовані на деякому алфавіті.
Під цими термінами розуміється наступне.  P>
 Алфавіт - кінцеве безліч використовуваних для кодування інформації знаків.  p>
 Текст - впорядкований набір з елементів алфавіту.  p>
 Як приклади алфавітів, що використовуються в сучасних ІС можна навести наступні:  p>
 · алфавіт Z33 - 32 літери російського алфавіту і пробіл;  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>
  p>
  p>
  p>
 Ключ - інформація, необхідна для безперешкодного шифрування і дешифрування
тек-стів.  p>
 Криптографічний система являє собою сімейство  T  b> перетворень
від-даху-то-го тек-ста. Члени цього сімейства індексуються, або позначаються символом k; параметр k є ключем. Про-країн-ст-во
ключів K - це набір можливих значень ключа. Зазвичай ключ являє собою послідовний ряд букв алфавіту.  p>
 Криптосистеми розділяються на симетричні і з відкритим ключем.  p>
 У симетричних криптосистемах і для шифрування, і для дешифрування використовується один і той же ключ.  p>
 У системах з відкритим ключем використовуються два ключі - відкритий і закритий, які математично пов'язані один з
одним. Інформація шифрується за допомогою відкритого ключа, що доступний усім бажаючим, а розшифровується за допомогою
закритого ключа, відомого тільки одержувачу повідомлення.  p>
 Терміни розподіл ключів і керування ключами відносяться до процесів системи обробки інформації,
змістом яких є складання і розподіл ключів між користувачами.  p>
 Електронної (цифровий) підписом називається що приєднуються до тексту його
криптографічне перетворення, яке дозволяє при отриманні тексту іншим користувачем перевірити авторство і достовірність повідомлення.  p>
 криптостійкості називається характеристика шифру, що визначає
його стійкість до дешифруванню без знання ключа (тобто криптоаналіз). Є декілька показників криптостійкості, серед яких:  p>
 · кількість всіх можливих ключів;  p>
 · середній час, необхідний для криптоаналізу.  p>
 Перетворення Tk визначається відповідним алгоритмом і значенням параметра 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>
Перестановки
 перестановкою s набору цілих чисел (0,1 ,..., N-1) називається його переупорядоченіе. Для
того, щоб показати, що ціле i переміщено з позиції i в позицію s (i), де 0