Криптографія
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>
Криптографічний система являє собою сімейство 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>
Перестановки
перестановкою s набору цілих чисел (0,1 ,..., N-1) називається його переупорядоченіе. Для
того, щоб показати, що ціле i переміщено з позиції i в позицію s (i), де 0