Чи застосовуються на практиці теоретично обгрунтовані псевдовипадкові генератори?


17

Наскільки мені відомо, більшість реалізацій генерації псевдовипадкових чисел на практиці використовують такі методи, як регістри зворотного зв'язку з лінійним зсувом (LSFR) або ці алгоритми "Mersenne Twister". Хоча вони проходять безліч (евристичних) статистичних тестів, немає ніяких теоретичних гарантій того, що вони виглядають псевдовипадковими, скажімо, для всіх ефективно обчислюваних статистичних тестів. І все-таки ці методи застосовуються без розбору у всіляких додатках, починаючи від криптографічних протоколів до наукових обчислень і закінчуючи банківською діяльністю (ймовірно). Мені здається трохи занепокоєнням, що у нас майже немає жодних гарантій щодо того, чи працюють ці програми за призначенням (тому що будь-який аналіз, швидше за все, сприйняв би справжню випадковість як вхідний).

З іншого боку, теорія складності та криптографія дають дуже багату теорію псевдовипадковості, і ми навіть маємо кандидатські конструкції псевдовипадкових генераторів, які б обдурили БУДЬ-які ефективні статистичні випробування, які ви могли б придумати, використовуючи кандидатурні функції.

Моє запитання: чи ця теорія пробилася на практиці? Я би сподівався, що для важливих випадків використання випадкових випадків, таких як криптографія або наукові обчислення, теоретично використовуються ПРГ.

Як осторонь, я міг би знайти деякий обмежений аналіз того, наскільки добре популярні алгоритми, такі як кваксор, працюють при використанні LSFR в якості джерела випадковості, і, очевидно, вони працюють добре. Див. "Рандомізовані алгоритми та псевдовипадкові числа" Карлофа та Рагавана .


3
Навіть є універсальна PRG - це безпечно, якщо існують захищені PRG.

Ви маєте на увазі криптографічні PRG? Якщо так, то чи не знаємо ми, що (криптографічні) PRG еквівалентні OWF?
Генрі Юен

2
Так. Розділіть бітове насіння приблизно на к блоки приблизнок біт кожен, запускатикперший [кількість блоків] машини Тюрінга на відповідних блоках до кроків,к2 прокладіть виходи до к+1 біт і вивести xor виходів цих ТМ. (Як і універсальний пошук Левіна, цей не може бути використаний на практиці.)

1
Можливо, більш актуальними для практики є результати, пов'язані з випадковістю, необхідною для хешування: від класичних обмежених сімей незалежності до більш пізніх результатів, таких як Міценмахер-Вадхан (попарна незалежність + деяка ентропія у введенні дає псевдовипадковість, достатню для лінійного зондування та фільтру цвітіння) або Патраску -Результати обчислення хешування таблиць.
Сашо Ніколов

1
"Але ці методи використовуються без розбору у всіляких додатках, починаючи від криптографічних протоколів ...". Я сподіваюся, що не. Mersenne Twisters не слід використовувати для криптографії, оскільки вони не криптографічно сильні, хоча можливі варіанти .
Майк Самуель

Відповіді:


13

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

Математичні докази у нас є різними результатами композиції: якщо скласти певні блок-шифри або хеш-функції певними способами, ви можете отримати генератори псевдовипадкових або псевдовипадкові функції. Деякі такі результати широко використовуються на практиці, наприклад, HMAC . Але це правда, що результати, які досягають PRG, і починаються лише з того, що основний компонент - це звичайна одностороння функція, недостатньо ефективний для використання в додатках (і це, принаймні, частково властиво). Отже, зазвичай нам потрібно взяти на себе функцію PRG / stream шифр / блок-шифр / хеш як основний примітив, і почати будувати з нього інші речі. Проблема полягає не в асимптотичному аналізі, оскільки фактично всі криптографічні скорочення (за винятком, можливо, універсальної PRG Левіна) можуть бути конкретизовані і тому давати конкретні гарантії при конкретних припущеннях.

Але, хоча вони не ґрунтуються на односторонніх функціях, є сенс, в якому такі конструкції, як AES, є "теоретично обгрунтованими", оскільки: (1) Існують формальні припущення щодо їх безпеки. (2) Існує робота, щоб спробувати спростувати ці здогадки, а також отримати наслідки з них.

Дійсно, люди знають, що для багатьох застосувань не було б розумно використовувати такі PRG, як LSFR, які не задовольняють (1) та (2) вище.


1
Я здогадуюсь, що ви хотіли прив’язати до однієї з робіт Джонатана Каца на його веб-сторінці. Btw, ви хочете, щоб ми об'єднали це з вашим іншим обліковим записом ?
Каве

9

Ви начебто плутаєте теорію з практикою. Теоретично звуковий псевдовипадковий генератор погано підходить для практичного використання з кількох причин:

  • Це, мабуть, дуже неефективно.
  • Доказ безпеки є лише асимптотичним, тому для конкретного використовуваного параметра захисту генератор псевдовипадкових випадків може бути легко зламаним.
  • Усі докази безпеки є умовними, тому в певному сенсі це навіть не задовольняє поняття теоретичної безпеки.

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

Для криптографічного використання люди намагаються бути розумнішими. На даний момент ваша критика має сенс: ми не можемо знати, що певний використовуваний псевдовипадковий генератор є "безпечним", і справді деякі старі з них були зламані, наприклад RC4, як використовується у WEP. Однак із зазначених вище причин використання теоретично (умовно) псевдовипадкового генератора звуку, на жаль, не є реалістичним рішенням. Натомість криптологічне співтовариство покладається на "експертну оцінку" - інші дослідники, які намагаються "зламати" систему (їх визначення того, коли зламається шифр, дуже широке).

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


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

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

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


Дякую за вашу відповідь, Ювал. Однак я не вірю повністю, що конструкції псевдовипадкових генераторів з криптографії недоцільно неефективні. Наскільки я бачу, ніхто цього не робив.
Генрі Юен

2
Я також не погоджуюся з твердженням про те, що стандартних генераторів псевдовипадкових вистачає для "повсякденних цілей". Як показав останній документ "Рон помилявся, Уіт мав рацію", дефектна генерація псевдовипадкових випадків призвела до збентеження вразливості для незначної кількості людей. Цей конкретний аналіз був досить простим; скільки програм "реального світу" можуть зазнати більш вразливих вразливих ситуацій, оскільки LSFR не є адекватним? Якщо додані обчислювальні витрати, необхідні для теоретично обгрунтованих PRG, не так багато, чому б не використати їх?
Генрі Юен

1
@HenryYuen LSFR не використовуються для криптографічних додатків у жодній гідній сучасній системі. (Звичайно, там є погано розроблені системи, такі як GSM, який викладають на вступних курсах, як цього не робити.) Проблеми, знайдені в документі "Рон був неправий, Уайт прав", були не з якістю. самих PRNG, але з якістю збирання ентропії.
Жил "ТАК - перестань бути злим"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.