Pull to refresh

Comments 36

криптографическая стойкость
Криптографическая стойкость без физического источника случайных величин? Да вы, видимо, пытаетесь ввести аудиторию в заблуждение.
Понятно, что инициализирующий вектор должен быть ДЕЙСТВИТЕЛЬНО случайным. Уже запущенный генератор, может и реально используется в потоковых шифрах.
Ну если только в потоковых шифрах. Для генерации ключей такие штуки использовать нельзя.
Смотря каких ключей. Если одноразовых сеансовых — почему собственно нет?
Тоже немного позанудствую. На самом деле использовать в криптографических целях сдвиговый регистр в том виде который описан в вашей статье это, скажем так, весьма наивно. Дело все в том, что зная длину регистра l и 2l последовательных бита вышедших из регистра, можно восстановить всю генерируемую регистром последовательность. Именно это «свойство» сдвиговых регистров не позволяет применять их в криптографических целях без дополнительных наворотов, таких, например, как использование нескольких сдвиговых регистров. Выходной бит в схеме с несколькими регистрами получается применением нелинейной булевой функции к выходным битам каждого из используемых регистров.
Весьма познавательно, на самом деле. Как всегда не доходили руки самому разобраться — а вот в таком виде очень интересно было прочесть.
Касательно аппаратной генерации. Читал недавно на Компьютерре, что в процессорах Intel грядущего поколения будет присутствовать генератор настоящих случайных чисел.
Присутствовать он, может, и будет, но когда его начнут поддерживать все компиляторы? Да и о старых программах не стоит забывать.
Я нисколько не усомнился в актуальности вашей статьи, это так, к слову, о светлом будущем…
но когда его начнут поддерживать все компиляторы
А причём тут компилятор вообще? Его должно ядро поддерживать. Далее. Компилятор генерацией случайных чисел вообще не занимается, ей занимается либо стандартная библиотека, либо эти самые значения можно получить от сервисов ОС типа /dev/random (истинно случайные значения) или /dev/urandom (псевдослучайные, но используют биты энтропии из /dev/random. Функции же из стандартной библиотеки можно передать random seed, который для бытовых нужд обычно берут из таймстампа.
Может мы о разных вещах говорим, но именно компилятор транслирует вызов X<-random() в машинные коды. И если в системе команд появляется новая, то именно компилятор должен о ней узнать.
компилятор там совсем не участвует, реализация находится в стандартной библиотеке. там линкер занимается делом :) но вы всеравно с kekekeks'ом о разных вещах говорите.
Стандартная библиотека разве не должна быть предварительно скомпилированной? И разве все языки берут реализацию из стандартной библиотеки?
Пожалуйста, поясните, каким образом появление нового устройства связано с изменением набора инструкций ассемблера?
Он там уже лет десять присутствует в виде аналогового контура и доступен через такую штуку как /dev/random, например.
Вас кто-то жестоко обманул.
Я склонен верить тому, что пишут представители Intel.
Где они такое пишут? Можно ссылочку?
Вообще-то в основе работы /dev/random используется счетчик тактов как источник энтропии.
Да чего её искать, в посте неподалёку перевод есть. Пишут там следующее:
более десяти лет многие из чипсетов нашего производства содержат аналоговый аппаратный генератор случайных чисел
. Кода ядра сейчас под рукой нет, но утром посмотрю на предмет его поддержки в /dev/random. А счётчик тактов не является случайной величиной, если кто не в курсе.
Я почему-то думал, что аппаратные ГСЧ практически не применяются на обычных ПК.
А по поводу счетчика тактов, я немного не так выразился. Используется не сам счетчик как таковой, а счетчик как величина для измерения интервалов между событиями в ядре.
ну как там, с кодом-то? random.c уже отрастил себе новые функции?
Я даже код смотреть не буду, на kernel.org и так всё написано:
The hw_random framework is software that makes use of a
special hardware feature on your CPU or motherboard,
a Random Number Generator (RNG)
. The software has two parts:
a core providing the /dev/hw_random character device and its
sysfs support, plus a hardware-specific driver that plugs
into that core.

To make the most effective use of these mechanisms, you
should download the support software as well. Download the
latest version of the «rng-tools» package from the
hw_random driver's official Web site:

http://sourceforge.net/projects/gkernel/

Those tools use /dev/hw_random to fill the kernel entropy pool,
which is used internally and exported by the /dev/urandom and
/dev/random special files.
Админ системы ставит пакет с демоном, демон пинает ядро, в /dev/random появляется поддержка аппаратного ГСЧ, все счастливы.
>> в /dev/random появляется поддержка аппаратного ГСЧ, все счастливы
FACEPALM.JPG
Это печально, что вы не видите разницы между /dev/hw_random и /dev/random.
И если какие-то левые тулзы *подменяют* A на Б, это никак не означает, что А начинает обладать признаками и свойствами Б.

Интересные же у вас критерии «левости» тулзов. Особенно в контексте вышенаписанного.
Кажется на Хабре была статья об этом.
>Множитель a (a<=0<m);
>a=2

Так a меньше нуля или больше?
Разумеется, имелось в виду 0<=a<m. Спасибо.
ещё если я правильно понял на схеме второго полиноминального счетчика должно быть тоже два отвода, а не три? или я не понимаю как это работает.
UFO just landed and posted this here
И получаемые значения это ничто иное как М-последовательность (mls). А для нее давно известны рекурсивные формулы генерации (хотя на регистрах проще) — что значит имея достаточно входных данных, можно восстановить всю последовательность и структуру генератора — а это уж никак не стойко.
Это то-же самое что и:
>зная 4 подряд идущих числа, криптоаналитик может составить систему уравнений, из которых можно найти a,c,m.
только знать нужно больше подряд идущих чисел. (есть подозрение, что это m чисел)
UFO just landed and posted this here
Но в таком виде как в статье использовать в криптографии такие генераторы я бы не стал.
UFO just landed and posted this here
я был немного не прав не m, a 2*m символов (первые m — это начальное состояние)
Sign up to leave a comment.

Articles