Криптографічна стійкість

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

Типи криптостійких систем шифрування[ред.ред. код]

Абсолютно стійкі системи[ред.ред. код]

Доказ існування абсолютно стійких алгоритмів шифрування було виконано Клодом Шенноном і опубліковано в роботі «Теорія зв'язку в секретних системах».[1] Там же визначено вимоги до такого роду систем:

  • ключ генерується для кожного повідомлення (кожен ключ використовується один раз)
  • Ключ статистично надійний (тобто ймовірності появи кожного з можливих символів рівні, символи в ключовий послідовності незалежні і випадкові)
  • Довжина ключа дорівнює або більше довжини повідомлення
  • Вихідний (відкритий) текст має деяку надмірність (є критерієм оцінки правильності розшифрування)

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

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

Досить стійкі системи[ред.ред. код]

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

У кожному конкретному випадку можуть існувати додаткові критерії оцінки стійкості.

Оцінка криптостійкості систем шифрування[ред.ред. код]

Початкова оцінка[ред.ред. код]

Оскільки атака методом грубої сили (повним перебором всіх ключів) можлива для всіх типів криптографічних алгоритмів, крім абсолютно стійких «по Шеннону», для новоствореного алгоритму вона може бути єдиною існуючою. Способи її оцінки грунтуються на обчислювальній складності, яка потім може бути виражена у часу, грошах, і необхідній продуктивності обчислювальних ресурсів, наприклад, в MIPS. Ця оцінка поки є максимальною і мінімальною одночасно.

Поточна оцінка[ред.ред. код]

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

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

Важливість тривалої перевірки і відкритого обговорення[ред.ред. код]

Чим більш тривалим і експертним є аналіз алгоритму і реалізацій, тим більше достовірної можна вважати його стійкість. У кількох випадках тривалий і уважний аналіз приводив до зниження оцінки стійкості нижче прийнятного рівня (наприклад, в чорнових версіях FEAL). Недостатня перевірка (на думку багатьох криптографів — штучне ослаблення) алгоритму потокового шифрування А5/1 привела до успішної атаки.

Примітки[ред.ред. код]

Посилання[ред.ред. код]

Література[ред.ред. код]

  • Книга: Мао В.: Сучасна криптографія. Теорія і практика
  • Книга: Фергюсон Н., Шнайер Б.: Практична криптографія

Див. також[ред.ред. код]