информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Где водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 03.05.02 13:57  Число просмотров: 4450
Автор: Serge3 Статус: Незарегистрированный пользователь
Отредактировано 03.05.02 16:25  Количество правок: 3
<"чистая" ссылка>
Здравствуйте,

Несколько комментариев к Вашей статье:

1. Отличная статья и идея хорошая;

2. По моему много "воды", по крайней мере, мне пришлось прилагать некоторые усилия для того, что бы полностью прочесть статью;

3. В статье нет объяснения тому факту, что применяемая оценка энтропии шума при подключенных входах звуковой платы к CD лучше, чем свободно болтающихся. Возможно, применяемая оценка энтропии принимает за шум двух-периодический процесс;

4. Я не понял, есть ли механизм контроля над состоянием входов звуковой платы. А так же что получится, если ФДСЧ будет работать во время воспроизведения CD;

5. Как я понял в "свободной" версии используется длинна внутреннего состояния ПДСЧ и разрядность выходной информации равные 128 бит (RIPEMD-128, RC6), т.е., грубо говоря, соседние значения по 128 бит, связаны между собой 128 битным состоянием, которое получено с ФДСЧ. В коммерческой версии используются дополнительные 160-битные алгоритмы, но т.к. окончательный смеситель 128-битный, то прирост стойкости до 160 бит требует обоснования, которого нет;

6. В статье совершенно не освещён вопрос обнаружения отказов аппаратуры. В тоже время пользователь, использующий ФДСЧ с качеством чисел 2^-128 вправе ожидать, что он, либо выдаст "хорошее" число, либо отказ с аналогичной вероятностью. Модули более высокого уровня не смогут обнаружить отказ ФДСЧ, в принципе;

7. Цена изделия не маленькая, на пример, конкурирующие изделия "Электронный замок Соболь" и "Электронный замок Аккорд-4 АМДЗ" имеют сертификаты ФАПСИ и их цена находится в диапазоне $200 - $250. А у Вас $100 за ПО + цена платы + отсутствие независимого контроля изделия.

P.S.

8. Правильное название российских стандартов ЭЦП: ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001. Они требуют ДСЧ с 256-битным качеством;

9. Было бы не плохо в список литературы поместить ссылки на используемые алгоритмы;

10. В fido7.ru.crypto не очень давно обсуждалась возможность использования звуковой платы в качестве ДСЧ. Вероятно, полезно просмотреть архив и сослаться;

--
LSE, Сергей Леонтьев, Крипто-Про, http://www.CryptoPro.ru
<theory>
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 03.05.02 02:55  
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 18.02.03 19:43  Количество правок: 1
<"чистая" ссылка>
Всем привет, давно я тут уже небыл...

Пару лет назад я сделал subj, теперь вот решил довести до ума: документировать, сослаться на теоретиков, сделать free и commercial версии и т.д.

По этому поводу собственно небольшая бета-версия "статьи", с картинками, тестами и немножко с теорией.

Буду благодарен за отзывы.
http://leo.yuriev.ru

Здесь
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 04.03.03 13:54  
Автор: Anastassia Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А вы как-то устанавливали приоритет авторских прав?
Так чем все закончилось? 21.02.03 12:42  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Идея хороша - зачем использовать шумящие резисторы/диоды, если звуковая плата и так не плохо шумит. Простота реализации и непредсказуемость имеет место быть.
Кто-нибудь пробовал предсказать шум платы, зная шум предыдущего отрезка времени? Сколько бит было угадано? Не больше ли половины? А может быть 0.95?!
И чем плох метод, применяющийся в некоторых системах, суть которого заклюсается в высокоточном измерении времени между нажатием клавиш?
Пользователя просят несколько раз нажать на клавишу, а программа при нажатии на клавишу считывает счетчик тактового генератора (на пентиумах и выше), который инкрементируется с частотой в ~гигагерц. Оставляем младшие несколько бит: 1-8 от каждого считывания.
Так чем все закончилось? 21.02.03 19:07  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
> Идея хороша - зачем использовать шумящие резисторы/диоды,
> если звуковая плата и так не плохо шумит. Простота
> реализации и непредсказуемость имеет место быть.
> Кто-нибудь пробовал предсказать шум платы, зная шум
> предыдущего отрезка времени? Сколько бит было угадано? Не
> больше ли половины? А может быть 0.95?!
:-)
Один "товарищъ" (после пива) сказал "что сейчас, за 5 мин".
Потом сказал что "н-н-да, не так просто", но "на трезвую голову...".
Ну а на зрезвую голову согласился, что "все сводиться к угадыванию данных со звуковой карты", и что это если у карты есть аналоговый вход, то это возможно только в "черном кубе, при абсолютном нуле"...

> И чем плох метод, применяющийся в некоторых системах, суть
> которого заклюсается в высокоточном измерении времени между
> нажатием клавиш?
> Пользователя просят несколько раз нажать на клавишу, а
> программа при нажатии на клавишу считывает счетчик
> тактового генератора (на пентиумах и выше), который
> инкрементируется с частотой в ~гигагерц. Оставляем младшие
> несколько бит: 1-8 от каждого считывания.
Нужно присутствие пользователя, а если нужно сгенерировать 1000 ключей - то и штатный "жматель клавиш".
Есть еще один плюс - генератор работает только в "user mode" на любой ОС , на Java, и на CLR (.NET). Другими словами не нужны права root/администратора для установки драйверов, и следовательно его можно встроить напривер в ActiveX-компонент.
Качество генерируемых чисел не уступает другим решениям.
А не написать ли тебе ~одноразовый блокнот?!! 20.02.03 13:23  
Автор: Cyclamen Persicum Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Идея простая:
Берешь файл случайных чисел,
сохраняешь счетчик,
а использованный кусок все время заполняешь нулями.
А то ведь я и сам напишу,
что тогда будет?
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 07.05.02 16:24  
Автор: ZZZ Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Есть вопрос.

Для применения этого генератора в криптографической сфере требуется сгенегить случайную последовательность при шифровании и повторить ее при расшифровании. Как ее повторить???

Второй вопрос:
Тестирование псевдослучайных последовательностей заключается не только в заверении, мол, тут случайные процессы. Где гарантии (математические)??. (если в статье все строго - прошу прощения).

Третий. Чем алгоритмические методы получения ПСЧ не устраивают? Ведь они могут выдавать равномерные последовательности гарантированного периода. Притом огромного периода. И угадать ее без знания, в нашем случае, ключа - нельзя.
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 07.05.02 17:07  
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 07.05.02 17:17  Количество правок: 1
<"чистая" ссылка>
> Есть вопрос.
>
> Для применения этого генератора в криптографической сфере
> требуется сгенегить случайную последовательность при
> шифровании и повторить ее при расшифровании. Как ее
> повторить???
;-0
Совершенно неверная постановка вопроса. Случайные числа нужны не для этого. RC4 и ему подобные - это совсем другое. RTFM.

> Второй вопрос:
> Тестирование псевдослучайных последовательностей
> заключается не только в заверении, мол, тут случайные
> процессы. Где гарантии (математические)??. (если в статье
> все строго - прошу прощения).
В статье я в принципе изложил свою точку зрения на этот вопрос, но не углюбляясь в теорию, а приведя уже общепринятые понятия.
В конце приведена ссылка на теоретическое исследование этого и близких вопросов: http://citeseer.nj.nec.com/hastad93construction.html (слева сверху есть ссылка на PDF). Если говорить про источник исходной энтропии, то я могу просто вcтавить абзац из статьи. Я могу принять вашу критику что "доказательство случайности" не очевидно, не "ярко", и не твердо.
Но, опять таки, не углуюляясь в теорию, могу сказать - все сведется к утопической (нерешаемой) задачи вычисления кол-ва энтропии в звуке. Поэтому, стоит либо согласиться с тем, что для внешнего наблюдателя шум звуковой карты достаточно сложно предсказуемый процесс. Либо, для полной уверенности в случайности, использовать внешний источник энтропии - например генератор белого шума на основе "noise resistor".

> Третий. Чем алгоритмические методы получения ПСЧ не
> устраивают? Ведь они могут выдавать равномерные
> последовательности гарантированного периода. Притом
> огромного периода. И угадать ее без знания, в нашем случае,
> ключа - нельзя.
Угадать конечно не просто, но иногда возможно.
В общем случае для ПСЧ все равно нужен "кусочек настоящей случайности" для начальной установки. И соответственно прогнозируемость идеального ПСЧ сведется к прогнозируемости его начальной установки. Для "не идеального" ПСЧ "угадываемость" может только увеличиваться.
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 03.05.02 13:57  
Автор: Serge3 Статус: Незарегистрированный пользователь
Отредактировано 03.05.02 16:25  Количество правок: 3
<"чистая" ссылка>
Здравствуйте,

Несколько комментариев к Вашей статье:

1. Отличная статья и идея хорошая;

2. По моему много "воды", по крайней мере, мне пришлось прилагать некоторые усилия для того, что бы полностью прочесть статью;

3. В статье нет объяснения тому факту, что применяемая оценка энтропии шума при подключенных входах звуковой платы к CD лучше, чем свободно болтающихся. Возможно, применяемая оценка энтропии принимает за шум двух-периодический процесс;

4. Я не понял, есть ли механизм контроля над состоянием входов звуковой платы. А так же что получится, если ФДСЧ будет работать во время воспроизведения CD;

5. Как я понял в "свободной" версии используется длинна внутреннего состояния ПДСЧ и разрядность выходной информации равные 128 бит (RIPEMD-128, RC6), т.е., грубо говоря, соседние значения по 128 бит, связаны между собой 128 битным состоянием, которое получено с ФДСЧ. В коммерческой версии используются дополнительные 160-битные алгоритмы, но т.к. окончательный смеситель 128-битный, то прирост стойкости до 160 бит требует обоснования, которого нет;

6. В статье совершенно не освещён вопрос обнаружения отказов аппаратуры. В тоже время пользователь, использующий ФДСЧ с качеством чисел 2^-128 вправе ожидать, что он, либо выдаст "хорошее" число, либо отказ с аналогичной вероятностью. Модули более высокого уровня не смогут обнаружить отказ ФДСЧ, в принципе;

7. Цена изделия не маленькая, на пример, конкурирующие изделия "Электронный замок Соболь" и "Электронный замок Аккорд-4 АМДЗ" имеют сертификаты ФАПСИ и их цена находится в диапазоне $200 - $250. А у Вас $100 за ПО + цена платы + отсутствие независимого контроля изделия.

P.S.

8. Правильное название российских стандартов ЭЦП: ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001. Они требуют ДСЧ с 256-битным качеством;

9. Было бы не плохо в список литературы поместить ссылки на используемые алгоритмы;

10. В fido7.ru.crypto не очень давно обсуждалась возможность использования звуковой платы в качестве ДСЧ. Вероятно, полезно просмотреть архив и сослаться;

--
LSE, Сергей Леонтьев, Крипто-Про, http://www.CryptoPro.ru
Статья и реализация - Генератор истинно случайных чисел на основе шума звуковых карт 07.05.02 16:18  
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 07.05.02 16:22  Количество правок: 1
<"чистая" ссылка>
> Здравствуйте,
>
> Несколько комментариев к Вашей статье:
>

Добрый день, Сергей!

С отъездом у меня пока не получается, напишу почтой.
Поэтому "развлекаюсь" на месте.

>
> 1. Отличная статья и идея хорошая;
>
> 2. По моему много "воды", по крайней мере, мне пришлось
> прилагать некоторые усилия для того, что бы полностью
> прочесть статью;
>

Спасибо.
Без "воды" текст был бы понятен только довольно узкому кругу и не интересен остальным, я постарался его "разбавить" не утонув в теории и не исказив сути.

>
> 3. В статье нет объяснения тому факту, что применяемая
> оценка энтропии шума при подключенных входах звуковой платы
> к CD лучше, чем свободно болтающихся. Возможно, применяемая
> оценка энтропии принимает за шум двух-периодический
> процесс;
>
> 4. Я не понял, есть ли механизм контроля над состоянием
> входов звуковой платы. А так же что получится, если ФДСЧ
> будет работать во время воспроизведения CD;
>

При оценки энтропии я не пытаюсь решить сверх-задачу вычисления кол-ва "истинной энтропии", а только прикидываю насколько похожи полученные биты на явно случайные/неслучайные процессы. Т.е алгоритм прежде всего нацелен на выяснение "есть ли шум или нет", основываясь на том насколько далеко/близко по своим свойствам оцифрованный звук близок к истинному "бело-темлому" шуму. В случае с подключенным внешним источникам звука (CD) в исходном сигнале изменяется большее кол-во бит, и прежде всего именно поэтому алгоритм оценивает кол-во энтропии несколько выше.
На днях я доработаю статью и опишу эти вопросы подробнее.

> 5. Как я понял в "свободной" версии используется длинна
> внутреннего состояния ПДСЧ и разрядность выходной
> информации равные 128 бит (RIPEMD-128, RC6), т.е., грубо
> говоря, соседние значения по 128 бит, связаны между собой
> 128 битным состоянием, которое получено с ФДСЧ. В
> коммерческой версии используются дополнительные 160-битные
> алгоритмы, но т.к. окончательный смеситель 128-битный, то
> прирост стойкости до 160 бит требует обоснования, которого
> нет;

В свободной версии внутреннее состояние генератора описывается 128 битами, в коммерческой 128+160+256. Соотвественно усложняется задача прогнозирования генерируемых чисел и увеличивается период повторения при полном отсутствии внешней энтропии. Кроме этого получается "более ровное" распределение. О буквальном "приросте стойкости" в данном случае говорить по-моему не стоит.

> 6. В статье совершенно не освещён вопрос обнаружения
> отказов аппаратуры. В тоже время пользователь, использующий
> ФДСЧ с качеством чисел 2^-128 вправе ожидать, что он, либо
> выдаст "хорошее" число, либо отказ с аналогичной
> вероятностью. Модули более высокого уровня не смогут
> обнаружить отказ ФДСЧ, в принципе;

Согласен, я вообще не коснулся этого вопроса.
Но, отказ с вероятностью 2^-128 не может обеспечить ни аппаратура (звуковая карта, CPU) ни ОС (Linux/FreeBSD/ W2K, драйвер карты). Говорить о собственной (внутренней) надежности генератора можно только в отношении надежности определения отсутствия исходной энтропии. Я надеюсь что смогу показать, что при соблюдении "спецификации" она будет составлять не более 2^-("количество звуковых семплов в одном цикле" / 2).

> 7. Цена изделия не маленькая, на пример, конкурирующие
> изделия "Электронный замок Соболь" и "Электронный замок
> Аккорд-4 АМДЗ" имеют сертификаты ФАПСИ и их цена находится
> в диапазоне $200 - $250. А у Вас $100 за ПО + цена платы +
> отсутствие независимого контроля изделия.

Конкуренция (пока) в мои планы не входила, я просто решил "выташить на свет" то что было сделано в 1998, чтобы subj не пропал окончательно. Рынок я тоже не исследовал, поэтому цена "потолочная".

> P.S.
>
> 8. Правильное название российских стандартов ЭЦП: ГОСТ Р
> 34.10-94 и ГОСТ Р 34.10-2001. Они требуют ДСЧ с 256-битным
> качеством;
>
Думаю незачем обсуждать чем отличается пара 128-битных случайных чисел, от одного 256-битного.

> 9. Было бы не плохо в список литературы поместить ссылки на
> используемые алгоритмы;
>
Согласен.

> 10. В fido7.ru.crypto не очень давно обсуждалась
> возможность использования звуковой платы в качестве ДСЧ.
> Вероятно, полезно просмотреть архив и сослаться;
>
Не читал, обязательно посмотрю.

> --
> LSE, Сергей Леонтьев, Крипто-Про, http://www.CryptoPro.ru

Летом буду в Москве, как "минимум" в гостях у друзей, зайду и к вам.
Удачи!
Дополнение по поводу обсуждения subj в FIDO 07.05.02 20:34  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
По совету Сергея Леонтьева я прочитал обсужение в fido, накатал post.
http://www.fido-online.com

Копия ниже.
---

Hi All,

В конце 1998 / начале 1999 был реализован subj.
Теперь вот решил довести до ума (подвести теорию, сделать общедоступную версию и т.д.).

По этому поводу небольшая "статья" (рассчитана не только на профессионалов).
http://leo_yuriev.narod.ru

P.S.
Как справедливо заметил Сергей Леонтьев (LSE, www.cryptopro.ru), описываемый
генератор сильно перекликается с обсуждаемым здесь в феврале-марте "источником
случайности".
Поэтому я решил "засветить" subj здесь. Я ни сколько не претендую на
"перво-открывательсво", идея тривиальна и очень давно "летала в воздухе". Hо с
другой стороны хочу заметить, что subj был сделан мной почти три года назад,
совершенно независимо от других реализаций (летом 1999 был добавлен RC6).

Hебольшое обсуждение уже состоялось на форуме http://www.bugtraq.ru/

С Уважением,
Leo
Это для бедных ;-) 03.05.02 10:18  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
То есть, если я задался получить истинно случайные числа, я могу вот так, дёшево и сердито вставить в комп аудюху и вперёд ;-)
Однако, если надо аппаратный генератор случайных чисел, он есть, к примеру, в 810-815 Intel чипсете. Есть тестовая прога к нему, выдаёт 64-битные случайные числа и довольно быстро. Может писать в файло. Наверное, есть и API к девайсу. Енто, по сути, PCI PnP девайс, назвается вроде как Intel Security Hub Controller. И его PGP юзает ;-)
Да? :)) 03.05.02 11:31  
Автор: !mm <Ivan Ch.> Статус: Elderman
<"чистая" ссылка>
А ты купи жутко дорогую аудюху :))
Ты хоть статью-то читал перед тем, как ответ писать? :))
Аппаратный генератор генерит не случайные, а псевдослучайные числа..

> То есть, если я задался получить истинно случайные числа, я
> могу вот так, дёшево и сердито вставить в комп аудюху и
> вперёд ;-)
> Однако, если надо аппаратный генератор случайных чисел, он
> есть, к примеру, в 810-815 Intel чипсете. Есть тестовая
> прога к нему, выдаёт 64-битные случайные числа и довольно
> быстро. Может писать в файло. Наверное, есть и API к
> девайсу. Енто, по сути, PCI PnP девайс, назвается вроде как
> Intel Security Hub Controller. И его PGP юзает ;-)
Да? :)) 06.05.02 16:22  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> А ты купи жутко дорогую аудюху :))
> Ты хоть статью-то читал перед тем, как ответ писать? :))
> Аппаратный генератор генерит не
> случайные, а
> псевдослучайные числа..

Это как понять? Насколько я верю, так именно любые программные генераторы генерят именно псевдослучайные числа. Аппаратный же генератор может содержать в себе микрокод для работы с АЦП и т.п., но в основе своей он имеет некий случайный процесс, типа теплового шума электронных цепей или свет туманности Андромеды ;-)
Да? :)) 23.05.02 16:23  
Автор: tatar_0x4e Статус: Member
<"чистая" ссылка>
> Это как понять? Насколько я верю, так именно любые
> программные генераторы генерят именно
> псевдослучайные числа.
> Аппаратный же генератор может содержать
> в себе микрокод для работы с АЦП и т.п., но в основе своей
> он имеет некий случайный процесс, типа
> теплового шума электронных цепей или свет туманности
> Андромеды ;-)

HandleX, а ты не мог бы поточнее припомнить как эта железка называется? А если вдруг и Programmer's Guide к ней есть, то и на него ссылочку неплохо было бы :)
Ответ по железяке ;-) 30.05.02 15:59  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> HandleX, а ты не мог бы поточнее припомнить как эта железка
> называется? А если вдруг и Programmer's Guide к ней есть,
> то и на него ссылочку неплохо было бы :)

В общем, всё очень просто. Имеем мать на чипсете Intel, начиная с 810-го.
Любая такая мать имеет в себе некий PCI девайс (в чипсете), как IDE-контроллер, например. Называется он Intel Security Hub. Винда (Win9x) его отображает сперва как неизвестное, а потом, когда ставишь дрова на него, появляется с таким гордым названием ;-) С дровами (от Intel) устанавливается также и тестовая прога. Юзаешь её и наслаждаешься видом 64-битных случайных чисел. Можешь записывать их в файло. Дрова на ентот девайс есть практически на любых CD годичной давности, где есть дрова для чипсетов Intel. На самом Intel, наверное, есть API к этим дровам. Ну вот и всё, пожалуй.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach