Перейти к содержанию
    

Генератор случайных чисел на STM32

On 5/10/2024 at 5:41 PM, mplata said:

А если после ксора будут одинаковые ключи? 

Вероятность этого очень мала..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, blackfin said:

У xor'а нет никаких ключей. Это булева операция - "исключающее или": a = b^c.

Я про то что мы ксорим две части ключа и получаем половинный ключ (нужной длины).  Затем с новым ключом делаем тоже самое. И так далее. Так вот не получится ли что в новой отксоренной последовательности встретятся одинаковые ключи? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/10/2024 at 5:45 PM, mplata said:

Я про то что мы ксорим две части ключа и получаем половинный ключ (нужной длины).  Затем с новым ключом делаем тоже самое. И так далее. Так вот не получится ли что в новой отксоренной последовательности встретятся одинаковые ключи? 

Вероятность такого совпадения равна: 2128.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, blackfin said:

Вероятность такого совпадения равна: 2128.

А в SHA-3 эта вероятность получается 2^-256? Неужели нет алгоритма в котором первые 10^8 не повторяются гарантированно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/10/2024 at 5:51 PM, mplata said:

А в SHA-3 эта вероятность получается 2^-256?

Да, если использовать все 256 бит.

 

On 5/10/2024 at 5:51 PM, mplata said:

Неужели нет алгоритма в котором первые 10^8 не повторяются гарантированно?

В любом поле Галуа GF(2^N) на основе примитивного полинома степени N первые 2^N не повторяются гарантированно.

Для N = 28 это дает период повторения примерно равный: 2.68*10^8.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 minutes ago, blackfin said:

Да, если использовать все 256 бит.

 

В любом поле Галуа на основе примитивного полинома степени N первые 2^N-1 не повторяются гарантированно.

Для N = 28 это дает период повторения: 2.68*10^8.

А есть где то почитать про это? И примеры построения таких последовательностей. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/10/2024 at 6:33 PM, mplata said:

А есть где то почитать про это? И примеры построения таких последовательностей. 

Р. Блейхут, "Теория и практика кодов, контролирующих ошибки", Мир, 1986.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

57 минут назад, mplata сказал:

А в SHA-3 эта вероятность получается 2^-256? Неужели нет алгоритма в котором первые 10^8 не повторяются гарантированно?

Выдели из 28 из 128 бит на счетчик(1,2,...100000000), а остальные 100 бит на абсолютно любое случайное число и повторений не предвидится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если код генерируется в одном месте как страховка запоминать те коды которые уже были заданы. коллеги делали хешем и особо не заморачивались

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, blackfin сказал:

Для N = 28 это дает период повторения примерно равный: 2.68*10^8.

Что примерно на 100 десятичных порядков меньше чем у "Вихря Мерсенна".  :wink:

14 часов назад, blackfin сказал:

Вероятность такого совпадения равна: 2128.

Сомнительное утверждение. Чем оно обосновано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/11/2024 at 7:38 AM, jcxz said:

Что примерно на 100 десятичных порядков меньше чем у "Вихря Мерсенна".

Это не инженерный подход.

Грамотное решение любой инженерной задачи подразумевает оптимальное использование ресурсов. Не нужна никакая избыточность.

Нужно использовать ровно столько ресурсов, сколько требуется для решения технической задачи. Ни больше ни меньше.

И 100 десятичных порядков здесь явно не нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

49 минут назад, blackfin сказал:

Это не инженерный подход.

Грамотное решение любой инженерной задачи подразумевает оптимальное использование ресурсов. Не нужна никакая избыточность.

Нужно использовать ровно столько ресурсов, сколько требуется для решения технической задачи. Ни больше, не меньше.

И 100 десятичных порядков здесь явно не нужны.

Не понятно, что вообще нужно топикстартеру.

Изменено пользователем A.V.Avtomat

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

Изменено пользователем A.V.Avtomat

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 минут назад, blackfin сказал:

Это не инженерный подход.

Грамотное решение любой инженерной задачи подразумевает оптимальное использование ресурсов. Не нужна никакая избыточность.

Нужно использовать ровно столько ресурсов, сколько требуется для решения технической задачи. Не больше, не меньше.

Грамотным является хотя бы прочитать то, что пишут оппоненты. А вы видимо даже не читали то, что я предложил.

Если бы прочитали, то уяснили бы что:

Цитата

Вихрь Мерсенна генерирует псевдослучайные последовательности чисел с периодом равным одному из простых чисел Мерсенна, отсюда этот алгоритм и получил своё название и обеспечивает быструю генерацию высококачественных по критерию случайности псевдослучайных чисел.

Т.е. - период 4,3•106001 (о котором я писал) - это не константа. И можно выбрать свой период, наиболее удобный. Из ряда простых чисел Мерсенна. Ряд этот имеется по приведённой мною ссылке. Например в нём есть число = 170141183460469231731687303715884105727. (что даёт разрядность = ln(170141183460469231731687303715884105727)/ln(2) = ~127 бит).

Т.е. - реализуем Вихрь Мерсенна с базой = 170141183460469231731687303715884105727 и получаем период = ~2^127. И этот период математически обоснован, а не голословное утверждение.

ТСу 2^127 вроде как - вполне достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...