- •1. Шифрування та кодування.
- •2. Стеганографія та криптографія.
- •3. Алгоритми та протоколи.
- •4. Шифрування методом Цезаря.
- •5. Зламування методу Цезаря.
- •6. Криптостійкість шифрів
- •7. Шифрування методом простої підстановки
- •8. Статистичні властивості мови. Зламування методу простої підстановки.
- •9. Поліалфавітні шифри (Гронсфелда, Трітеніуса, Віженера)
- •10. Зламування методу Віженера.
- •11. Криптостійкість ключів.
- •12. Перестановочні шифри. Статистичні властивості криптограм перестановок.
- •13.Шифри збивання. Лінійні перетворення.
- •14. Одноразові блокноти. Формування випадкової псевдопослідовності.
- •15. Комбінація шифрів. Стандарт шифрування des.
- •16. Асиметрічна криптографія.
- •17. Метод Райвеста-Шамира-Адлемана (rsa)
- •18. Методи генерації простих чисел.
- •19. Перевірка чисел на взаємну простоту (розширений алгоритм Евкліда)
- •20. Знаходження секретного ключа (рівняння Діофанта)
- •21. Шифрування методом rsa (дискретне піднесення до степеня)
- •22. Розшифрування криптограм rsa.
- •23. Дискретне логарифмування.
- •24. Метод Ель-Гамаля.
- •25. Розшифровування криптограм Ель-Гамаля.
- •26. Аутентифікація користувача. Цифровий підпис.
- •27. Забезпечення цілісності інформації. Алгоритми хешування.
- •Основные характеристики sha
- •28. Забезпечення доступності інформації. Протоколи обміну паролями.
- •29. Класифікація криптографічних методів.
3. Алгоритми та протоколи.
Криптосхемой или криптоалгоритмом будем называть собствен но алгоритм шифрования, имитозащиты, и других криптографических функций.
Криптографическим протоколом будем называть набор правил и процедур, определяющий использование криптоалгоритма. Криптосистема*представляет собой совокупность криптосхемы, протоколов и процедур управления ключами, включая изготовление и распространение. Эти определения не претендуют на строгость и не позволяют провести четкую границу между криптоалгоритмом и протоколом. Так, хэш-функция:
у = F( z , х ) + х
где F — криптопреобразование с известным ключом z, может рассматриваться и как самостоятельный криптоалгоритм, и как протокол, использующий преобразование F. Однако для дальнейшего изложения этих определений достаточно.
Принято различать криптоалгоритмы по степени доказуемости их безопасности. Существуют безусловно стойкие, доказуемо стойкие и предположительно стойкие криптоалгоритмы.
Безопасность безусловно стойких криптоалгоритмов основана на доказанных теоремах о невозможности раскрытия ключа. Примером безусловно стойкого криптоалгоритма является система с разовым использованием ключей (шифр Вернама) или система квантовой криптографии, основанная на квантовомеханическом принципе неопределенности.
Стойкость доказуемо стойких криптоалгоритмов определяется сложностью решения хорошо известной математической задачи, которую пытались решить многие математики и которая является общепризнанно сложной. Примером могут служить системы Диффи-Хеллмана или Ривеста-Шамира-Адельмана, основанные на сложностях соответственно дискретного логарифмирования и разложения целого числа на множители.
Предположительно стойкие криптоалгоритмы основаны на сложности решения частной математической задачи, которая не сводится к хорошо известным задачам и которую пытались решить один или несколько человек.
Примерами могут криптоалгоритмы ГОСТ 28147-89, DES, FEAL.
К сожалению безусловно стойкие криптосистемы неудобны на практике (системы с разовым использованием ключа требуют большой защищенной памяти для хранения ключей, системы квантовой криптографии требуют волоконно-оптических каналов связи и являются дорогими, кроме того, доказательство их безопасности уходит из области математики в область физики).
Достоинством доказуемо стойких алгоритмов является хорошая изученность задач, положенных в их основу. Недостатком их является невозможность оперативной доработки криптоалгоритмов в случае появления такой необходимости, то есть жесткость этих криптоалгоритмов, Повышение стойкости может быть достигнуто увеличением размера математической задачи или ее заменой, что, как правило, влечет цепь изменений не только в шифрованной, но и смежной аппаратуре.
Предположительно стойкие криптоалгоритмы характеризуются сравнительно малой изученностью математической задачи, но зато обладают большой гибкостью, что позволяет не отказываться от алгоритмов, в которых обнаружены слабые места, а проводить их доработку.