Скільки часу знадобиться, щоб зламати 1024-бітну зашифровану електронну пошту OpenPGP?


9

Для WPA є калькулятори, які визначають час, необхідний для розлому парольної фрази, але я не знайшов нічого для OpenPGP.

Скільки часу знадобиться, щоб зламати 1024-бітну зашифровану електронну пошту OpenPGP (залежно від потужності процесора)?

Мене також цікавлять інші розміри клавіш, такі як 2048 та 4096.

Відповіді:


7

Хоча відповідь @Jens Erat була досить вичерпною, я робив дослідження злому RSA (алгоритму, що стоїть за OpenPGP), тому я хотів висловити свою думку:

Я перерву норму і дам TL; DR спершу: Ви не можете зламати цей ключ. Якщо ми дивимось на це реально, то немає способу розподілити 1024-бітове ціле число. Вашою найкращою можливою ставкою буде спроба зламати якусь іншу частину ланцюга безпеки (наприклад, робочий стіл, де одержувач перевіряє свою електронну пошту).

Коли реалістичність не виходить, давайте розглянемо можливі стратегії:

  • Сліпе вгадування / грубе насильство. При 1024-бітовому напівпримірі мало шансів, що це коли-небудь спрацює. Було б краще використовувати свій час випадковим чином, намагаючись відгадати числа лотереї.

  • Створення таблиці веселки. Візьміть здогадки з факторингу, взявши кожне просте значення під 2 ^ 1024 і помноживши його на кожне інше просте, зберігаючи результат у таблиці. Тоді все, що вам доведеться зробити, - це знайти правильну пару. Як ви можете собі уявити, це теж неможливо. Це передбачає х! пари на х кількість простих чисел. За функцією підрахунку простих чисел ви дивитесь приблизно на 2,95 * 10 ^ 307 праймів - для порівняння, підрахували, що кількість атомів в одержимому Всесвіті знаходиться на величині 10 ^ 83, тож навіть якщо ми могли б змусити кожен атом зберігати два прайми та їхній продукт таким чином, як наш комп'ютер міг би індексувати це було б неможливо.

  • Скористайтеся полем для сит із загальним номером . GNFS - це найкраща ставка, яка має великий коефіцієнт напівприйняття. Його використали Кляйнджунг та його команда для підключення RSA-768, 768-бітового напівприміру. На жаль, на його команду знадобилося більше трьох років, і це на порядок менше, ніж кількість, яку ви хочете врахувати. Навіть якби ви витратили мільйони доларів (на день), орендуючи найпопулярніші суперкомп'ютери на повну потужність, було б майже неможливо підрахувати їх кількість. Перший крок GNFS - знайти достатню кількість "відносин", які дозволять вирішити підпрограми, і це може зайняти дуже багато часу.

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


20

По-перше, я припускаю, що ви говорите про шифрування RSA 1024 біт.

Як правило, тема є надто складною для надання простого числа.

tl; dr : Злом шифрованого OpenPGP повідомлення в одному процесорі неможливий, і, ймовірно, потрібні роки навіть при великих обчислювальних кластерах. І все ж невідомі (для широкого загалу) математичні недоліки можуть змінити це на порядок, як це можуть зробити квантові комп'ютери в якийсь час у майбутньому (далеко з точки зору "епохи Інтернету").

Трохи довша версія:

Зламування асиметричного шифрування (розрядний ключ RSA 1024)

Крім RSA 1024 бітових клавіш, це стосується і великих розмірів клавіш. Більші клавіші забезпечують більшу безпеку (у вигляді обчислювальної потужності для їх зламування), але пам’ятайте, що захист не збільшується лінійно з розміром ключа.

На обміні стека інформаційної безпеки є приємний пост "Як оцінити час, необхідний для злому шифрування RSA?" , що не завершується оцінкою на кшталт "Використовуючи модель Core i7 xy, ви зможете зламати 1024-бітний ключ RSA за орієнтовну кількість годин", але відповіді узгоджуються: "RSA 1024 бітові ключі не можуть бути зламані особами із звичайною доступною обчислювальною потужністю (тобто, жменькою висококласних машин) за розумний час.

Обговорення розбиття 1024 бітових клавіш із значно більшою обчислювальною потужністю розглядалося лише з академічної точки зору:

Нещодавно я дізнався, що вибір параметрів для 1024-розрядної факторизації чисел розпочався (це "розумна" частина); просіювання технічно здійсненне (це буде дорого і вимагатиме років часу на обчислення в багатьох університетських кластерах), але, на даний момент, ніхто не знає, як зробити лінійну частину скорочення для 1024-бітного цілого числа. Тому не очікуйте, що незабаром перерва на 1024 біт.

Це, мабуть, стосується і великих, добре фінансуваних установ з великою кількістю обчислювальної потужності, як АНБ.

Все може швидко змінитися, якщо

Для DSA / ElGamal справи дещо інакше. Ключ DSA однакового розміру ключа RSA забезпечує більшу безпеку, але в той же час DSA є більш вразливим до поганих випадкових чисел (порівняйте з вадою генератора випадкових чисел Debian ). Криптографія еліптичної кривої, яка є в майбутньому для OpenPGP, ще не має відомих атак для підтримуваних алгоритмів і, як правило, вважається безпечною, але є певні сумніви, особливо на кривих, рекомендованих NIST (NIST втратив досить репутацію для створення зламаного випадкового генератор чисел стандартний), а також деякі реалізовані нітпіки.

Крекінг симетричного шифрування

Для расонів продуктивності OpenPGP використовує гібридне шифрування, таким чином повідомлення шифрується симетричним шифруванням та випадковим симетричним ключем (у OpenPGP, який часто називають "сеансовим ключем"). Цей ключ сеансу знову шифрується за допомогою алгоритму асиметричного шифрування, наприклад. RSA.

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

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

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


Я маю запитати ... чи неправильне написання "асиметричного" умисного?
David Z

Ні, звичайно ні; не було "спільним". Дякуємо, що повідомили мене.
Єнс Ерат

Не існує такого поняття, як "ключ DES такого ж розміру, як ключ RSA". DES використовує 56-бітні клавіші, період . Він визначається лише 56-бітовими клавішами; ви не можете запустити DES з будь-яким іншим розміром ключа. Він також не вразливий до поганих випадкових чисел, оскільки DES не використовує випадкових чисел у будь-якій точці алгоритму (а також будь-який інший блок-шифр примітивний); особливе його використання може включати випадковий аспект (наприклад, IV для режиму CBC повинен бути випадковим), але сам DES є повністю детермінованим. DES також більше не використовується (потрійний DES буває зрідка, але сам DES ніколи). Ви впевнені, що хотіли поговорити про DES?
cpast

Звичайно, я цього не хотів. Плутати DES з DSA не повинно було. DES, PGP, RSA, NSA, DSA: Нам потрібно менше трьох літерних абревіатур!
Єнс Ерат

Найбільш 1024-бітні ключі openpgp (на відміну від ssl / tls-клавіш) - це DSA, а не RSA. Я знаходжу безліч дискусій в Інтернеті про розтріскування 1024-бітного RSA, але мало про злом 1024-бітового DSA.
plugwash
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.