Чи проводяться сучасні дослідження щодо реалізації екстракторів випадкових випадків?


20

Чи проводилися дослідження щодо застосування конструкцій витяжки з випадкових випадків?

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

Деякий контекст: Мені цікаво використовувати екстрактори випадковості як швидке джерело (можливо?) Випадкових чисел для використання в моделюваннях Монте-Карло. Ми (група обчислювальної фізики ETHZ) мають упереджені джерела високої ентропії від генераторів квантових випадкових чисел, з яких ми хотіли б отримати випадковість. Попередній студент намагався реалізувати конструкцію Тревісана і зіткнувся з проблемами просторової складності. Окрім цього студента, я не знайшов жодної згадки про людей, які намагаються реалізувати витяжки.

Примітка: Я недооцінений у стилі CS, який є дуже новим у галузі Теоретичної CS та Витяжки випадковості.


Також вам може бути цікавою відповідь арнаба на моє запитання: cstheory.stackexchange.com/questions/36/…
Suresh Venkat

Ось це робоча реалізація: wisdom.weizmann.ac.il/~neko/MAE-offline.html
Дієго де Естрада

Відповіді:


19

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

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

Якщо у вас є кілька незалежних джерел , тоді ви можете робити краще. Класична витяжка Адамара працює, якщо коефіцієнт ентропії перевищує 50% (це слід зазначити в опитуваннях вище). Якщо ентропія менше 50%, тоді у нас була одна проста конструкція з Імпальязцо та Вігдерсоном . Залежність між кількістю джерел та похибкою, досягнутою від швидкості ентропії, не є ідеальною, хоча, щоб реально зрозуміти це, вам потрібно буде переглянути точні межі, що задаються сьогоднішніми сучасними теоремами про суми мистецтва. (І якщо ви готові припустити певну кількість теоретичних гіпотез, ви можете отримати ще більш ефективні витяжки.) Цю конструкцію значно вдосконалили різними способами, деякі з яких можуть бути відповідні вашій заявці.Дисертація Анупа Рао .


Дякуємо за добре написану відповідь / огляд. Я переглянув папір TRNG, яку ви написали з Шалтіелем та Тромером. Це виглядає досить перспективно. Мені було цікаво, чи веб-сторінка паперу (та код реалізації) доступна будь-де, оскільки цитується посилання ( people.csail.mit.edu/tromer/trng ) у статті не містить жодної інформації про неї.
Філіп Матес

6

Перш за все, дивіться відповідну тему у Вікіпедії. По-друге, ви можете подивитися наступний документ:

Останні розробки в явних конструкціях витяжок Ронена Шалтіеля.

Документ написаний у формі опитування і може допомогти вам знайти "останні події".

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


1
Дякуємо за пропозицію та посилання хешування. У посиланнях я не бачив жодної згадки про людей, які намагалися реалізувати витяжки. Мені дуже цікаво, чи намагаються це зробити. Більшість робіт, які я читав, згадують практичне застосування витяжок, але не мають посилання на будь-які спроби реалізації. Мені кажуть, що причиною того, що ми уникали хеш-функцій, є те, що вони не є випадково випадковими, що дуже корисно в царині моделювання МС, оскільки псевдо-RNG показали, що часом дають неточні результати [ref: prl. aps.org/abrief/PRL/v69/i23/p3382_1 ]
Phillip Mates

4

Також є приємний документ Додіса, Геннаро та ін. що розглядає практичні криптографічні примітиви, які можна використовувати для видобутку. Вони показують, що хеш-функції, як відомо, не є хорошими екстракторами, однак блоковий шифр в режимі CBC-MAC може бути (з деяким дрібним шрифтом). Вони також розглядають конструкції HMAC. Цей підхід є привабливим для реалізації, оскільки ви можете використовувати стандартні бібліотеки криптографії.

Для CBC-MAC "тонкий шрифт" приблизно:

  • Припускає, що блокшифер - це псуедо-випадкова перестановка
  • Потрібно ввести клавішу по-справжньому випадковим (але не обов'язково секретним) ключем, який можна використовувати повторно
  • Якщо вихід має m біт, вхід повинен мати щонайменше 2 м біт min-ентропії
  • Довжина блоку та довжина ключа повинні бути однаковими (тому якщо ви використовуєте AES, це означає, що працює лише AES-128)
  • Довжина вводу обмежена, але обмежена велика

3

У випадку криптографічного псевдовипадкового генератора ви також можете заглянути в HKDF . У статті вони концептуально та практично обговорюють витяжки випадковості та дають хороші посилання.

Як побічна примітка для створення випадковості для Монте-Карло, звичайно, HAVEGE . Якщо його бітові швидкості та "доказовість" є достатніми, ви можете уникнути необхідності співати з квантовими генераторами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.